$ ./optimize-original-source.sh doit
Checking for SVG simplifications
Files might be MODIFIED by this run ('doit' specified)
Found 177 svgs in ../../src/svgs
Simplification for ocaml.svg (5249 -> 3604) 68%
Simplification for apple.svg (3228 -> 2302) 71%
Simplification for pug.svg (5507 -> 4243) 77%
Simplification for jenkins.svg (13014 -> 6406) 49%
Simplification for firefox.svg (6276 -> 4640) 73%
Found 5 svgs to simplify
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
[why]
Some of the svgs still render incorrect in fontforge.
[how]
Different issues, for example wrong direction of the sub-path and still
(forgotten?) multiple layers, etc. Manually tinker until they work.
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
Outline fonts are a bit picky about the embedded svgs.
Best is if there is only one path.
Ungrouped and path merged in Inkscape manually.
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
Some icons are now existing twice.
* Their crystal icon looks wrong (rotationwise), compare with https://github.com/crystal-lang/crystal
* Their C logo misses the standard's hex shape
* Their C++ logo misses the standard's hex shape
* Their Elixir icons has a dent in the reflextion?
* Their Elm icon is colored
* Their Git Folder is not a folder
* Their Kotlin icon is colored
* Their Puppet icon is more correct
* Their Pursescript icon is identical
* Their Windows icon is more modern
That means:
* Do not include their crystal, elixir, elm, kotlin, purescript
* Do not include our puppet, windows
* Keeping both c, c++, git-folder
[note]
Keeping their old files around with changed suffix to find this commit
in the future on updates.
Reuse old icons that were labeled as 'seti' but have been vanished as
new custom types with appropriate file naming.
And remove 'red' versions of icons. We have a black and white font...
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
Add "_nf" suffix to our own svgs.
Add our icons database
Adapt filename in icons database
Just change the filenames of the custom icons to include the new "_nf"
suffix.
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
[why]
Keeping the ligature removal tables up to date with source font updates
is quite a maintenance burden.
Usually if a terminal supports ligatures at all it has an option to
disable them.
Present ligatures do not prevent monospaced fonts and monospaced
detection.
It was only present in v2.0.0, and the code has been broken with v2.1.0.
[note]
Updated example ligature removal table to the one for Iosevka.
Left stubs in relevant code passages to facilitate finding this commit.
Fixes: #976Fixes: #975Fixes: #973
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
[why]
checkout-files checks out the last version on the push target branch,
not the version we actually pushed.
checkout clears all the workspace, so out file we want to commit is
lost.
[how]
Use commit hash from just pushed commit.
Use temporary directory outside of workspace to store the file.
Unfortunately we haved to copy back because github-pages-deploy-action
seems to take no absolute paths.
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
[why]
The description is displayed like this:
* Info: <description>
Sometimes the description text starts with lowercase, sometimes with
caps. This looks weird.
[how]
Always start the description with uppercase.
[note]
Also correct missing(?) description for one font.
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
Well, ... we need to fetch the git repo, as the deploy action needs it.
Which is documented... :-}
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
[why]
Both, Ubuntu and Ubuntu Mono link to the #Ubuntu preview on
ProgrammingFonts.org. But that ends up in Ubuntu Mono. You can not
preview the proportional version.
[note]
This commit must be synched to branch gh-pages manually.
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
[why]
A lot of the stuff in the gh-pages is not yet automatized.
See bin/scripts/README.md items with "[3]".
[how]
Start at least with the fonts database file.
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
Tried to come up with a good link to each of the source fonts. Some have
just been released once years ago and have no homepage anymore: They now
have a link to google's font repository or at least the designer name
mentioned.
Also checked all fonts for upstream updates, results are in
https://github.com/ryanoasis/nerd-fonts/discussions/962#discussioncomment-3894678
Raw links can be linked to HEAD (which resides in the default branch)
rather than - (which is the default branch).
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
[why]
With addition of the version the lines are too long to be rendered
without wrap in the default gitlab width.
The EM size is not really relevant for most, while the version is.
And we want a concise table, so something has to leave.
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
[why]
If we ever switch the default branch the links would break. So just say
'default branch' directly, whichever that may be.
[note]
CI workflows not changed, I do not know if there is an alias for the
default branch available.
Fixes: #971 (partially)
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
[why]
This makes it easier to check if we are up to date.
[note]
Just checked the versions where a source links has been given.
Updated a few links and sorted stuff.
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
[how]
./gotta-patch-em-all-font-patcher\!.sh /NerdFontsSymbolsOnly
Just add `Mono` variants to commit.
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
[why]
We do not want fonts with gap. Gaps are explicitely removed on patching
anyhow. Why should the templates have gaps?
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
[why]
If we have an empty input font (i.e. for Symbols Only font) and that
font has a gap.. That gap will be redistributed to a gapless font where
the ascenders and descenders are expanded to fill/keep the gap.
If the font has no height (i.e. == ) and a gap, the height will
afterwards be > 0 and the empty font detection breaks.
[how]
Detect empty fonts before gaps.
Fixes: #965
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
[why]
Use of abs() looks like we do not know if the descenders are expected
to be positive or negative. But it is well defined.
Furthermore on abnormal fonts (where the descenders are nonexisting)
we can use the wrong value. Well, that is academic I guess.
[how]
In our own `ymin` value we store a value like os2_descender, which means
that it is on the same axis as the ascender (ymax). Typical values where
the baseline is on y-coordinate 0 ymax will be positive and ymin (being
below the baseline) will be negative.
The total height has to be calculated from adding ascender + -descender
(when the descenders are lower than the ascenders, which is guaranteed).
The older descender values have positive values; are on an opposite y
axis... The height with them would be ascender + descender.
Well, WE have in the font_dim os2-like values...
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
[why]
There is code that shall read the config file and act on
config_has_powerline.
Usually it is set to "1", but Ubuntu has this "0".
Regardless the content, if the variable has content the code assumes the
value is true. That is probably not wanted.
[how]
Use a numeric comparison.
[note]
```
git blame UbuntuMono/config.cfg
4abe6c77b0 Ubuntu/Bold-Italic/config.cfg (Ryan L McIntyre 2017-07-23 17:17:21 -0400 1) config_has_powerline=0
```
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
[why]
We do not want to rebuild all fonts, just the affected ones.
Without a proper release timestamp this is impossible (i.e. harder) to
do via CI, so do it manually 😬
[how]
./gotta-patch-em-all-font-patcher\!.sh /JetBrainsMono/Ligatures/ExtraLight
./gotta-patch-em-all-font-patcher\!.sh /JetBrainsMono/Ligatures/Light
Hmm, the patched fonts got slightly smaller. These font file sizes are a
mystery for me.
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
[why]
In JetBrainsMono v2.242 the exclam-equal ligature is broken.
It has been fixed in v3.000.
[how]
The JetBrains Mono v3 has not been released yet. So we just transplant
the one broken glyph from v3.000 into our v2.242.
[note]
https://github.com/JetBrains/JetBrainsMono/issues/494Fixes: #963
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
[why]
For some fonts the calculated checksum(s) was wrong.
[how]
Misplaced the multiplier ... the LSB shall not be shifted of course, but
the current code shifts as last action: Also the LSB is shifted.
First shift (old) accumulated content, then add new data.
In that way the last added data (LSB) is not shifted.
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
[why]
We just ignore specified gaps in the source fonts (i.e. set them to
zero). This reduces the line spacing in the patched font (because the
gap is missing).
[how]
Distribute the gap INTO the cell, so that we can work with zero gap (we
need that for the powerline glyphs), and still keeping the powerline
glyphs centered about the regular glyphs AND keeping the total line
spacing.
Idea-by: Tushar Singh <tusharvickey1999@gmail.com>
Fixes: #850
Reported-by: Joe Bolts
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
[why]
We have only a rather old 3270font: v1.2.23
This new font can be processed with current FontForge without problems.
And we have the benefit of an update.
[how]
Because the paths change (Medium->Regular etc) we need to purge the
patched-fonts/ directories manually. The automatic purging does work
only if at least the paths are kept.
[note]
https://github.com/rbanffy/3270fontFixes: #947
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>