Commit graph

2663 commits

Author SHA1 Message Date
Fini Jastrow
548ed2aabd Revert "update bazel svg"
This reverts commit 0c1f0087b4.

[why]
We keep the seti icons unmodified and instead add them as custom if we
introduce any change.
2024-04-26 12:58:21 +02:00
Ezekiel Warren
cdd19c7715 update bazel svg 2024-04-26 12:58:21 +02:00
Finii
bbe37e7f40 [ci] Update FontPatcher.zip 2024-04-23 07:54:03 +00:00
allcontributors[bot]
327d4b8cab
docs: add gibfahn as a contributor for code (#1618)
* docs: update CONTRIBUTORS.md

* docs: update .all-contributorsrc

---------

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
2024-04-23 09:45:17 +02:00
Fini Jastrow
9e0ca39200 font-patcher: Increase version after change
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2024-04-23 09:43:48 +02:00
Gibson Fahnestock
961fa8f8c1 font-patcher: don't double-shrink heavy angle brackets
Fixes: https://github.com/ryanoasis/nerd-fonts/issues/1611

Co-Authored-By: Fini Jastrow <ulf.fini.jastrow@desy.de>
2024-04-23 09:43:48 +02:00
Finii
5a52c80684 [ci] Update FontPatcher.zip 2024-04-22 12:45:14 +00:00
Fini
6871fddbf5
Merge pull request #1613 from ryanoasis/bugfix/Caskaydia-long-arrows
font-patcher: Allow to rehint some Cascadia glyphs
2024-04-22 14:42:12 +02:00
Fini Jastrow
cd80b9eccc gotta-patch-em: Remove post_process
[why]
The previous change(s) removed executing the config.cfg **shell script**
which would pull in some environment variables like `post_process`.
With that change the appropriate option has to be given with the
commandline value of the new config.cfg **INI** file.

[how]
Remove defunct leftover code.

Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2024-04-22 14:08:28 +02:00
Fini Jastrow
e5f63a3d7a font-patcher: Improve logging while setup options
[why]
The logging to files does not work correctly for the messages given
while the options themselves are parsed.

[how]
As soon as we have enough information (after the first argument parsing)
we set the logger up. When processing the config file arguments we have
a full functioning logger now.

Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2024-04-22 14:08:28 +02:00
Fini Jastrow
6c6177d6a5 font-patcher: Do not rely on args.configfile
[why]
We now have two places where we can detect if a config file is given.
This should be unified.

Also handling of missing (?) sections in the config file is not always
handled gracefully.

Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2024-04-22 14:08:28 +02:00
Fini Jastrow
098fa410a6 font-patcher: Load config file only once
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2024-04-22 14:08:28 +02:00
Fini Jastrow
378d97cf1b font-patcher: Allow to rehint some Cascadia glyphs
[why]
Some Caskaydia Cove glyphs that are used in ligatures (to create endless
arrows for example) show uneven line thickness on some platforms.

The reason is the not-matching hinting of glyphs that are places next
to each other and so minuscule differences are quite visible.

Note that the 'original' hinting is generated by VTT on the static
Cascadia Code instances, which upstream just have ttfautohint hints that
are different from the hints in the variable fonts and people complained
that the look is different.

[how]
Add a new field to the config.cfg file that holds regexes of glyph
names for glyphs that should be re-hinted by fontforge on patching time.

In principle we could also implement that as an additional pre-step that
needs to be manually done after running VTT on the static font files.

I'm not sure which is better.

Note that fontforge generates a lot of debug output because the hinting
is not ideal - the global tables are kept and probably less compatible
to fontforge's own hinting... But the results are good.

Fixes: #1291
Fixes: #1609

Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2024-04-22 14:08:28 +02:00
Fini Jastrow
88d63ff827 gotta-patch-em: Correct file type of config files
[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>
2024-04-22 14:08:28 +02:00
allcontributors[bot]
f07ad16bf1
docs: add FrancescoLuzzi as a contributor for bug (#1615)
* docs: update CONTRIBUTORS.md

* docs: update .all-contributorsrc

---------

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
Co-authored-by: Fini <ulf.fini.jastrow@desy.de>
2024-04-21 17:49:15 +02:00
allcontributors[bot]
51d411951c
docs: add gibfahn as a contributor for bug (#1612)
* docs: update CONTRIBUTORS.md

* docs: update .all-contributorsrc

---------

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
2024-04-21 17:28:24 +02:00
Fini Jastrow
b984447921 font-patcher: Allow to specify more options in config file
[why]
At the moment we have two different config files:

config.cfg:
Is read by gotta-patch-em and allows to specify some needed
commandline options for a font-patcher run

config.json:
Is read by font-patcher and can contain ligature table removal
instructions

It would be nice to combine/unify them.

[how]
Add the possibility to add commandline options in the config.cfg
file. Of course we need commandline options to specify the config
file first, so the options are parsed in two steps.

The config.file takes precedence (if possible) over directly specified
options.

This is how the new section in the config file can look like:

[Config]
commandline: --powerlineextra --mono

Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2024-04-19 14:41:48 +02:00
Fini Jastrow
c46764cd11 CI: Allow some tag to prevent locking old Issues
[why]
Suggested now fonts/glyphs/set are usually closed to keep the Issue list
to real Issues and not suggestions. People should be able to further
discuss that addition in the (closed) Issue and it will be evaluated on
the next release.

Anyhow, closing the Issue automatically locks it after half a year and
no discussion is possible anymore. That was not intended.

[how]
Add new tag that keeps closed Issues unlocked and mark the addition
Issues as such.

Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2024-04-18 07:38:50 +02:00
Fini Jastrow
7e05ed6114 Remove chocolatey generator
[why]
The font list in this has not been updated for quite some time.
There are excellent and up to date Chocolatey packages already
out there created by @sumo300

Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2024-04-12 18:24:21 +02:00
Finii
e75b027762 [ci] Update FontPatcher.zip 2024-04-12 15:24:12 +00:00
Fini Jastrow
4a723e3a43 doc: Update changelog
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2024-04-12 17:08:24 +02:00
Finii
b6c7639200 [ci] Regenerate CSS files 2024-04-12 14:41:15 +00:00
Finii
630a3eebaa [ci] Rebuild patched fonts 2024-04-12 14:34:45 +00:00
Finii
6fa413d6bc [ci] Bump release version 2024-04-12 14:31:51 +00:00
Fini Jastrow
3a26325214 Trigger Release 3.2.1
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2024-04-12 13:45:18 +02:00
Fini Jastrow
c2cd3cdf09 CI: Add SHA256 checksums to release
Fixes: #1578

Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2024-04-12 12:59:55 +02:00
Fini Jastrow
ce9910a3fb Attach license to old MaterialDesignIcons font file
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2024-04-12 08:47:03 +02:00
Fini Jastrow
c90f4ef058 Add Pomicons license
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2024-04-12 08:47:03 +02:00
Fini Jastrow
490943b955 Add SPDX license info
[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>
2024-04-12 07:18:36 +02:00
Fini Jastrow
331255b36a Make fonts.json more findable
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2024-04-12 07:18:36 +02:00
Fini Jastrow
67b49fe21b Improve PR template
[why]
I guess it would be good to explicitly state that PRs should be
discussed beforehand, as the disappointment can be big if it is not even
considered for pulling. Prior discussion can also clarify some technical
things that otherwise would need laborious changes afterwards.

Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2024-04-11 10:39:34 +02:00
allcontributors[bot]
9e38cef075
docs: add chansey97 as a contributor for doc (#1605)
* docs: update CONTRIBUTORS.md

* docs: update .all-contributorsrc

---------

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
2024-04-10 23:59:20 +02:00
Finii
401721f3ec [ci] Update FontPatcher.zip 2024-04-10 06:10:11 +00:00
Fini
c59bacd90e
Merge pull request #1597 from ryanoasis/bugfix/Ubuntu-ligatures
Bugfix Ubuntu ligatures
2024-04-10 08:07:56 +02:00
Fini Jastrow
8516c9c8b1 Ubuntu: Remove fi, fl, ... ligatures
[why]
The fi and fl ligs are formulated in the font to go through glyphs with
codepoint `F001` and `F002`. That is detected and overwriting that
glyphs with some (Font Awesome) icons is prevented.

The question is: What is more important, to have the fi ligature or to
have the fa-music and fa-magnifying_glass icons?

[how]
We sacrify here Font Nerdism over Icon Nerdism and remove the
ligatures before patching.

Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2024-04-10 08:07:03 +02:00
Fini Jastrow
066d36514c font-patcher: Correct essential glyph detection
[why]
We have two ranges of glyphs to examine:
 1. `0x0000`-`0x017f` is the Latin Extended-A range
 2. `0xfb00`-`0xfb06` are 'fi' and other ligatures

Both ranges are added to the essential glyphs (with their
sub-references, and with other glyphs that are referenced through
possub rules).

That is correct for range 1, but range 2 - the ligature glyphs - should
only become essential if they are indeed used for ligatures by some
rule.

For example with the UbuntuMono font, that does not have any fi ligature
natively, but it DOES have a filled `0xFB01` glyph, we would protect
that glyph and its subreferences (i.e. `0xF001`) - needlessly breaking
the Font Awesome icons in that font.

[how]
Add all glyphs of range 1 to the essential glyphs, but add glyphs of
range 2 only if they have a possub rule attached.

Reported-by: Eli Array Minkoff <eli@planetminkoff.com>
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2024-04-10 08:07:03 +02:00
Fini Jastrow
84140625a3 font-patcher: Correct essential ligatures
[why]
The essential glyphs are partially based on which substitution rules
the font has.

And the config.json configuration is able to remove some substitution
rules.

So we must first possibly remove rules and then examine them, not the
other way around, because now we detect 'essential glyphs' for rules
that we later remove.

[how]
Correct order of operation.

Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2024-04-10 08:07:03 +02:00
Fini
f88122f4ad
Merge pull request #1596 from ryanoasis/bugfix/fa-reorder
FontAwesome: Reorder some glyphs
2024-04-10 08:03:30 +02:00
allcontributors[bot]
8999fbf360
docs: add TehPers as a contributor for bug (#1601)
* docs: update CONTRIBUTORS.md

* docs: update .all-contributorsrc

---------

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
2024-04-10 06:59:40 +02:00
allcontributors[bot]
124c19be59
docs: add eliminmax as a contributor for bug (#1598)
* docs: update CONTRIBUTORS.md

* docs: update .all-contributorsrc

---------

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
2024-04-09 08:50:11 +02:00
Fini Jastrow
1ddfb70dd3 FontAwesome: Regerenate font
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2024-04-08 18:11:23 +02:00
Fini Jastrow
1fe58378a2 FontAwesome: Scale glyphs a bit bigger
[why]
The glyphs can look a bit small(er) when used unscaled, for example in a
Nerd Font Propo font. Note that some icons indeed got smaller, but in
general the generated font is a bit smaller than before.

Related: #1588

Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2024-04-08 18:05:37 +02:00
Fini Jastrow
64e55d8d48 FontAwesome: Regenerate mapping
Don't forget to run against the v3.1.1 glyphnames.json.

Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2024-04-08 17:27:13 +02:00
Fini Jastrow
b441dbd706 FontAwesome: Regenerate remix mapping
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2024-04-08 16:59:16 +02:00
Fini Jastrow
b5ec9d04fe FontAwesome: Leave a gap for Fira progress icons
[why]
We do not want to break the Fira progress icons, but on the other hand
these are so few icons that we can not keep the whole 0x0100 block
unoccupied.
So we just leave a small gap in the FontAwesome codepoints.

[how]
Be careful, the current code moves the icons 'to the back', which will
be different if we ever update FontAwesome. The code will break
(reassign a lot codepoints) then.

Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2024-04-08 16:58:13 +02:00
Fini Jastrow
2e854ba90f FontAwesome: Fix device icons
[why]
Previously we had icons with an open screen and a button, now it is
filled.

[how]
Swap the icons with the open icons at completely different codepoints.

Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2024-04-08 16:31:09 +02:00
Fini Jastrow
07ba7a1421 FontAwesome: Allow two identical circles
[why]
F1DB had an open circle, called circle-thin.
That must now come from the regular set.
Unfortunaly circle_o at F10C already is also the same regular set icon.
And we try to prefer the solid set if a regular set has been used
already.

[how]
Add one specific exception to the rule :-(

Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2024-04-08 16:24:05 +02:00
Fini Jastrow
c2be39d2a9 FontAwesome: Swap some icons
youtube and cloudsmith should change their codepoints, because youtube
occupies a 'lesser' youtube codepoint and yields a 'better' codepoint to
cloudsmith.

Better means the icon looks more like in FA 4.

Also swap the devices icons that in 4 showed a screen and now it is
filled.

[how]
The mechanics is a bit ... ugly.

Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2024-04-08 15:55:03 +02:00
Fini Jastrow
e4ad9ee693 FontAwesome: Fix open comments icon
[why]
When creating the renaming table the wrong number has been entered
(twice the same).

[how]
Correct the renaming thereby making the renamed icon visible.
The icon that has been 'kicked out' is moved to the end of the patched
block.

New:
F0E6 F0E6 regular/comments.svg

Moved:
F374 EFC2 brands/avianex.svg (was previously on F0E6)

Renamed:
RENAME comments_o to comment_o (F0E5)

Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2024-04-08 14:43:30 +02:00
Fini Jastrow
9bb694cafc FontAwesome: Fix remove_sign and ok_sign
[why]
The open variants of circle_xmark and circle_check are missing.

[how]
Rename the filled versions to their old (i.e. FA 4.2) names
(remove_sign and ok_sign) and let the open (regular) variants
find their place automatically.

Because we now have two more icons that would move all codepoints we can
either drop the icons that occupied the circle_xmark and circle_check
codepoints before, or we move the to the end (unpatched yet) region.

As these are just some more arrows, we drop them.

Dropped:
F30B F05C solid/right-long.svg
F30C F05D solid/up-long.svg

New:
F05C F05C regular/circle-xmark.svg
F05D F05D regular/circle-check.svg

Renamed:
RENAME circle_xmark to remove_sign (F057)
RENAME circle_check to ok_sign (F058)

Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2024-04-08 14:31:36 +02:00