CascadiaCode: Rehint and use ttf
[why]
A lot people (read: People on Windows) have the variable font (VF) version of
Cascadia Mono installed - it comes bundled with Windows Terminal.
The static Cascadia Mono instances that Microsoft releases are hinted
with ttfautohint which creates small sized glyphs that are visibly very
different. People compare the static Caskaydia Mono with the VF Cascadia
Mono and are surprised.
[how]
We need to re-hint all the fonts, to get hints that are comparable
to the VF hints. We can not use the hints of the VF because the outlines
are different: The VF has (of course) overlapping outlines, while the
static ones (as usual) have not.
The re-hinting can be done with VTT or TTH - both showed results that
are more like the original VF font. The usual ttfautohint has been used
of the static fonts in the font release and can not be used. It is the
reason for this whole problem.
* Used VTT 6.35
* Open font file in VTT
* Import all programs
* Generate 'VTT talk' via Tools -> AutoHint -> LightLatinAutoHint
* Save font file as ...
References:
https://github.com/microsoft/cascadia-code/issues/371https://learn.microsoft.com/en-us/typography/tools/vtt/
See also commit
b6301e5 CascadiaCode: Rehint and use ttf
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
The speak property is not widely supported and is currently not a standard property. If you're using it to prevent screen readers from reading certain elements, a more standard approach is to use the aria-hidden="true" attribute in your HTML.
This will hide the span with the class nf from screen readers. This is a more widely supported and standard way of controlling how screen readers interact with your elements.
in generate-font-image-previews.sh line 22:
if [ "$imagePreviewFont" != "$patchedName Nerd Font" -a "$imagePreviewFont" != "$patchedName NF" ]; then
^-- SC2166 (warning): Prefer [ p ] && [ q ] as [ p -a q ] is not well defined.
For more information:
https://www.shellcheck.net/wiki/SC2166 -- Prefer [ p ] && [ q ] as [ p -a q...
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
[why]
When we changed the naming for Visual Studio all the name entries use a
shortened name if the font needs the shortened name for the ID1/2
names.
This means sometimes the family name ends in NF and there is no
differing (long) family name anymore.
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
[why]
We have a lot of weights, probably not all useful for terminal usages.
[how]
Use more current fetching script and limit number of weights.
Also drop the directory substructure.
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
[why]
It is better to have a not-abbreviated file name so that one can make
sense out of the name parts, especially when doing a partial patch.
With the previous commit we ended up with all abbreviated names.
The filename length is hopefully not limited, at least not as severe as
the SFNT table entries.
[how]
We need to store the answers somewhere because the naming is only
understood by the FontnameParser object which we throw away soon.
As fallback we still can parse the SFNT table, for example when the old
renaming is used.
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
[why]
Because the newer Preferred/Typographic names ID 16 and ID 17 have not
a very demanding length limit we add the long form of the name
addendum (i.e. Nerd Font, Nerd Font Mono, Nerd Font Propo).
In the more restricted old names ID 1 and ID 2 we use the short forms
(i.e. NF, NFM, NFP).
This seems to be problematic with Visual Studio (Community) 2022 and the
fonts can be selected but are not really used.
The Postscript family name is never shortened which seems to be of no
consequence, but still is different than the other.
[how]
When creating the Preferred/Typographic Family (ID 16) we check the
shortening mode first and abbreviate the parts as needed and alike ID 1.
This will also change the filenames, because they base on the SFNT
table. We can not change that without changing the whole mechanism.
[note]
Also add new tool that lists all names of fonts, including the
Postscript ones.
Fixes: #1242
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
[why]
With Martian Mono we have a font that uses aggressive abbreviation for
the weights and styles (two letters mostly) in all name fields. That is
very hard to parse.
[how]
We rewrite the filenames such that it contains all the necessary information
and use the new patcher flag use the filename as naming source.
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
[why]
With Martian Mono we have a font that uses aggressive abbreviation for
the weights and styles (two letters mostly) in all name fields. That is
very hard to parse.
[how]
Adding rules that detect these very short abbreviations might trigger in
a lot wrong places. As this is the only font that uses that we do not
want to risk that.
Instead we rewrite the filenames of the source font (Martian Mono) such
that it contains all the necessary information and add a new flag to the
patcher that allows it to use the filename as naming source.
Yes, as in days long past ;-)
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
SemiWide and Narrow might be nice in some contexts, but that is not
really the audience of Nerd Fonts I guess.
Lets start with few and we can always add more if there is really a
demand.
Simplify the paths; the old style stems from the time when we patched
all variants per source font. Nowerdays the fonts are few (3 per source)
and will almost always be installed together anyhow.
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
[why]
We dropped the subdirectories and that might or might not be handled
gracefully by the release workflow.
[how]
Just flatten out of the in-repo release directory.
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
Apart from all the usual fixes and expansion in the source font the
weight metadata has been fixed.
Fixes: #1333
Reported-by: LeoniePhiline
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
They renamed
M Plus Code Latin -> M Plus Code Latin50
M Plus Code Latin Expanded -> M Plus Code Latin60
The versioning is rather divers, add more information into the font
specific README file.
Fixes: #1333
Reported-by: LeoniePhiline
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>