[why]
The format string is invalid and results in a runtime error if that
particular warning is issued (which is only the case for Terminus).
[how]
A verbatim percent sign must be encoded as '%%'.
[note]
This has already been fixed before with commit
f81564fad font-patcher: Fix typo in logger output
but the change has been lost by rebasing :-(
See also #1350
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
[why]
For testing we might want to execute one command (e.g. font-patcher run)
once for each source font. We need to decide which of the font files is
a good choice.
[how]
Best would maybe to use the font that is used for the image previews.
We add that information for each font into the 'database'. Then we can
for example do stuff like:
while IFS= read -d $'\n' -r f; do
ls -l ../../src/unpatched-fonts/"${f}"
done < <(jq -r '.fonts | .[] | ."imagePreviewFontSource"' lib/fonts.json)
This is already utilized for the helper tools that are hid in the
generate-font-image-previews.sh script.
Note that DaddyTimeMono and NerdFontSymbolsOnly has "--ext ttf" set in the
config, so the information provided for that fonts is wrong.
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
[why]
The D2Coding font has a lot of glyphs shared between multiple unicode
codepoints.
Usually we just want to change the glyph on one particular codepoint
and not on all linked ones; which will affect codepoints not in our
patching ranges.
For example the glyph FULL BLOCK is used by codepoint 2588 and E286. In
the Exxx range they have a lot of icons, and also a full block.
[how]
Remove all links on glyphs that we are about to patch over, so that we
really just patch the codepoint we want to patch (and have no hidden
'links').
[note]
This could in principle break alts or ligs if they rely on another
codepoint that we removed. But breaking ligs is always a possibility
when patching over existing glyphs.
[note]
I checked several (not all) fonts in our repertoire, and only D2coding
is massively affected.
The only other fonts are these with 2 codepoints each:
heavy_data.ttf Removing alternate unicode on F001 (FB01)
heavy_data.ttf Removing alternate unicode on F002 (FB02)
Tinos-Regular.ttf Removing alternate unicode on F001 (FB01)
Tinos-Regular.ttf Removing alternate unicode on F002 (FB02)
Fixes: 1454
Reported-by: @hdd1013
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
[why]
The subdirs will not be cleared/removed automatically, so we restructure
already now.
[how]
Move all files into the font-root dir.
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
We keep all ligatures with the Serif font, i.e. `ldot` and `fi` et al.
This font is very proportional anyhow.
As there are no ligs active in the old Noto Mono font and the other have
their own configs we can just remove the root config.
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
All the different ligature removal calls are becoming more and more a
problem, because we have only one config.json for all fonts in a
font-root-directory. But the Noto variants have the ligatures in
different lookups. With the new font we finally remove lookups in the
new font that have a completely different contents then the lookups we
wanted to remove in the other family.
So the config.json is becoming more flexible: Now first we seach in the
concrete font file directory and only if there is no config we progress
to the font root directory and search there.
See also commit
d9f7dbe23 Prepatched fonts: Revive some ligature removal
Here we have
* fi and similar in lookup 41
* l-dot and similar in lookups 13, 14, 15
Fixes: #1472
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
The previous commit added the wrong reference in the commit message,
this empty commit just fixes it.
[why]
The link to the patched Monaspace is broken.
[note]
Reference #1468
Reported-by: Rubin Bhandari <roobin.bhandari@gmail.com>
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
[why]
The link to the patched Monaspace is broken.
[note]
Reference #1486
Reported-by: Rubin Bhandari <roobin.bhandari@gmail.com>
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
[why]
Installing via pip is not a good solution as this might conflict with
system-installed python packages.
[how]
It's installed already anyhow...
This must be a leftover from ancient times.
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
[why]
When we can not detect the cell width, for example because there are no
glyphs in the range of extrended-roman that we examine, the width will
be zero and that will result in a crash later on (on rescaling).
[how]
Just abort if height or width are zero or negative.
Related: #1460
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
[how]
Flatten directory structure.
Do not forget to check if that works correctly on release.
Fixes: #1437
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
[why]
History of the cask name:
It started as font-aurulentsansmono-nerd-font.rb, named by us (Nerd Font)
ecdf756a62
Then it has been dash-i-fied font-aurulent-sans-mono-nerd-font.rb
e8c2732486
Then just one year ago the Nerd Font release CI got an overhaul and I
(personally) put in font-aurulent-nerd-font.rb, despite the fact that I
did look up all cask names and put them into a 'database' in our CI:
c8cb5c7 casks: Hardcode cask names in fonts.json
[how]
Drop the wrong cask name (font-aurulent-nerd-font.rb) and use the more
correct and older one (casks: Hardcode cask names in fonts.json)
[note]
See also
https://github.com/Homebrew/homebrew-cask-fonts/pull/8704
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
[why]
For the fix in commit
d3ee35db name-parser: Unify abbreviations in family names
we dropped the alternative Family name with 'Nerd Font' in the cases
where the ID1/2 Family is just 'NF' (and equivalents).
The current cask generator will not find the family then anymore.
[how]
Also allow 'NF' as string, but that might trigger in the wrong places,
so not so nice.
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>