Commit graph

2042 commits

Author SHA1 Message Date
Fini Jastrow
711c20d2ed Regenerate CSS files
$ ./generate-css.sh

Generated CSS, json, and Cheat Sheet HTML
../../css/nerd-fonts-generated.css
../../css/nerd-fonts-generated.min.css                 [needs to also go into gh-pages:_includes/css/]
../../css/nerd-fonts-generated-removed.min.css         [needs to only go into gh-pages:_includes/css/]
../../temp/2017-01-04-icon-cheat-sheet.md              [needs to only go into gh-pages:_posts/]
../../glyphnames.json

Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2023-05-13 12:54:05 +02:00
Fini Jastrow
ee7e22d885 Rebuild patched fonts (manually)
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2023-05-13 12:54:05 +02:00
Fini Jastrow
fe9a2d70f3 casks: Add zap stanza comment
[why]
Casks without zap stanza are flagged; all casks should contain them.

The font casks do not really need zap.

[how]
What is the right way to say 'we considered zap, but do not need it'?

It seems that other people add a comment (the same comment).
For example here:
https://github.com/Homebrew/homebrew-cask/pull/119090

And that seems rather widespread.

        git/homebrew-cask/Casks$ git grep '# No zap stanza required' | wc -l
        101

Include the same in our casks.

[note]
https://github.com/Homebrew/homebrew-cask/issues/88469

Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2023-05-13 12:53:15 +02:00
Fini Jastrow
d812d153ab Start release v3.0.1
Edit ./package.json
Run version-bump.sh 3.0.1

Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2023-05-13 07:49:58 +02:00
Fini Jastrow
b3ec51c1b0 CascadiaCode: Correct version string
[why]
With commit
  b6301e590  CascadiaCode: Rehint and use ttf

we replaced the hints done upstream by ttfautohint with hints done via
Visual TrueType, because they render the text more similar to the
variable fonts (hints).

But the version string still mentions 'ttfautohint' because we did not
touch the font files at all except opening, hinting, closing in VTT.
This can be confusing.

[how]
Change the version string to "Version 2111.001; VTT 6.35" via:

* `ttx -i *.ttf`
* Edit `ttx` files and replace version, see above
* `ttx -b *.ttx`
* Move new fonts over old fonts

Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2023-05-12 17:23:50 +02:00
Finii
1be89753e1 [ci] Update FontPatcher.zip 2023-05-12 14:26:03 +00:00
Fini Jastrow
43b9ae15d2 Codicons: Preserve smaller icons
[why]
The codicons have 3 obvious (from the name) pairs of regular and small
icons. The size difference is slight but visible.

When we maximize all individual icons the differences are mostly lost.

[how]
Put each pair into one ScaleGroup to keep their individual scaling.

Fixes: #1214

Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2023-05-12 16:23:10 +02:00
Finii
d4bd51ffde [ci] Update FontPatcher.zip 2023-05-12 11:23:36 +00:00
Fini Jastrow
3dfa80eaa1 font-patcher: Do not maximize heavy brackets in Mono
[why]
The added heavy brackets are maximized within the cell size as all
normal other symbols. But in fact they should not be maximized but
rather be the size of 'normal brackets'.

Furthermore they are all scaled individually, making the size
differences less.

With some proportional fonts the brackets look tiny.

[how]
Introduce new y-padding parameter (because a negative overlap also acts
in x direction, what we do not want (and it distorts)).

Pad the brackets with 30% (15% top and 15% bottom).

This is used for all fonts (monospaced or not) so that the new glyphs
fit nicely with the existing ones. For some definitions of 'nicely', but
that is as good as we can get with automatism. It's not worse than
font-fallback.

Fixes: #1229

Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2023-05-12 13:21:20 +02:00
Fini Jastrow
e5c880c2c4 font-patcher: Allow ScaleRules with a non 'pa' stretch
[why]
When the Heavy Brackets are scaled we want them to be scaled according
to 'pa1!' (i.a. preserve-aspect, only-one-cell, scale-always).

This is not possible because the glyphs have a ScaleRule and that
always assumes pure 'pa' and nothing else.

[how]
When the first glyph of the group is encountered the group scaling is
determined. This now takes the stretch rule of THAT glyph (instead of
just 'pa') to prepare the scale of the complete group.
2023-05-12 13:21:20 +02:00
Fini Jastrow
f17700946c Add script to create sample set
[why]
After changing something in the patch process it is unclear if all the
prepatched fonts will look ok later. It would be nice to produce one
font from each input font (and not the complete set of each of the faces
of that font) to have some hopefully representative example how symbols will
blend into the font.

[how]
Add a script with explicit list of representative fonts.
Evaluate the config.cfg and execute one patcher run.

Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2023-05-12 13:21:20 +02:00
Fini Jastrow
41521254f1 gotta-patch-em: Fix wrong config setting
[why]
The config.cfg settings can be wrong if the to-be-patched font does not
set its own. The previous settings are never cleared, so that the flags
leak into the next font(s).

This is only relevant when the run is not parallel (i.e. no -j given) and
all fonts are patched sequentially in the same shell.
On parallel runs (like the release process) this is not a problem
because each patcher runs in its own subshell.

Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2023-05-12 13:21:20 +02:00
Finii
2eea4059d6 [ci] Update FontPatcher.zip 2023-05-11 16:07:04 +00:00
Finii
8fd192e77c [ci] Rebuild original-source font 2023-05-11 18:04:07 +02:00
Fini Jastrow
84d633de8f original-source: Cleanup four svgs
[why]
The CI process produces a different font than running the
generate-original-source script locally.

Several thing have been checked, to no avail, see #1227.

Turned out the affected SVGs all are somehow ... questionable in their
construction.

[how]
Open SVGs in inkscape, select all (points) and generate new, clean
outline with Path->Union.
Save as optimized SVG.

The (CI) created font file now looks good.

But the cause is still unknown, maybe some sub-library that is used has
changed? I have no clue. Meaning it runs ok locally seems to be no
guarantee it will look the same when run by the CI :-(

Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2023-05-11 18:04:07 +02:00
Fini Jastrow
1d770c8ae0 Add old octicons folder icon to custom set
[why]
Specifically for https://github.com/NvChad/NvChad

Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2023-05-11 18:04:07 +02:00
Fini Jastrow
781206aaba generate-original-source: Increase icon size
[why]
The Seti and Custom icons are smaller than in ancient Nerd Font versions
and can seem a bit flimsy. In fact we add about 25% of padding (12% left
and 12% right) to each icon, which seems a bit generous.

This does not show in Nerd Font Mono fonts, because the icons will be
rescaled there, but in the other fonts.

Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2023-05-11 18:04:07 +02:00
Fini Jastrow
a153334440 Ubuntu: Fix wrong Condensed classification
[why]
The Ubuntu Condensed font is special because it is designed to be not
part of the `Ubuntu` font family but a self standing `Ubuntu Condensed`
family with just one member.

We want the `Ubuntu Condensed` to be part of `Ubuntu`, as it is usual
for fonts with different widths.

The problem then arises that the width class in the font metadata is set
to 'Normal', while it has to be 'Condensed'. That fact does not become
apparent when the font is in its own one member family, but even there
it is wrong.

[how]
To keep all the other information in the font untouched we just directly
patch that one byte where the width-class is stored - and repair the
checksums afterwards. Nothing more.

The code to do this is the Font Tweaker code in font-patcher, just
copied here for one time use.

Fixes: #1228

Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2023-05-11 15:57:43 +02:00
allcontributors[bot]
cd6e069bd9 docs: update .all-contributorsrc 2023-05-10 13:33:48 +02:00
allcontributors[bot]
cff21df361 docs: update CONTRIBUTORS.md 2023-05-10 13:33:48 +02:00
airt
7b6eaf3f97 docs: update fonts table 2023-05-10 13:32:54 +02:00
airt
cdd678b586 docs: update fonts table 2023-05-10 13:32:54 +02:00
Finii
e8f58adc37 [ci] Update FontPatcher.zip 2023-05-10 11:04:13 +00:00
Fini Jastrow
a3ec4bb22b font-patcher: Fix vanishing fi ligature
[why]
With Ubuntu-Regular the fi and fl ligatures are replaced by some font
awesome icons.

The problem is that the font uses the non-standard F001 and F002
codepoints as intermediate referencve to create the actual ligatures
that are at codepoints FB01 to FB04.

[how]
All the normal ligature codepoints (FB00-FB06) are added to the glyph
reference checker and codepoints that are referenced by these are not
patched.

This means that F001 and F002 stay on the original ligatures and the
Font Awesome icons are missing, but this can not be fixed automatically
and would need to 'rewrite' the references inside the font.

Fixes: #1221

Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2023-05-10 13:01:37 +02:00
Fini
7e2326b86c
Merge pull request #1222 from negset/master [skip ci]
Fix the REGULAR bit of the fsSelection being set incorrectly
2023-05-10 13:00:53 +02:00
Fini
0ffd4571fd
Merge pull request #1215 from ryanoasis/feature/keep-symlink-dir [skip ci]
Reintroduce Octicons file-symlink-directory
2023-05-10 12:59:33 +02:00
Fini Jastrow
9f54f24738 Octicons: Create missing file-symlink-directory (2/2)
Just run ./generate.

Compare commit
  7764e05  Create new octicons.ttf (update to v18.3.0) (2/2)

Fixes: 1213

Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2023-05-10 12:49:17 +02:00
Fini Jastrow
1820d4e341 Octicons: Create missing file-symlink-directory (1/2)
[why]
Some people, for example the `lsd` project, need an icon with a symlink
directory. That has been dropped by Octicons. Our repacking put some
unrelated bookmark icon on that codepoint; but even an empty glyph would
be not ideal.

[how]
Design a file-symlink-directory from file-symlink-file and
file-directory. In this way it fits nicely into the current design of
Octicons.

Sneak that into the unpacked Octicons archive.
Adapt mapping manually to keep as much as possible constant.

Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2023-05-10 12:49:14 +02:00
Fini
252ac6bb7c
Merge pull request #1219 from ryanoasis/feature/improve-custom-patching
Improve custom patching
2023-05-10 12:07:02 +02:00
Fini Jastrow
af2573aac2 Fix: font-patcher: Allow to specify custom symbolfont with absolute path [skip ci]
[why]
While the commit
  7cda32651 font-patcher: Allow to specify custom symbolfont with absolute path

would have allowed to specify the custom glyph font with an absolute
path, it is in fact still not possible.

[how]
The file-exists checks also need to observe the absolute path.

[note]
Normally (with a relative path) the custom font is search for in the
ordinary glyphs directory - but that would mean people need to copy it
there.

Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2023-05-10 12:05:13 +02:00
Fini Jastrow
de78d08077 font-patcher: Be not needlessly careful
[why]
When a user want to patch some glyph in, and at that position is already
a glyph, there is no way to overwrite it.

The reason is that --custom glyphs are always patched in --careful, and
there is no --not-careful option to override that.

[how]
Add glyphs via --custom always, except --careful has also been given.

Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2023-05-10 12:01:07 +02:00
Fini Jastrow
b8a5f5b7e8 font-patcher: Do scale icons added via --custom
[why]
If you add a custom icon it probably has to fit with the rest of the
font. So why should we patch it in completely unscaled?

[how]
Just scale the custom icon like all other icons at least.

If someone wants to add just a symbol or two and keep the glyphs exactly
(more or less) unscaled there are simpler ways than this patcher
script. I believe persons that are able to pre-scale the custom font are
also able to just patch it in. So this option is more for the generic
patching of extra glyphs but they need to be scaled somehow.

Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2023-05-10 12:01:07 +02:00
allcontributors[bot]
9b67f89e31 docs: update .all-contributorsrc 2023-05-10 11:53:25 +02:00
allcontributors[bot]
61be9cbb7f docs: update CONTRIBUTORS.md 2023-05-10 11:53:25 +02:00
negset
9f6f89ae41 name-parser: Fix REGULAR bit of fsSelection
Set bit 6 (REGULAR) of fsSelection only when bit 0 (ITALIC), bit 5 (BOLD), and bit 9 (OBLIQUE) are clear.
2023-05-10 16:50:50 +09:00
Finii
3445d2d8fe [ci] Update FontPatcher.zip 2023-05-07 08:22:42 +00:00
Fini Jastrow
7e0c17c294 font-patcher: Drop box-drawing from SymbolsOnly
[why]
The Box Drawing glyphs need to be carefully scaled. This can not be done
if the glyphs are pulled in via font-fallback I guess.

As people may have the fontconfig set up in a way to prefer the Symbols
Only font these glyphs could overrule other box drawing glyphs that
might fit better.

I'm not really sure about this one, but the glyphs look rather bad
anyhow, because they end up in the 1:1 ascpect ratio cell of the Symbols
Only font.

[how]
Just turn the set off if we patch the Symbols Only font.
Need to swap around two subroutine calls for that; first detect if we
are patching the Symbols Only font (through the font metrics) and then
set the patch sets up.

Fixes: #1210

Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2023-05-07 10:19:41 +02:00
Md. Abdullah Al Maruf
417acefb2f doc: Fix broken link in readme.md
Changed link again to refer to the default branch ('master' at the
moment) HEAD and use -O instead of needlessly repeating the file name.

Authored-by: Md. Abdullah Al Maruf <62918360+mk1121@users.noreply.github.com>
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2023-05-07 08:58:46 +02:00
Finii
58504d670d [ci] Update FontPatcher.zip 2023-05-06 09:19:45 +00:00
Fini
5719402e30
Merge pull request #1208 from ryanoasis/bugfix/logging-on-appimage
Bugfix logging on AppImage
2023-05-06 11:17:25 +02:00
Fini Jastrow
80664a90fe font-patcher: Do not log to file always
[why]
Maybe it is not a good idea to always create the log file, as most
people will never look into it. The main reason for it was the
gotta-patch-em script so that one can check after lots of runs what the
details were.

[how]
Introduce parameter to --debug option.
0 = no debug output
1 = log to file only (previously always selected)
2 = log to stdout only
3 = log to file and stdout (previous default for --debug)

Just specifying --default equals now --debug 2.
The gotta-patch-em runs now with --debug 1.

Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2023-05-06 10:54:05 +02:00
Fini Jastrow
5c968b80ae font-patcher: Do not fail on ro filesystem
[why]
When font-patcher is on a read only filesystem the pacher can not run.
This is for example the case when fontforge is a AppImage.

[how]
Try if the logfile can be written, and if not disable logging into a
file.

Reported-by: Bliss X. Xu <blissLove8@gmail.com>
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2023-05-06 10:29:06 +02:00
Fini Jastrow
e07f6ed68a Regenerate CSS files
Result of generate-css.sh run.

Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2023-05-04 12:42:14 +02:00
Fini Jastrow
46168d53d0 cheat-sheet: Add hint for webfont.css
Compare commit
  7d265161f  Make Symbols-Only webfonts available stand alone

Suggestion via Gitter by @Mikle-Bond

Suggested-by: Michael <Mikle_Bond@mail.ru>
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2023-05-04 12:42:14 +02:00
Fini Jastrow
1f70d5bc3a generate-css: Create cheat sheet with removed icons
With v3.0.0 we removed some icons and some codepoints have been reused
for a different (expanding) set. We want to show the old (removed) icons
correctly and the new ones also, so we need the old and the new font for
the webpage and reference it accordingly.

For the a new style .nfold (read: nd-olf) is introduced and utilized.

See pairing commit in the gh-pages branch:
    Date:   Thu May 4 06:01:33 2023 +0200
    Update cheat sheet WITH removed icons

Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2023-05-04 12:42:14 +02:00
allcontributors[bot]
239246599b docs: update .all-contributorsrc 2023-05-03 21:42:11 +02:00
allcontributors[bot]
87f54173fb docs: update CONTRIBUTORS.md 2023-05-03 21:42:11 +02:00
Maaz
f2792419cc Fix Typo 2023-05-03 21:36:06 +02:00
Fini Jastrow
678e68d6cb doc: Remove twitter, as noone will respond there
which is a pity.. but what can we do.

Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2023-05-03 10:07:54 +02:00
Finii
7badc317e0 [ci] Update FontPatcher.zip 2023-05-03 08:00:49 +00:00