Commit graph

1376 commits

Author SHA1 Message Date
Eugene Chulkov
196f78789a Fixes grammar mistakes in readme_uk.md
Fixes a big number of imprecision and grammar mistakes in current Ukrainian translation
2022-06-29 07:23:31 +02:00
Fini Jastrow
fef67f39a6 doc: Correct example patch call through fontforge [skip ci]
[why]
The readme states that one should call `fontforge` with `./fortforge`.
That means that no PATH is used, and will usually fail, because the user
is in our repo and not in the directory where the fontforge binary
resides in. And even if ... then the `font-patcher` script would be
somewhere else. That makes no sense.

[how]
Drop the `./` prefix of the `fontforge` call.

Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2022-04-27 16:23:06 +02:00
John Yeates
aabed73fdd Fix wiki link in feature request template [skip ci]
This was pointing to the vim-devicons repo.
2022-04-09 00:20:22 +02:00
John Yeates
aac427775c Point to correct wiki in bug report template [skip ci]
The Wiki link in the bug report template points to
https://github.com/ryanoasis/vim-devicons/wiki rather than the
nerd-fonts wiki. I suspect that's not intended :-)
2022-04-09 00:19:00 +02:00
Fini Jastrow
26d39bb8d1 CI: Include newest fontforge release in tests
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2022-03-11 12:40:26 +01:00
moritzdietz
df6d602440 Rebuilds patched fonts 2022-02-24 10:52:57 +00:00
Moritz Dietz
58898d3587
Merge pull request #776 from moritzdietz/moritzdietz/JetBrainsMono-2.251 2022-02-24 08:42:17 +01:00
Fini
f16d5dde1b
Update issue templates (#782)
A lot of issues do not have screenshots and which glyphs are the problem has to be asked and or guessed.

Also change to newer github issue template method.

Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2022-02-18 18:22:37 -08:00
ryanoasis
c98cb457d4 Rebuilds patched fonts 2022-02-05 20:29:43 +00:00
Ryan L McIntyre
2ca9c163e2
Merge pull request #732 from ryanoasis/bugfix/monospaced-glyph-scaling
Bugfix monospaced glyph scaling
2022-02-05 09:44:12 -08:00
moritzdietz
dd5274002d
JetBrains Mono v2.251: Add unpatched fonts
Signed-off-by: moritzdietz <moritzdietz@users.noreply.github.com>
2022-02-02 18:52:06 +00:00
Ryan L McIntyre
877887cac2
Merge pull request #752 from ryanoasis/bugfix/try-to-save-ttc [skip ci]
Handle TTCs gracefully
2022-01-09 11:19:38 -08:00
Ryan L McIntyre
d2cd41e4c5 Stop gap fix for #753 [skip ci]
* set a width on the control characters for 1000-em and 2048-em so width works properly with --mono flag
* also fixes the naming
2022-01-09 03:15:45 -08:00
Ryan L McIntyre
5306b26822
Update backers.md 2022-01-05 21:23:43 -08:00
Fini Jastrow
702e4be813 font-patcher: Handle TTCs gracefully
[why]
When a True Type Collection file (.ttc) is used as font source this is
not handled and just the first file in the collection is processed and
saved. But the user is not informed.

When the target file format is True Type Collection, no file at all is
written.

These are two distinct cases, because you can in fact open a .ttc and
save the first font (patched) when specifying a different extension via
`-ext`. Or open a normal font and specify `ttc` as extension i.e. target
file format.

[how]
Check if a collection is to be opened. As we currently have no code to
loop through all fonts (and just the first font is processed) a message
is issued and we exit. Typically a user would want all the fonts and
would have to 'explode' the collection into multiple single font files
beforehand.

Prevent the target to be ttc, as that is not handled in fontforge at
all. To save TTCs a different API function is to be used. Unfortunately
fontforge does not care and just does nothing.

font.generateTtc() would have to be used with ttc extensions...

Anyhow. As the looping through all fonts is missing anyhow, and I feel
the usefulness is very slim, we just prevent silent failures with this
commit.

Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2022-01-05 16:55:52 +01:00
ryanoasis
704336735f Rebuilds patched fonts 2022-01-04 05:43:04 +00:00
Ryan L McIntyre
d702344b51 Removes unnecessary Noto fonts that also cause long patching process and high size usage 2022-01-03 09:28:34 -08:00
Ryan L McIntyre
d2aa06473e RC: use all fonts for matrix 2022-01-03 05:50:16 -08:00
ryanoasis
6424cbbffd Rebuilds patched fonts 2022-01-03 21:28:58 +00:00
Ryan L McIntyre
b7866f2114 RC: Commit the patched font subset to the repo 2022-01-03 05:05:42 -08:00
Ryan L McIntyre
adcef8e294 Fix missing font patcher archive readme info 2022-01-03 03:48:46 -08:00
Ryan L McIntyre
30d2a0427b Fix font patcher going to separate release 2022-01-03 03:47:23 -08:00
Ryan L McIntyre
1e65572c2c RC font-patcher archive missing creds 2022-01-03 03:27:10 -08:00
Ryan L McIntyre
3bb002c395 Add font patcher to release in separate job 2022-01-03 02:15:14 -08:00
Ryan L McIntyre
e630dd1697 Fixes use of archive, archive patcher and cleanup 2022-01-03 00:53:22 -08:00
Ryan L McIntyre
2f429c8fac Cleanup incorrect license files in patched dirs 2022-01-02 08:57:00 -08:00
Ryan L McIntyre
6748326a90 RC: Upload multiple paths 2022-01-01 10:23:38 -08:00
Ryan L McIntyre
c1d81cdda8 Tweak RC for less fonts and try wildcard pattern for artifact upload, comments out commit for now 2022-01-01 07:50:03 -08:00
Ryan L McIntyre
877fef6831 use smaller subset of fonts in RC and do a single commit using artifacts between jobs 2022-01-01 06:48:04 -08:00
Fini Jastrow
e805b87997 font-patcher: Resolve rounding error when rescaling
[why]
The symbol glyphs are rescaled (when --mono is specified) so that they
have a predefined width after insertion in the source font (to be
patched font, called 'target font' below).

Sometimes the width of the glyph after insertion is off a bit, like
0.2% or so. This seems strange, as we calculate the target width
exactly.

[how]
As expected this are rounding errors. In the old code we take the
original width of the glyph when it is in the symbol font and
rescale it when it is in the target font. The width of the glyph
should be the same in the source and the target font, right?

It fact it is not, because the coordinate systems of the two fonts can
(and usually are) different. fontforge's magic scales the glyph
into the new coordinate system on insertion, such that it is approx
the same as before. But when the coordinate system is integer based
we get some small rounding errors just from copy and paste.

To solve this, we
- first copy the glyph from the source into the target font
- then determine the glyphs width
- then rescale the glyph to the target width

Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2022-01-01 01:52:22 +01:00
Fini Jastrow
d887391ca0 font-patcher: Add docu for ScaleGlyphs
[why]
The ScaleGlyph just gives a lot of anonymous numbers.

[how]
Write down which glyphs are rescaled and group them to related
groups.

They are not changed to 'new' ScaleGlyph method.

[note]
Checked the current Devicons, and they are completely different to ours.

Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2022-01-01 01:50:47 +01:00
Fini Jastrow
d8579b1b11 font-patcher: Use new ScaleGlyph for problematic Font Awesome
[why]
While patching for --mono with Font Awesome we get glyphs that are
too wide, for example '_520' (0xF22B). In the symbol font original
it is about 1918 wide. According to ScaleGlyph FONTA_SCALE_LIST
it shall be scaled as 0xF17A - which is only 1664 wide.

[how]
Fill the ScaleGlyph of Font Awesome with groups of glyphs that shall be
kept same-sized after scaling.

Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2022-01-01 01:50:47 +01:00
Fini Jastrow
e5768e925c font-patcher: Redesign ScaleGlyph parameter
[why]
While patching for --mono with Font Awesome we get glyphs that are
too wide, for example '_520' (0xF22B). In the symbol font original
it is about 1918 wide. According to ScaleGlyph FONTA_SCALE_LIST
it shall be scaled as 0xF17A - which is only 1664 wide.

This results in too wide symbols in the patched font.

[how]
The ScaleGlyph dict works like this:
- 'ScaleGlyph' Lead glyph, which scaling factor is taken
- 'GlyphsToScale': List of (glyph code) or (list of two glyph codes
      that form a closed range)) that shall be scaled

Note that this allows only one group for the whole symbol font, and
that the scaling factor is defined by a specific character, which
needs to be manually selected (on each symbol font update).

The redesign drops 'ScaleGlyph' and changes the glyph list to:
- 'GlyphsToScale': List of ((lists of glyph codes) or (ranges of glyph codes)) that shall be scaled

Each item in 'GlyphsToScale' (a range or an explicit list) forms a group of glyphs that shall be
as rescaled all with the same and maximum possible (for the included glyphs) factor.

The old data structure is automatically rewritten to new entries.

[note]
This commit just changes the algorithm. As the new ScaleGlyph is not
used for any font, there is no change in the patched fonts.

Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2022-01-01 01:50:47 +01:00
Fini Jastrow
cfcd15aa25 font-patcher: Issue warning if symbol scaling fails monospace goal
[why]
Sometimes fonts patched with --mono are not recognized as monospaced
fonts.

One reason can be that the inserted glyphs are too wide. This will show
in the end in the font's advanceWidthMax property which is not congruent
to the normal font width.

[how]
After all the scaling and jiggling we double check if the new glyph
already in the to-be-patched is not wider than our design goal for the
width. Normally one would expect that this always holds.

An exemption could be if we insert ligatures, that are two spaces wide.
But at the moment we can not anyhow (because there is no way to add
information to the ligature tables right now).

If a glyph is wider a warning is issued.

No warning is issued if the glyph shall have some overlap. That overlap
is taken into account of this check.

Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2022-01-01 01:43:28 +01:00
ryanoasis
de13c66797 Rebuilds patched fonts 2022-01-01 00:28:50 +00:00
ryanoasis
c45941eee5 Rebuilds patched fonts 2022-01-01 00:28:16 +00:00
ryanoasis
331b3c1fbb Rebuilds patched fonts 2022-01-01 00:27:47 +00:00
ryanoasis
e3f60ecc88 Rebuilds patched fonts 2022-01-01 00:27:28 +00:00
Ryan L McIntyre
d3e09c2a29 Attempt fix build action 2021-12-31 08:11:51 -08:00
ryanoasis
447c6246c2 Rebuilds patched fonts 2021-12-31 23:10:29 +00:00
ryanoasis
187d9e0312 Rebuilds patched fonts 2021-12-31 23:10:15 +00:00
ryanoasis
381d398ce8 Rebuilds patched fonts 2021-12-31 23:10:08 +00:00
ryanoasis
01bd1062b6 Rebuilds patched fonts 2021-12-31 23:09:33 +00:00
ryanoasis
9ed2450224 Rebuilds patched fonts 2021-12-31 23:09:12 +00:00
ryanoasis
7f3ea3c5c5 Rebuilds patched fonts 2021-12-31 23:08:36 +00:00
ryanoasis
5f9e05a149 Rebuilds patched fonts 2021-12-31 23:07:22 +00:00
Ryan L McIntyre
bd8f3c56eb Get all the fonts for the release matrix 2021-12-31 06:54:14 -08:00
ryanoasis
7648367146 Rebuilds patched fonts 2021-12-24 23:16:28 +00:00
ryanoasis
34a9f6717d Rebuilds patched fonts 2021-12-24 23:12:45 +00:00
ryanoasis
20c4134e09 Rebuilds patched fonts 2021-12-24 23:03:25 +00:00