[why]
We had a copy of the original Fira Code website.
But all the comments and links are only partially relevant for the Nerd
Fonts patched version, e.g. how to install.
[how]
To reduce confusions do not copy the original readme, but link it.
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
[why]
The JetBrains Mono font has a lot of different families. A lot users install
just all "JetBrainsMono Nerd Font" families, and this can break in a lot
different ways.
[how]
Just turn the feature on in font-patcher (via patch-em-all's config).
Fixes: #542
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
[why]
Material Design Icons has grown quite a bit.
[how]
Add the icons at their original position which is in PUA1.
Use the desktop font instead of the webfont.
Add cheat cheat file.
Fixes: #365
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
[why]
The new asm icon replaces the apple icon.
I believe this has been entered as offset by mistake.
[how]
Add new icon to bottom.
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
[why]
The 'new' in the middle can be confusing. What is the meaning?
Also the offsets are easier to graps if they are all equally wide (i.e.
have leading padding zeros).
See https://github.com/ryanoasis/nerd-fonts/pull/990#discussion_r1016193488
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
[why]
The Iosevka font has a lot of different families. A lot users install
just all "Iosevka Nerd Font" families, and this can break in a lot
different ways.
I will try to collect Issues possibly caused by this in PR #1019.
[how]
Just turn the feature on in font-patcher (via patch-em-all's config).
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
[why]
We have 'license' is the archives, but the 'licence' files are missing.
We allow all-caps and all-lowercase, but not camelcase 'License'.
Sometimes we have OFL.txt which is missing.
[how]
Enable both spellings and also camelcase.
Enable OTF text files.
Also fix misunderstanding of regex vs glob ([] vs {}), where the glob
needs a comma and the regex does not.
Add missing LICENSE files for 2 fonts.
Fixes: #979
Reported-by: Jeremy Thorn <moralground>
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
$ ./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]
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]
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]
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>
https://github.com/googlefonts/Inconsolata
Only small changes visually, but of course completely different from the
paths (because now the source is a 2D variable font).
Small letter t changed a bit.
Under the letter dot and block-building glyphs changed.
Subscript numerals.
Closes: #774
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
[why]
The glyph is needlessly detailed (for a font).
There is another, more simple glyph, which is also used by fileicons.
More details see PR #833.
Reported-by: tecosaur <contact@tecosaur.net>
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
[why]
Entering two consecutive vertical-bars (i.e. `||`) results in the
display of just one - the right - bar glyph.
[how]
The ligature removal is only partially implemented. The rule at work
here is not removed. There are two parts at work:
One rule to replace the first bar with nothing.
One rule to replace the second bar with a ligarture glyph with negative
left bearing, that shows two bars.
The second rule has been removed, but the first is still there.
This commit also removes the first rule.
[note]
The whole design here is broken. We remove only some rules and leave
others intact, for reasons unknown to me. Other ligartures will also be
only partially removed and leave the user with unreadable output.
We should either remove all (!) tables and not just some, or leave the
ligatures in the font.
As the ligature removal has been broken at large anyhow (see previous
commit), I would suggest to not remove any ligatures (anymore).
Fixes: #934
Reported-by: Rádler Ákos <akos.radler@gmail.com>
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
[why]
This is so big, it will shrink 2 times with a
optimize-original-source.sh run, and we want to have 'optimal' glyphs
after the next (automated) CI run
[how]
Use optimize-original-source.sh once and just commit the php.svg.
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
[why]
When we add a custom glyph (or want to update Seti) the process is
rather laborious and we are needed to change the font and the
accompanying `i_seti.sh` in sync.
[how]
We use a data file to map icon (svg) filenames to codepoints and
readable names.
That file is parsed and the font and info file is created (overwritten
in the repo); and could then be easily committed. This can be a CI
workflow.
Having a dedicated mapping file (`icons.tsv`) enables us to have stable
codepoints for the same symbol over time. Changes in codepoint
allocation can be checked in git.
Having the font autogenerated help guarantee that the icons are all
likely scaled. We rescale them all to the same size and mid-position.
That is not needed for font-patcher, because it rescales and shifts
again based on to-be-patched font metrics. But it certainly is better
for a view into the original-source font.
Sizes and position are still roughly equivalent to the hand positioned
glyphs.
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
[why]
The commit
59c45ba4e Remove negative bearings on 2048-em glyphs
has been introduced to fix some problems with the symbols only font, at
least from the commit message.
That font is intended to be used in font-fallback situations, and so we
do not know the advance width of the current font anyhow. It does not
make sense to enforce an advance width with these.
[how]
Create the NerdFontsSymbolsOnly as if 59c45ba4e would be still in
effect, i.e. with variable advance width.
[note]
There have been a lot discussions about the reverted commit, some can be
found here:
* #900
* #764
* #731
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
[why]
The option `--parser` instructs `font-patcher` to come up with the font
naming by utilizing the FontnameParser object.
This sounds logical from a programmers perspective, but the option name
is not descriptive for end users of `font-patcher`
[how]
As usual naming is hard. A short but maybe more descriptive name for the
option can be `--makegroups`; as it describes what the option means for
the end user: functioning font grouping.
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
[why]
We want to patch Cascadia with `--parser` while all other fonts shall be
patched as before.
[how]
Use the config.cfg file that each source font can have to specify one
arbitrary option to the font-patcher calls.
This is just set in Cascadia's config.cfg, but can be extended to other
fonts gradually.
In this way the stand alone `font-patcher` works as before, unless
someone adds the `--parser` option. Which probably will become the
recommended way to use it over time.
The patch-em-all script on the other hand can be instructed to use or
not to use --parser on a font by font basis via their cfg file.
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
Also including the italic variants.
We do not use the PL versions but patch in the PL glyphs ourselves.
If this is smart can be discussed (I believe: no).
This does not add 'Cascadia Mono'.
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>