[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>
[why]
When viewed on a small screens the contributors page on the gh-pages
looks not very nice and overflows.
[how]
Instead of a table with a predefined number of rows we just use blocks
in an inline context that allows the line break to adjust to the
available width.
Fixes: #1399
Reported-by: Vitthal Gund <@VitthalGund>
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
[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>
[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>
[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>
[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>
[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>
[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>