[why]
Glyphs that shall end up in two cells with xy scaling and overlap (for
example E0C0, E0C2) end up being a bit too wide.
In fact the width is the 2 cell width and 2 overlap width.
[how]
Apply the overlap (which is 'percent' factor) not on the concrete glyph
width, which is 2*cellwidth in these cases, but base it on the
one-cell-width instead.
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
[why]
The shifting in the final patched font is broken for the 'blocks'
subset. The reason is that it contains a glyph that is one unit too
small.
[how]
Manually shift the points to make it as wide as the others.
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
[why]
All the glyphs have overlap (negative bearings). That in itself is ok,
altough it (the glyph width for example) is not consistent for all
subsets.
The overlaps can interact strangely with the overlap given by the
font-patcher script.
[how]
It seems better to remove the negative bearings.
Also some glyph width are corrected (unified).
The font is then stored uncompressed now.
[note]
The script used to modify the font:
import fontforge, psMat
font = fontforge.open('src/glyphs/extraglyphs_orig.sfd')
font.encoding = 'UnicodeFull'
def adjust(f, rang, left, width):
for c in rang:
g = f[c]
if c in range(0x2599, 0x259f + 1):
plus = 0
g.transform(psMat.scale(1233/1234, 1))
if c == 0x259D or c == 0x2595:
g.width = width
g.right_side_bearing = 0
else:
g.left_side_bearing = int(g.left_side_bearing + left)
g.width = width
print('{:X} {} {} {} {}'.format(c, g.boundingBox(), g.left_side_bearing, g.width, g.right_side_bearing))
adjust(font,
[*range(0x2500, 0x2570 + 1), *range(0x2574, 0x257f + 1)],
20, 1233 + 40)
adjust(font,
range(0x2571, 0x2573 + 1),
87, 1280+127)
adjust(font,
range(0x2580, 0x259f + 1),
0, 1233)
font.generate('TEST.sfd')
font.generate('TEST.ttf')
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
[why]
It can be confusing what is or is not synced when scaling-shifting.
[how]
Add text from commit:
90bde735f font-patcher: Use ScaleGlyph BB to align glyph
Also add a new (documentary) property for the tables that can be checked
so that nothing unexpected will happen.
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
[note]
Glyphs taken from FiraCode; remove negative bearings and add a helper
glyphs for vertical alignment that is used for the combined boundingbox
calculation but not patched in.
Fixes: #1345
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
[why]
Some glyphs in the (patched) E7B0-E7CF region seem to be too big.
[how]
The codepoints in the symbol font are 0x0100 less.
These are the "small things" that had a specific scale rule, which is
not needed anymore after we dropped these small icons and filled those
codepoints with new and bigger icons.
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
$ ./generate
Program root: /usr
Reading mapping file
Found 496 entries
Unpacking Devicons archive
Mixing Vorillaz Devicons and possible fixes in
Found 1688 svgs
Bad RGB color spec: rgb(0%,0%,0%)
Bad RGB color spec: rgb(0%,0%,0%)
Bad RGB color spec: rgb(0%,0%,0%)
Bad RGB color spec: rgb(0%,0%,0%)
Using fixed svg for angularjs-plain.svg
Using fixed svg for awk-plain.svg
Bad RGB color spec: rgb(0%,0%,0%)
Using fixed svg for bash-plain.svg
Bad RGB color spec: rgb(25.882353%,12.156863%,37.254902%)
Using fixed svg for llvm-plain.svg
Bad RGB color spec: rgb(9.411765%,71.372549%,96.470588%)
Generating devicons.ttf with 496 glyphs
Generating GlyphInfo i_dev.sh
Finished
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
[why]
Plain icon is missing but would be better than the wordmark icon.
[how]
Add plain icon, taken from their website.
[note]
Similar (but slightly different svg) to
https://github.com/devicons/devicon/pull/2291
Suggested-by: hasecilu
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
[why]
The fixed icons have been improved and suggested as fixes upstream.
The improvements were missing here.
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
[why]
Some entries are only needed to adapt the Vorillaz Devicons to the
Devicons Devicon. After the mapping file has been adapted we can remove
them to clean up for coming updates.
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
[why]
Some icons that have been dropped from devicons are in wide use and so
we want to keep those at their old codepoints.
The Vorillaz dropbox logo is very old. As the icons we keep from
Vorillaz will not be maintained by any upstream we have the
responsibility to keep it up to date.
[how]
Put the icons in the appropriate folder; icon files taken out of
vorillaz/devicons `!SVG/` directory.
Adapt rules and mapping.
The Dropbox icon has been hand-modified (simplified) with the original
logo as starting point.
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
This adds the current mapping file (which has been hand-crafted) and the
scripts to update the Devicons.
This also fixes Vorillaz' typo 'rasberry_pi' -> 'raspberry_pi'.
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
[why]
The glyphnames in the font files are sometimes off. We take them from
the symbol source/font and ofter they are empty or even plain wrong (esp
if we move to other codepoints).
[how]
We have the list of all glyphnames that is generated by collecting all
data from the i_*.sh files. When patching we take this information now
and use it if appropriate.
Make sure the glyphname.json file is included in our zip patcher release
and also in the Docker image. It will run as before if the file can not
be found or is invalid etc.
Suggested-by: Ulices <hasecilu@tuta.io>
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
[why]
sqlite is referred to as sqllite (with two L).
[how]
Correct i_dev and rebuild css and glyphnames via generate-css.sh
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
[why]
The right align check does produce wrong results if a proportional font
is generated.
[how]
Just skip the aspect ratio alignment re-check and leave the work to the
proportional font shifting that is done afterwards anyhow.
Fixes: #1695
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
[why]
A lot of icons that do not represent a 'weather state' but rather a
'weather event' are in the 'weather state' scaling group which scales
the icons waaaay down. This makes those icons almost unusable in stand
alone use cases.
[how]
Put all the extra icons into a new scaling group that is defined before
the weather state scaling group and thus takes precedence.
Split the final scaling group to have some icons on individual scale.
Fixes: #1708
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
[why]
archive-fonts.sh:60:10: note: Double quote to prevent globbing and word splitting. [SC2086]
Although the variable can not hold multiple words, it is better to
always quote.
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
[why]
There are still the annoying vertical colored lines sometimes that turn
up due to subpixel rendering.
[how]
Add "landing platforms" to the big triangular glyphs (E0B8, E0BA, E0BC,
E0BE) and flames (E0C0, E0C2).
The landing platform is approx 7% wide (based on one-cell width, assuming
the glyphs are all rendered 2 cells wide for the "xy2" ones).
Increase the overlap width for patching to 5%.
See also:
Merge request #1551
Merge request #1419
Commit 5e285867
Commit a8b9e1daFixes: #1629 (well, not the top problem which is unfixable)
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
[why]
With Nerd Fonts v3.2.0 Font Awesome was updated to 6.5.1.
A lot icons got replaced and so the scaling was completely different
then with the old Font Awesome version as the icons were different.
Some complained that the new icons were to small, so that was fixed with
Nerd Fonts v3.2.1, where the size was increased by "approx 10%".
Now this seems a bit on the big side, so we decrease the size a bit.
[how]
v3.2.0 EM 1400 relative size 1.00
v3.2.1 EM 1200 relative size 1.17
v3.3.0 EM 1300 relative size 1.08
So we go to 92% of v3.2.1, i.e. -8% in height.
Note that the original change with v3.2.1 was +17% instead of the
intended 10% :-(
That 10% was just "some random number out of the blue".
Related: #1588Fixes: #1614
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
[why]
After we added the possibility to process font archives (.ttc) we lost
the ability to process woff and woff2 fonts.
It seems woff(2) files show no font names in fontforge, see
https://github.com/fontforge/fontforge/issues/1964
[how]
Open woff(2) files differently.
Fixes: #1647 (further down)
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
[why]
Somehow a wrong Font Logos font is commited.
"River" at F381 missing.
[how]
Download font from Font Logos Release page and add that.
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
[why]
If someone uses the SymbolsOnly font that person is likely to also like
the fontconfig setup file.
Fixes: #1713
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
[why]
If there are no font files (e.g. in a font that is not released in repo)
the call succeeds but creates an archive with just the README and no
fonts.
[how]
Fail with an error if not at least one font file is packaged.
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
[why]
In some abnormal circumstances a README of the previous font can end up
in the next font's archive.
[how]
Remove the README file always directly after packaging.
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
[why]
The fonts where we are allowed to keep the font name despite the RFN
clause in the license have nothing mentioning of RFN or the exception in
the readmes. But it is recommended (required?) by SIL to inform users of
that exception in a most transparent way.
[how]
Add that bit of information to the readme files in the patched-fonts
directories and the release archives.
[note]
Also some other information seemed to be missing, by the complete
rebuild of the readme it also got updated (Gohu/ProFont).
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
[why]
Sometimes people like to call the scripts from any directory and do not
want to change into the bin/scripts/ directory first.
[how]
Just access the lib files relative to the cheatsheet script file.
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>