Commit graph

469 commits

Author SHA1 Message Date
Fini Jastrow
b13b0e1d96 Cascadia Mono: Finishing touches
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2023-11-16 17:43:52 +01:00
Fini Jastrow
d84e7bcecf fonts.json: Fix small syntactic divergence
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2023-11-13 17:52:42 +01:00
Fini Jastrow
26f3d0ecc4 generate-font-image-previews: Fix warning
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>
2023-11-13 17:36:37 +01:00
Fini Jastrow
5972beffe2 Add D2Coding
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2023-11-13 17:31:14 +01:00
Fini Jastrow
6fdde00776 Add CommitMono
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2023-11-13 17:16:40 +01:00
Fini Jastrow
b33cf53bd9 generate-font-image-previews: Allow from shortened name
[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>
2023-11-13 15:37:29 +01:00
Fini Jastrow
9f03f35490 fonts.json: Fix some wrong entries
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2023-11-13 15:37:29 +01:00
Fini Jastrow
529ca23e67 generate-font-image-previews: Add new fonts
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2023-11-13 14:52:43 +01:00
Fini
c48942dde0
Merge pull request #803 from ryanoasis/feature/Add-Iosevka-Term-Slab
Add Iosevka Term Slab
2023-11-13 12:11:39 +01:00
Fini Jastrow
154edc0e9b Iosevka Term Slab: Correct release mechanism
[why]
New fonts do not get a in-repo release anymore.

Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2023-11-13 12:10:32 +01:00
Fini Jastrow
784e892575 name-parser: Revert file name change
[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>
2023-11-11 23:59:59 +01:00
Fini Jastrow
d3ee35db8e name-parser: Unify abbreviations in family names
[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>
2023-11-11 23:59:07 +01:00
Svyatoslav Kryukov
7175558c09 Add Martian Mono 2023-11-11 23:57:02 +01:00
QuiiBz
46e6a89da3 fix: review comments 2023-11-11 15:49:37 +01:00
QuiiBz
56d0558403 feat: add Geist Mono 2023-11-11 15:49:37 +01:00
piraces
ac6b663915 Add font: 0xProto
Co-authored-by: Fini <ulf.fini.jastrow@desy.de>
2023-11-11 15:47:15 +01:00
Fini Jastrow
72c335de1a Update M PLUS
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>
2023-11-11 15:44:36 +01:00
Finii
d9189098de [ci] Rebuild original-source font 2023-11-11 14:40:10 +00:00
Fini Jastrow
a78dcd7fdb Improve created Contributors web-page
[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>
2023-11-01 17:20:38 +01:00
Finii
798d4ad3db [ci] Rebuild original-source font 2023-10-23 11:45:51 +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
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
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
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
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
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
d3181df01f name-parser: Add IntelOne replacement to SIL table
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2023-07-26 15:02:27 +02:00
Fini Jastrow
bac7332702 name-parser: Sort SIL table
No functional change

Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2023-07-26 15:02:27 +02:00
Dennis Prazak
5d85a45a93 Add Intel One Mono 2023-07-26 15:02:27 +02:00
Fini Jastrow
0eef3a89f9 complete-readmes: Do not detect blanks as "name change"
[why]
When we rename "Envy Code R" to "EnvyCodeR" this is detected as RFN
relevant name change, which it is not.

[how]
Compare the blank removed lower cased names.

Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2023-07-15 19:33:55 +02:00
Fini Jastrow
57f17e23bc Add font: Envy Code R (fix)
[why]
Forgotten change

Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2023-07-15 19:33:55 +02:00
Fini Jastrow
9512cddd4f Add font: Envy Code R
The font has RFN, but we are allowed to use the patched name
"Envy Code R Nerd Font", see PR #1318.

Thanks go to Damien Guard!

Fixes: #1205

Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2023-07-15 15:17:39 +02:00
Fini Jastrow
28f5657782 archive-fonts: Unify README handling
[why]
The readmes in the zip and tar.xz archives differ. The zips have only a
very small and generic `readme.md`. The tar.xz have that readme as well as
the `README.md` from the patched-fonts/ directory. This should be the same
for both.

To have two files with names that just differ in case (`readme.md` and
`README.md`) can be problematic on some platforms.

[how]
Combine both readmes into one file - put the generic info in the top of
the readme.

Also include the RELEASE_VERSION if known into the readme. That makes it
more easy to identify which Nerd Font release that archive came from.

RELEASE_VERSION is set in the release workflow.

Fixes: #1284

Reported-by: Jan Klass <kissaki@posteo.de>
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2023-07-15 12:00:52 +02:00
Fini Jastrow
c173f661a0 docker: Transport return code to outside
Fixes: #1316

Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2023-07-11 22:34:10 +02:00
Fini Jastrow
c0d9a22d5f Add InconsolataGo programmingfonts link
Fixes: #1313

Reported-by: Koen Lageveen <braver>
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2023-07-06 10:53:16 +02:00
Fini Jastrow
be013e5987 Add GohuFont programmingfonts link
Thanks to Koen Lageveen <braver>

Fixes: #1312

Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2023-07-05 12:14:25 +02:00
Finii
ef6fe05754 [ci] Bump release version 2023-06-04 20:32:30 +00:00
Fini Jastrow
5eebd95456 fetch-archives: Allow to specify a regex
[why]
Now where we have zip and tar.xz archives one might want to just fetch
one specific one. So we need to have a pattern not only for the
beginning of the file name.

[how]
Enable full regexes for the filtering.
For this we need to escape blanks in the pattern/regex, that a user
might specify (./fetch-archive.sh v2.2.2 'Some Font').

[note]
This is already then used for the casks workflow, as that only needs the
zips.

Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2023-06-02 20:44:08 +02:00
Fini Jastrow
a11fa2db53 archive-fonts: Fix various ShellCheck issues
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2023-06-02 19:06:04 +02:00
Fini Jastrow
a519cfe3a1 i_all: Fix various ShellCheck issues
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2023-06-02 16:58:04 +02:00
Fini Jastrow
ed4028aaaa optimize-original-source: Fix various ShellCheck issues
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2023-06-02 16:58:03 +02:00
Fini Jastrow
248508e1d6 version-bump: Fix various ShellCheck issues
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2023-06-02 16:58:03 +02:00