[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>
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>
[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>
Usage is a bit ... hard, because we need to do this before the release
is published.
Download the complete artifact zip archive from the release-drafting
run.
Unpack it into the repository (will end up in patched-fonts/)
Pack all archives with archive-fonts.sh
Then use this tool to extract the names and sizes of the artifacts.
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
[why]
When shortening the rare gases names to the element symbol
Radon is named 'Rd' while it should be 'Rn'.
Atomic number 86 on the periodic table.
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
[why]
The font-logos project has been updated including 67 new icons, in which
are included GNU/Linux distributions, desktop environments, window
managers, desktop applications, some organizations and more.
Now the used range is F300-F372, 115 available logos.
After the working draft name Monispace the final patched font name will
be Monaspice.
* It keeps the characteristic `Mona` in the beginning
* It changes just one character
* The replacement is still a real word
* The replacements sounds very similar
Also other very good names have been suggested, thank you all for the
input!
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
in generate-font-image-previews.sh line 22:
if [ "$imagePreviewFont" != "$patchedName Nerd Font" -a "$imagePreviewFont" != "$patchedName NF" ]; then
^-- SC2166 (warning): Prefer [ p ] && [ q ] as [ p -a q ] is not well defined.
For more information:
https://www.shellcheck.net/wiki/SC2166 -- Prefer [ p ] && [ q ] as [ p -a q...
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
[why]
When we changed the naming for Visual Studio all the name entries use a
shortened name if the font needs the shortened name for the ID1/2
names.
This means sometimes the family name ends in NF and there is no
differing (long) family name anymore.
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
[why]
It is better to have a not-abbreviated file name so that one can make
sense out of the name parts, especially when doing a partial patch.
With the previous commit we ended up with all abbreviated names.
The filename length is hopefully not limited, at least not as severe as
the SFNT table entries.
[how]
We need to store the answers somewhere because the naming is only
understood by the FontnameParser object which we throw away soon.
As fallback we still can parse the SFNT table, for example when the old
renaming is used.
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
[why]
Because the newer Preferred/Typographic names ID 16 and ID 17 have not
a very demanding length limit we add the long form of the name
addendum (i.e. Nerd Font, Nerd Font Mono, Nerd Font Propo).
In the more restricted old names ID 1 and ID 2 we use the short forms
(i.e. NF, NFM, NFP).
This seems to be problematic with Visual Studio (Community) 2022 and the
fonts can be selected but are not really used.
The Postscript family name is never shortened which seems to be of no
consequence, but still is different than the other.
[how]
When creating the Preferred/Typographic Family (ID 16) we check the
shortening mode first and abbreviate the parts as needed and alike ID 1.
This will also change the filenames, because they base on the SFNT
table. We can not change that without changing the whole mechanism.
[note]
Also add new tool that lists all names of fonts, including the
Postscript ones.
Fixes: #1242
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
They renamed
M Plus Code Latin -> M Plus Code Latin50
M Plus Code Latin Expanded -> M Plus Code Latin60
The versioning is rather divers, add more information into the font
specific README file.
Fixes: #1333
Reported-by: LeoniePhiline
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
[why]
Monaspace has an RFN that individually protects 'Monaspace' and all the
face names of noble gases 'Xenon' etc. Both must not be used on patched
fonts.
[how]
Just add the rule(s). The concrete naming is not decided yet.
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
SemiWide and ExtraWide might be nice in some contexts, but that is not
really the audience of Nerd Fonts I guess.
Lets start with few and we can always add more if there is really a
demand.
Simplify the paths; the old style stems from the time when we patched
all variants per source font. Nowerdays the fonts are few (3 per source)
and will almost always be installed together anyhow.
Shorten the naming a bit for, for example
ERROR: ====-< Family (ID 1) too long (37 > 31): MonaspaceXenon Nerd Font Propo Medium
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>