[why]
The config files are called `config.json` while the contents is
INI-like. The usual extension would be `.cfg`.
[how]
We use `.cfg` already for the shell variable configuration.
Combine both config file variants into one (real) cfg file, that is
directly read by the font-patcher and no shell variables files are used
anymore.
This needs some rewrite in gotta-patch-em to get the quoting right.
To make this simpler we remove the `--debug 1` option from the variable
and insert it directly (as it is applied always anyhow).
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
[why]
It can be hard to find out which license a particular font is using.
Therefore we add a new field to the fonts.json with an SPDX license
identifier (if possible).
[how]
For fonts with a license that has no SPDX identifier we use a free
`LicenseRef-*` identifier, but that reference is not solved in the
fonts.json file.
[note]
Also correct some licensing info given in the license audit.
Related: #1578
Suggested-by: Jan Christian Gruenhage <jan.christian@gruenhage.xyz>
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
[why]
Has double entries.
This has been detected by generate-css that got that check recently.
[how]
Use new generator script.
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
[why]
When the to be examined font has the same glyph with multiple unicode
codepoints (altuni) the generated list will include the icon multiple
times (with the same name).
[how]
Use glyphs only at their main codepoint.
Also modernize the code a bit.
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
[why]
The keep-regular rule should add 'Regular' as weight if there is no
weight (e.g. Bold) or style (e.g. Italic).
But when a font does have neither but has a widths specifier it is also
not added.
[how]
Check for some conrete weight and not only any entry in the weight
token, because we - unfortunately - mix weights and widths in that token
set.
We do not need to check the styles because it is technically impossible
for it to comtain Regular and something else.
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
[why]
"RecMonoSemi" looks a bit broken.
[how]
Unchanged version "RecMonoSemicasual" is two chars too long for NFP.
This is independent on makegroups mode, because the PS name is affected.
Use "RecMonoSmCasual" which is just the right length and still the
original is discernible (I guess).
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
[why]
Modifier on their own are not allowed (except "Demi").
The previous commit where we changed the CodeClimate fix from
' ' to '' allowed any modifier to be a stand alone detected word.
This resulted in this font name:
RecMonoCasual Nerd Font Propo Semi
[how]
Remove the cumbesome CodeClimate kludge completely, it just makes the
code more complex without any real benefit. Codeclimate just complains
because our tables look so "similar" :rolleyes: That's data dude!
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
[why]
We have now fonts where names for multiple languages are set
(differently) but we need to compare only the base language which is
English US.
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
[why]
The code needlessly create two language ID17 even if ID16 is only one
entry / one languange. ID17 is always the same for both languages.
This is an example for the wrong way:
======== BlexMonoNerdFont-Text.ttf ========
SFNT Fullname ID 4 BlexMono Nerd Font Text
SFNT Family ID 1 BlexMono Nerd Font Text
SFNT SubFamily ID 2 Regular
SFNT Pref Family ID 16 BlexMono Nerd Font
SFNT Pref Styles ID 17 ('Text', 'Text')
SFNT PS Name ID 6 BlexMonoNF-Text
SFNT Compatible ID 18 -
SFNT CID findfont ID 20 -
SFNT WWS Family ID 21 -
SFNT WWS SubFamily ID 22 -
PS fontname BlexMonoNF-Text
PS fullname BlexMono Nerd Font Text
PS familyname BlexMono Nerd Font Text
fondname None
This is an example for the correct way (two ID17 when we have two ID16):
======== NotoSerifCondensedNerdFont-BlackItalic.ttf ========
SFNT Fullname ID 4 NotoSerif Condensed NF Black Italic
SFNT Family ID 1 NotoSerif Cond NF Black
SFNT SubFamily ID 2 Italic
SFNT Pref Family ID 16 ('NotoSerif Condensed Nerd Font', 'NotoSerif Cond NF')
SFNT Pref Styles ID 17 ('Black Italic', 'Black Italic')
SFNT PS Name ID 6 NotoSerifCondensedNF-BlackItalic
SFNT Compatible ID 18 -
SFNT CID findfont ID 20 -
SFNT WWS Family ID 21 -
SFNT WWS SubFamily ID 22 -
PS fontname NotoSerifCondensedNF-BlackItalic
PS fullname NotoSerif Condensed NF Black Italic
PS familyname NotoSerif Cond NF Black
fondname None
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
This does not pull in all icons of 6.5.1, but only of
'Region A' and 'Region B', see script `remix` and
PR #1563.
It keeps the codepoints constant for existing icons.
Fixes: #1550
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
[why]
Usually we want the width before the weight:
ZedMono Nerd Font Extended ExtraBold Italic
but we get:
ZedMono Nerd Font ExtraBold Extended Italic
The reason is that we do not sort widths and weights and handle them as
one list, keeping the original order.
All fonts but Zed have the width before the weight and it never turned
up
[how]
Handle widths and weights on their own and only afterwards concattenate
width (first) to weights (second).
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
[why]
When we add a dummy we need to remove that later on.
Originally that has been introduces to avoid a wrong code duplication
warning.
See how the blank leaks into the name:
ERROR: ====-< Family (ID 1) too long (38 > 31): ZedMono Nerd Font Extended ExtraBold
DEBUG: =====> SubFamily (ID 2) ok ( 6 <=31): Italic
DEBUG: =====> Fullname (ID 4) ok (45 <=63): ZedMono Nerd Font Extended ExtraBold Italic
DEBUG: =====> PSN (ID 6) ok (33 <=63): ZedMonoNF-ExtendedExtraBoldItalic
DEBUG: =====> PrefFamily (ID 16) ok (17 <=31): ZedMono Nerd Font
DEBUG: =====> PrefStyles (ID 17) ok (27 <=31): Extended ExtraBold Italic
DEBUG: =====> PrefStyles (ID 17) ok (27 <=31): Extended ExtraBold Italic
DEBUG: =====> Filename 'ZedMonoNerdFont-ExtendedExtraBoldItalic.ttf'
(Note trailing blanks even in ID 1.)
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
This squashes also these commits:
* ds-store
* ZedMono: Clean up files
Remove files that should not be in the PR, because they are autocreated
or belong somewhere else.
* Also divide Extended and non-Extended versions.
* ZedMono: Fix metadata
* ZedMono: Fix some metadata
* ZedMono: Drop some more exotic weights and restructure dirs
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
'for Code' variants.
Rename RecMonoSemicausal to RecMonoSemi to avoid too long font names
after we add 'Nerd Font Mono' )or even (NFM) to it.
Fixes: #845
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
Sqashed these commits:
* Remove Thin, Extra-Light, Semi-Bold and Heavy variants of IosevkaTermSlab
* Remove Thin, Extra-Light, Semi-Bold and Heavy files after unpacking
* No more subfolders per weight
* Revert commiting patched fonts
* Rewrite update scripts
* Update readme.md
[why]
The outlines in Terminus 4.49.2 are rather weird. Autoconverted but not
too nice.
[how]
Update to 4.49.3 as tis has much better outlines.
Fixes: #1329
Suggested-by: Wiesław Herr @herself
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
SC2059 (info): Don't use variables in the printf format string. Use printf '..%s..' "$foo".
Which is hard(er) because the sequences are not interpreted unless they
are in the format string.
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
A more conceise version of the Powerline test, designed to show
the dreaded 'faint vertical lines' phenomenon from LCD antialiasing
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
[why]
For new fonts we do not create one subdirectory for each font file anymore.
The (historic) reason were the many variants that each font file had been
patched with. Nowadays we just have 3 variants for each font file.
And anyhow this font is release archive released only.
[how]
Simplify update script and move font files.
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
[why]
Forgotten after update.
[note]
Also remove old old configure file that has been used for fast test
runs. It has the wrong format now anyhow.
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>