Commit graph

2465 commits

Author SHA1 Message Date
allcontributors[bot]
3499a700ed
docs: update .all-contributorsrc 2023-10-13 19:56:10 +00:00
allcontributors[bot]
8f7eeed140
docs: update CONTRIBUTORS.md 2023-10-13 19:56:09 +00:00
Fini Jastrow
f7885a147d doc: Make new wiki page on options more prominent
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2023-10-13 20:53:13 +02:00
Finii
1c24cc5d59 [ci] Update FontPatcher.zip 2023-10-13 18:50:39 +00:00
Fini
2870965663
Merge pull request #1300 from ryanoasis/feature/metrics-option
Add option for metrics and boxdrawing
2023-10-13 20:47:42 +02:00
Fini Jastrow
5911f1078f doc: Link help-on-options wiki page [skip ci]
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2023-10-13 14:09:29 +02:00
Fini Jastrow
d2c9e1589e doc: Fix broken link to patcher section in readme
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2023-10-13 14:03:23 +02:00
Fini Jastrow
99f3b20ecf font-patcher: Drop some option alternatives
[why]
It is rather confusing to have so many aliases.

[how]
Remove some long forms and some alternatives, to make the help page
easier to read.

Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2023-10-13 12:42:46 +02:00
Fini Jastrow
9bfe6d165a font-patcher: Sort and regroup help message
[why]
It can be hard to find the 'usual' options in between all the expert
options.

[how]
Regroup the options and sort them alphabetically (most of the time).
Not sure if this helps, but in my personal view this makes it easier.

Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2023-10-13 12:32:12 +02:00
Fini Jastrow
c7b7cc97bb font-patcher: Add option to force patching in box drawing glyphs
[why]
When the original font designer's idea of cell height differs from the
height we deduce the box drawing glyphs come out with the wrong size (if
we do not touch them, for example because the font already has a
complete set).

[how]
Add option that enforces patch-in of the box set.

Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2023-10-13 11:52:27 +02:00
Fini Jastrow
72fb7fb814 font-patcher: Add option to select metrics source
[why]
If the font has contradicting baseline to baseline metrics the patcher
tries to find a sane value and use that. That automatism gets it right
in most cases, but there might be fonts where the user wants a different
metric to be used.

At the moment the use would need to use `font-line` to adjust the
metrics, which is not very convenient.

[how]
Add option to select one of the metricses.
Use that metrics when setting up the patched font.

Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2023-10-13 11:52:27 +02:00
Finii
62f48f3109 [ci] Update FontPatcher.zip 2023-10-07 11:04:52 +00:00
Fini Jastrow
01569cad8e name_parser: Fix weight_string_to_number()
[why]
Some PS weights have a dash in the weight, like 'Extra-Light' in
Iosevka. The parser can not parse it because it expects 'ExtraLight'.

[how]
Filter out all '-' and ' ' from the PS weight string before actually
parsing the string.

Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2023-10-07 13:02:20 +02:00
Fini Jastrow
89f1325205 name_parser: Correct output on weight check
[why]
When the weight check fails for some input the reason is not shown
correctly (i.e. not the string that actually failed).

[how]
Display exactly the failed string in the warning.

Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2023-10-07 13:02:20 +02:00
Fini Jastrow
809101da32 font-patcher: Improve weight checking
[why]
When the font does not have a PSweight string the font-patcher bugs.

[how]
Rewrite the code to be more robust against unexpected weight values.
Also make detected problems non-fatal.

Reported-by: František Hanzlík <frantisek_hanzlik@protonmail.com>
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2023-10-07 13:02:20 +02:00
allcontributors[bot]
3fab6616e5 docs: update .all-contributorsrc 2023-10-07 12:05:20 +02:00
allcontributors[bot]
12ee858eb7 docs: update CONTRIBUTORS.md 2023-10-07 12:05:20 +02:00
Fini Jastrow
1563df5bd7 lib: Clearly mark i_material as obsolete
[why]
The Material Design Icons moved codepoints around the Nerd Fonts v3
transition. In the latest v2.x releases both codepoint ranges were
present, and so we had the MD icons with different names and sets and
codepoints in two different i_*.sh files.

Since the old MD codepoints have been dropped the i_material.sh is not
actively used anymore - well, it is used to create the 'marked as
removed' entries in the cheat sheet.

That has not been properly documented here.

Reported-by: @midnightrocket:gitter.im
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2023-10-03 15:12:16 +02:00
Fini Jastrow
66c6d820a0 lib: Sort files mentioned in readme
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2023-10-03 15:11:23 +02:00
allcontributors[bot]
a8799f8260 docs: update .all-contributorsrc 2023-09-30 15:35:35 +02:00
allcontributors[bot]
2e8d4c9e33 docs: update CONTRIBUTORS.md 2023-09-30 15:35:35 +02:00
František Hanzlík
871dd80977 make patcher's readme wording slightly clearer 2023-09-30 15:35:21 +02:00
František Hanzlík
79c62aca27 fix readme alert syntax 2023-09-30 15:35:21 +02:00
František Hanzlík
ff08a1771a mention patcher family generation in readme 2023-09-30 15:35:21 +02:00
Fini Jastrow
090fbbeebe Sunset in-repo releases
[why]
We struggle with the pack-committing of patched fonts to the repository
on release. This makes our repo grow extremely big. It would be better
to just use release artifacts for the releases and not commit any
patched font back.
There were different approaches discussed, but the problem remains that
I personally have no rights to implement anything of that - neither can
I force push to the default branch, nor can I create new repos in the
organization.

[how]
To make it still possible to add new fonts without a repo size
explosion we do not release NEW fonts back to the repository as commits,
but old fonts are handled as before.
NEW fonts:
 * have a new property set in the fonts.yaml 'database'
 * are released as release artifact via release workflow (but not
   committed back)
 * get a readme in the patched_fonts/ directory that points to the
   release artifact page

The solution is not ideal, but for sure better than not adding any fonts
anymore or having the repo grow in size faster and faster.

At some point in time I would like to phase out all in-repo releases,
also for OLD fonts.

This scheme has been (manually) used / introduced for Intel One.
With this change the .gitignore file is automatically adapted to any new
font that is added with the repoRelease flag set to false (which should
be the default for any added font from now on).

Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2023-09-27 11:20:36 +02:00
Fini Jastrow
e398a3847c install.sh: Honor XDG_DATA_HOME
[why]
When a user sets the XDG_DATA_HOME environment variable the default of
$HOME/.local/share should not be used.

https://wiki.archlinux.org/title/XDG_Base_Directory

[how]
Enable XDG_DATA_HOME to override the default user data directory on Unix
and MacOS platforms.

There is some controversy if XDG_DATA_HOME should be honored on MacOS,
see for example platformdirs (link below). But me also working on Linux
and MacOS (and Windows) in parallel, I can not quite follow the
downsides and believe we should allow XDG_DATA_HOME also for MacOS.

Related: https://github.com/platformdirs/platformdirs/issues/4
Fixes: #1324

Suggested-by: Anthony Foglia <@afoglia>
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2023-09-27 06:04:14 +02:00
Finii
4b11f751a1 [ci] Update FontPatcher.zip 2023-09-27 03:49:13 +00:00
Fini Jastrow
2ce56141db name-parser: Unify quotes used for strings
[why]
We use single quotes everywhere else.
Keep this consistent.

Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2023-09-27 05:46:33 +02:00
Fini Jastrow
99688c40c7 font-patcher: Introduce weight check
[why]
Windows seems to construct the font names including the PS weight.
We have some sourcefonts that are broken (i.e. have in fact different
weights but have the same PS weight and/or OS2 weight.

That raises problems with the fonts on Windows.

[how]
Check and compare all weight metadata (except CID) and issue a warning
if they differ too much. That might fail with unusual weight names,
though.

See Issue #1333 and PR #1358.

Reported-by: LeoniePhiline
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2023-09-27 05:46:33 +02:00
allcontributors[bot]
35259124bd docs: update .all-contributorsrc 2023-09-27 05:22:54 +02:00
allcontributors[bot]
59b1a54103 docs: update CONTRIBUTORS.md 2023-09-27 05:22:54 +02:00
Finii
4c6cabe3fa [ci] Update FontPatcher.zip 2023-09-23 09:28:59 +00:00
Fini Jastrow
3053972f86 font-patcher: Abort if fontforge did not generate patched font
[why]
Under certain circumjstances Fontforge can not create a font. As the API
does not give any feedback we trudge along afterwards giving confusing
messages.

One example is when the patched font contains too many glyphs.

[how]
Check if the patched font has indeed been generated and is not empty.

Fixes: #1342

Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2023-09-23 11:25:11 +02:00
Finii
75f785402d [ci] Update FontPatcher.zip 2023-09-18 09:16:09 +00:00
Fini Jastrow
f81564fadf font-patcher: Fix typo in logger output
Fixes: #1350

Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2023-09-18 11:12:35 +02:00
allcontributors[bot]
7c16ba76fa docs: update .all-contributorsrc 2023-09-18 10:10:16 +02:00
allcontributors[bot]
99aee5e9dd docs: update CONTRIBUTORS.md 2023-09-18 10:10:16 +02:00
Nicolas Epstein
d90ebadbed add :Z to other readmes 2023-09-18 10:09:19 +02:00
Nicolas Epstein
10a44e9be5 Add ":Z" options to volume mounts
Gives read-write access to the volumes. See https://web.archive.org/web/20190728100417/https://www.projectatomic.io/blog/2015/06/using-volumes-with-docker-can-cause-problems-with-selinux/
2023-09-18 10:09:19 +02:00
allcontributors[bot]
7deaff60d0 docs: update .all-contributorsrc 2023-07-26 16:10:50 +02:00
allcontributors[bot]
cbc6ea882c docs: update CONTRIBUTORS.md 2023-07-26 16:10:50 +02:00
Fini Jastrow
bb4aeca8e7 standardize-and-complete-readmes: Fix broken links
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2023-07-26 15:55:15 +02:00
Fini Jastrow
f0d33e46f1 Add IntelOne patched (i.e. just readme)
This is a simulation of the release workflow.

    $ ./gotta-patch-em-all-font-patcher\!.sh -j /IntelOneMono
    $ ./archive-fonts.sh IntelOneMono
    $ git add ../../patched-fonts/IntelOneMono/
    $ git commit -s -m 'Add IntelOne patched (i.e. just readme)' -e

Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2023-07-26 15:47:26 +02:00
Finii
1e79897553 [ci] Update FontPatcher.zip 2023-07-26 13:05:08 +00:00
Fini Jastrow
548cd4e493 IntelOne: Prevent in-repo-release
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2023-07-26 15:02:27 +02:00
Fini Jastrow
f29c62ab17 standardize-and-complete-readmes: Allow to link releases
[why]
Some fonts will not be released to the repo; but only exist patched as
release atrifacts. This needs adapted readmes.

[how]
If such a font is encountered direct links to the release archives are
put into the readme file.

Decide based on information in the font.json file.

If no info is found in the json file (i.e. all existing fonts) it
defaults to release-also-to-repo behavior.

Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2023-07-26 15:02:27 +02:00
Fini Jastrow
a2bd75865a standardize-and-complete-readmes: Simplify code
[why]
We have a lot duplicated code here.

[how]
As the to and to-dir never changes we can assign that outside all the if
cases.
We can also always just add the extra information to the (only one,
independent of number of incoming data files) output after all the ifs.

Note that this also adds the extra information if we had no readme at
all. Previous code would not add anything to that (for whatever reason).

Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2023-07-26 15:02:27 +02:00
Fini Jastrow
ebdcc0b746 IntelOne: Correct minor settings glitches
* The programmingfonts.org link was wrong
* The description has to be in abbreviated style

Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2023-07-26 15:02:27 +02:00
Fini Jastrow
db9a71a270 generate-font-image-previews: Update Inkscape calls
[why]
Verbs have been dropped from Inkscape with version 1.2

[how]
Use actions instead. I'm not sure how well that works with older
Inkscapes now, but ... sigh

[note]
Also add missing helper for font filenames for Intel One Mono.

Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2023-07-26 15:02:27 +02:00
Fini Jastrow
74d6475c19 IntelOne: Change naming mode
[why]
-makegroups 0 is not a valid naming mode for releases. The mode is
deprecated and will be removed. Furthermore the mode can produce broken
patched fonts.

[how]
Mode 1 and 2 are too long for some NFP in the family name, so use mode 4.

Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2023-07-26 15:02:27 +02:00