Commit graph

527 commits

Author SHA1 Message Date
Fini Jastrow
8047f40372 Add tool to find problematic glyphs
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2024-03-18 19:59:31 +01:00
Fini Jastrow
94d6c0ffcf ComicShannsMono: Update version information
[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>
2024-03-18 17:19:49 +01:00
Fini Jastrow
f9e1116859 name-parser: Simplify code
[why]
The code is rather convoluted and one can not follow what is done.

[how]
Add function that abstracts some steps away.

Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2024-03-17 20:36:52 +01:00
Fini Jastrow
a0b080abaf name_parser: Fill short and long name as TypoFamily
[why]
This sets out to circumvent a problem with VisualStudio 2022. That
application seems to have problems with fonts when the ID16 is not a
prefix in ID1.

We have this when --makegroups >= 4, because

ID1  has the short name suffix 'NF'
ID16 has the long suffix 'Nerd Font'

These fonts can be selected in VisualStudio 2022, and the preview works
ok, but once active some replacement default font is used instead.

The problem vanishes if ID16 and ID1 have the same stem, or rather ID1
has someting added on top of ID16; but ID16 is a substring of ID1.

See more discussions in #1442

[how]
Write both forms in ID16 fields, 'NF' and 'Nerd Font' suffixes. This
works as long as the application considers all languages equal.

Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2024-03-17 20:36:52 +01:00
Fini Jastrow
a5abd847e5 name_parser: Do remove non-US SFNT entries
[why]
Albeight documented in the comment not all non English-US entries are
removed but just al TO_DEL ones.

[how]
Put the conditional in the right position.

Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2024-03-17 20:36:52 +01:00
Fini Jastrow
926d741137 query_name: Examine all languages
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2024-03-17 20:36:52 +01:00
Fini Jastrow
da502d23a2 i_all: Warn and fail on glyphname duplicates
[why]
We need the glyphnames to be unique, or some glyphs will not be
accessible later (in the cheat sheet, css, glyphnames).

[note]
Also already remove one non-effective duplicate that is first an alias
and later a real glyph in i_seti.sh

Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2024-03-17 15:23:34 +01:00
Fini Jastrow
2fa45981ee generate-glyph-info: Fix double entries
[why]
Two glyphs may not have the same name (normally).
Our glyphnames.json will break.

[how]
Do not add two entries with the same name but rather report the
codepoints in the bottom.

Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2024-03-17 14:24:43 +01:00
Fini Jastrow
6932ff2d8f Codicons: Update i_cod.sh
With tool, call:

fontforge generate-glyph-info-from-set.py --font ../../src/glyphs/codicons/codicon.ttf --start ea60 --end ec1e --offset 0 --prefix cod > i_cod.sh_part

Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2024-03-17 13:47:24 +01:00
Fini Jastrow
e17bb46910 gotta-patch-em: Require Bash version 4+
[why]
Native MacOS has only an ancient Bash 3.x
But we use arrays... and rewriting only to support 15 year old shells?

[how]
Check the Major Bash version number and bail out if too old.

Fixes: #1505

Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2024-03-16 01:33:55 +01:00
Fini Jastrow
46f3d1fa44 doc: Correct some upstream-version info
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2024-03-15 12:27:04 +01:00
Fini Jastrow
7d71076980 Distribute source version information
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2024-03-15 10:16:58 +01:00
Finii
403fcff3f8 [ci] Rebuild original-source font 2024-03-14 07:56:52 +00:00
Finii
7ed76b0ea9 [ci] Rebuild original-source font 2024-03-14 07:42:55 +00:00
Fini Jastrow
ed36a89652 fonts.json: Add preview link to Geist font
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2024-03-05 21:54:01 +01:00
Fini Jastrow
6cca677565 font.json: Fix preview somne fonts
[why]
For some reason some are not correct. Possibly my own lazyness.

Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2024-03-05 19:14:12 +01:00
Fini Jastrow
5945c4c079 generate-font-image-previews: Clean up svg (remove warnings)
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2024-03-05 19:14:12 +01:00
Fini Jastrow
017927416b generate-font-image-previews: Fix wrong previews
[why]
0xProto (and possibly others) use a default font for the previews.

[how]
We need to put the font family names in quotes...

Reported-by: Lucy Phipps <landfillbaby69@gmail.com>
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2024-03-05 19:14:12 +01:00
Fini Jastrow
47ff3eca3e generate-css: Update cheat sheet colors
[why]
The colors have been changed to increase the contrast.
See also commit
  c840fd5e  Improve text contrast

Fixes: #1524

Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2024-02-29 16:41:04 +01:00
Fini Jastrow
96497b4fef docker: Run parallel by default
[why]
When nothing is specified there is only one patcher running instead of
number-of-threads patchers. But we want the speedup as default.

[how]
Use `-j0`, although it has a small bug. We could also use `-j100%` but
then the output might confuse people even more?

Reported-by: nobk <nobk@noreply.github.com>
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2024-02-05 18:17:20 +01:00
Fini Jastrow
7ebbc4e173 docker: Include logfile in output
[why]
Some valuable information might be in the logfile, that gets created
only on demand.

[how]
Copy it over to the output if existing.

Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2024-02-05 16:35:19 +01:00
Fini Jastrow
1fccd8a63e docker: Allow blancs in filenames
[why]
The script does not allow blanks in the font filenames.
There are also some shell warnings when run.

[how]
Simplify and always use `parallel` to run the job, even when the user
selects just one job. The problem is deciding if the passed PN is the
number one or not. We do not want to fail, but the numeric comparison
operator fails on non numbers (sometimes).

Use null termination as usual to pass filenames with blanks from a find
into something else.

Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2024-02-05 16:24:08 +01:00
nobk
abc7f3470a Docker add option -e PN=1 disable parallel fontforge 2024-02-05 05:33:13 +08:00
nobk
45e1ad998a Case insensitive fonts find 2024-02-05 04:15:15 +08:00
nobk
86b38e473f Parallel execution fontforge in docker 2024-02-05 00:54:58 +08:00
Zshoham
9987e5f85c fix: added missing glyphs in test-fonts.sh 2024-02-01 06:55:44 +01:00
Fini Jastrow
148c288d30 fonts.json: Add pathname of reference font file for each font
[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>
2024-01-15 18:31:06 +01:00
Fini Jastrow
b1ee76341a NotoSans: Update to 2.013
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>
2024-01-10 11:05:01 +01:00
Fini Jastrow
8423b72241 query_name: Show more names
Also change code to be somehow more elegant?

Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2023-11-27 09:05:33 +01:00
Fini Jastrow
00d02f84b8 query_name: Add compatible fullname
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2023-11-26 20:12:09 +01:00
Finii
b16e67d625 [ci] Bump release version 2023-11-26 17:49:56 +00:00
cpea2506
a58d12d6b2 [ci] Rebuild original-source font 2023-11-26 16:06:53 +01:00
Fini Jastrow
1211904df1 Revert "name-parser: Unify abbreviations in family names"
This reverts commit d3ee35db8e.

The font name helper tools is kept.
2023-11-26 16:02:57 +01:00
Fini Jastrow
0e30425dc6 Revert "name-parser: Revert file name change"
This reverts commit 784e892575.
2023-11-26 16:02:57 +01:00
Fini Jastrow
701233bf3b casks: Correct Aurulent's cask name
[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>
2023-11-22 08:14:56 +01:00
hasecilu
04e9f571ab Update end codepoints on testing script
- Updates the range for Pomicons and Font Logos fonts.
2023-11-21 20:33:33 +01:00
Fini Jastrow
219eeab2e0 Update Sankey diagram
[why]
Typo ....

Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2023-11-21 20:13:06 +01:00
Fini Jastrow
aba94adcd0 Update Sankey diagram
[why]
Seti+custom and Font-Logos got more icons.

[how]
Just edit svgz file

Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2023-11-21 20:07:35 +01:00
Fini Jastrow
8780f0f61a 0xProto: Fix cask name
must be all lower case, always.

Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2023-11-21 17:27:20 +01:00
Fini Jastrow
d7ec2036d4 casks: Allow for new reduced naming [skip ci]
[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>
2023-11-21 16:29:55 +01:00
Fini Jastrow
9bbe31d61b Add small tool to create release artefact table
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>
2023-11-21 15:02:39 +01:00
Fini Jastrow
b0b4c34524 Monaspace: Fix naming
[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>
2023-11-21 11:55:54 +01:00
Finii
298f0b53ad [ci] Bump release version 2023-11-21 10:23:08 +00:00
Fini Jastrow
fd6f192a99 Fix font.json
An obvious typo. Maybe we need to test the json when changing?

Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2023-11-21 08:27:03 +01:00
Finii
616d5a6413 [ci] Rebuild original-source font 2023-11-21 07:59:37 +01:00
hasecilu
7940f26928 Update Font Logos to 1.1.1
[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.
2023-11-21 06:58:45 +01:00
Fini Jastrow
f4e5cabcc2 Monaspace: Add preview link
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2023-11-19 22:49:09 +01:00
Fini Jastrow
1b7679ebc7 Monaspace: Small forgotten changes
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2023-11-19 22:22:11 +01:00
Fini
5d999cd571
Merge pull request #1405 from julien-blanchon/add-github-monaspace
Add Githubnext Monaspace
2023-11-19 22:07:42 +01:00
Fini Jastrow
c56530c874 Finalize replacement name of Monaspace
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>
2023-11-19 22:06:56 +01:00