nerd-fonts/bin/scripts
Fini Jastrow 4394824977 name-parser: Change naming behavior
[why]
We created two fonts, one 'normal' and one 'Windows Compatible'. The
later one used shorter names because there are some Microsoft
applications that can not work with long (family-) names.

But it would be better to have universally usable fonts, like all our
sourcefonts. It would reduce confusion and also reduce the size of
installation packages.

[how]
ID 1 (Family) family()
  Unchanged
  Take the short form font name. Appends depending on mode short or long
  weight.

ID 2 (SubFamily) subfamily()
  Unchanged
  Transmogifies Oblique to Italic.
  Returns long form styles (i.e. RIBBI)

ID 4 (Fullname) CFF.Fullname fullname()
  Take the short form font name (instead of long).
  Depending on mode take short or long styles.
  This is now in line with ID 4 = ID 1 + ID 2

ID 6 (PS Fullname) CFF.FontName psname()
  We limited the length to 31 characters, which is sometimes too short
  to have different names for fonts of one same family.
  Now we take the short forms of name suffix and styles, for example
  VictorMonoNFM-BdIt

ID 16 (Typogr. Family) preferred_family()
  The name itself is unchanged (short form name plus verbose suffix),
  but the suppression check has been fixed to really compare the
  resulting name with the ID 1 name.

ID 17 (Typogr. Subfamily) preferred_styles()
  This is unchanged (long form styles) but the suppression check has been
  fixed to really compare the resulting string with ID 2.

CFF.Familyname ps_familyname()
  Uses ID 16 now and ID 1 as fallback. Was always ID 1 before, which is
  wrong.

Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2023-04-15 20:57:08 +02:00
..
data Update sankey diagram 2023-01-23 12:40:10 +01:00
Hack [ci] Bump release version 2023-01-24 15:56:06 +00:00
lib IosevkaTerm: Prepare gh-pages for change 2023-04-05 16:04:36 +02:00
name_parser name-parser: Change naming behavior 2023-04-15 20:57:08 +02:00
archive-font-patcher.sh archive-font-patcher: Write commit hash instead of tags in readme 2023-02-17 11:44:13 +01:00
archive-fonts.sh [ci] Bump release version 2023-01-24 15:56:06 +00:00
docker-entrypoint.sh Merge branch 'master' into docker 2021-11-26 18:13:11 -08:00
fetch-archives.sh [ci] Bump release version 2023-01-24 15:56:06 +00:00
fpfix.py add combined prefix to fpfix.py 2017-05-19 03:11:58 -05:00
generate-casks.sh Fix various otf/ttf globs 2023-01-26 09:36:27 +01:00
generate-css.sh generate-css: Add codepoint to glyphnames.json 2023-03-12 21:17:08 +01:00
generate-extraglyphs.py font-patcher: Add box drawing glyphs 2023-03-10 12:32:05 +01:00
generate-font-image-previews.sh IosevkaTerm: Prepare gh-pages for change 2023-04-05 16:04:36 +02:00
generate-fontconfig.sh Fix various otf/ttf globs 2023-01-26 09:36:27 +01:00
generate-glyph-info-from-set.py [ci] Bump release version 2023-01-24 15:56:06 +00:00
generate-original-source.py Allow for growing original icon set 2023-02-13 12:19:52 +01:00
generate-webfonts.sh [ci] Bump release version 2023-01-24 15:56:06 +00:00
get-font-names-from-json.sh [ci] Bump release version 2023-01-24 15:56:06 +00:00
gotta-patch-em-all-font-patcher!.sh name-parser: Drop special handling for 'Windows Compatible' 2023-04-15 20:57:07 +02:00
optimize-original-source.sh [ci] Bump release version 2023-01-24 15:56:06 +00:00
README.md font-patcher: Patch in heavy angle brackets 2023-02-10 16:41:00 +01:00
release.sh [ci] Bump release version 2023-01-24 15:56:06 +00:00
standardize-and-complete-readmes.sh [ci] Bump release version 2023-01-24 15:56:06 +00:00
test-fonts.sh Add run comment 2023-04-12 18:20:57 +02:00
test-powerlines.sh test-powerlines: Add more glyphs and colorize 2023-02-18 17:09:35 +01:00
tests.sh [ci] Bump release version 2023-01-24 15:56:06 +00:00
update-all-contributors-website.py Rewrite update-contributors 2023-01-27 15:19:20 +01:00
version-bump.sh [ci] Bump release version 2023-01-24 15:56:06 +00:00

Contents

Note: Usually you need to call the scripts in this directory while actually being in this directory (i.e. pwd = .../nerd-fonts/bin/scripts).

  • archive-font-patcher.sh: Archives the font patcher script and subscripts and the required source glyph files [1]
  • archive-fonts.sh: Creates the release zip file of one or more font(s) from existing patched-fonts/ content [1]
  • data/: Contains plain text files used to generate the CSS and cheat sheet files
  • data/sankey/: Contains instructions on how to create the sankey glyph table manually [3]
  • docker-entrypoint.sh: This script is packaged into the docker container and is usually used to start patching [2]
  • fetch-archives.sh: Script to download the release zip archives [6]
  • fpfix.py: Can be used to set isFixedPitch property in a font [x]
  • generate-casks.sh: Generates cask files for fonts from data in archives/ [6]
  • generate-css.sh: Generates the Nerd Fonts CCS, which can be used to access the glyphs on a web page, and the Cheat Sheet [1]
  • generate-extraglyphs.py: Generates extraglyphs.sfd from Hack Regular [4]
  • generate-fontconfig.sh: Generates font configuration to enable use of unpatched fonts with Symbols Only Nerd Font [1]
  • generate-font-image-previews.sh: Generates the preview images for nerdfonts.com (i.e. gh-pages) [3]
  • generate-glyph-info-from-set.py: Generate the i_xxx.sh file from a glyph source (font) file, if the glyphs are named correctly [4]
  • generate-original-source.py: Generate original-source.otf from single glyph svgs. [5]
  • generate-webfonts.sh: Generate woff and woff2 font files from the SymbolsOnly font (for the gh-pages) [1]
  • get-font-names-from-json.sh: Helper to setup the CI font matrix from data/fonts.json [1]
  • gotta-patch-em-all-font-patcher!.sh: Patch one or more fonts 'complete' with and without mono and with and without windows compat [1]
  • Hack/: Special additional post patching script for Hack, invoked via Hack's config.cfg (not used when self-patching)
  • lib/: See its own README
  • name_parser/: Suite to set up sane Family and SubFamily names, used by font-patcher (on demand)
  • optimize-original-source.sh: Run all icons in src/svgs through inkscape to simplify (remove nodes and edges) [5]
  • release.sh: Rough process how a release is created, not used (see .github/workflows/release.yml)
  • standardize-and-complete-readmes.sh [1]
  • test-fonts.sh: Print-to-debug all glyphs we patch in [4]
  • test-powerlines.sh: Print-to-debug powerline examples [4]
  • tests.sh: Create some font usage gif movie? [x]
  • update-all-contributors-website.py: Update the contributors page on nerdfonts.com (i.e. gh-pages) [7]
  • version-bump.sh: Change version number in all scripts on a new release [1]

[1] Used by CI (github release workflow) [2] Used by CI (github docker-release workflow) [3] To be used manually (sigh) [4] To be used manually [5] Used by CI (github packsvgs workflow) [6] Used by CI (github casks workflow) [7] Used by CI (github contributors workflow) [x] Probably not used by anything