nerd-fonts/bin/scripts
Fini Jastrow b0e5a35477 name-parser: Remove filename parsing code
[why]
Patching CartographCF-Bold.ttf creates this naming:

    Family (ID 1)      : CartographF Nerd Font Condensed
    SubFamily (ID 2)   : Bold
    Fullname (ID 4)    : CartographF Nerd Font Condensed Bold
    PSN (ID 6)         : CartographFNF-CondensedBold
    PrefFamily (ID 16) : CartographF Nerd Font
    PrefStyles (ID 17) : Condensed Bold

    CartographF Nerd Font Condensed Bold
    \===> 'CartographFNerdFont-CondensedBold.ttf'

[how]
The font-patcher historically used the file name of the to-be-patched
font to come up with the new name. When the FontnameParser has been
developed that mechanics has been copied at least for fallback. The
earliest tests compared old and new naming with all the filenames.

Later, when the FontnameParser has been used to really apply name
changes it has always based the parsing on the Fullname or the PSname,
because they really hold the information (or at least should hold);
while the filename might be completely random.

Still code the dealt with specific problems in FILEnames prevailed. The
Ubuntu font for example has a file name like 'Ubuntu-C.ttf', and we
needed to convert the C to Condensed.

As that requirement vanished we can drop all the code that has been
added specifically only for parsing the Ubuntu font filenames.

Side note: USUALLY font filenames should be roughly equal to the PSname.

Fixes: #1258

Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2023-05-26 13:01:58 +02:00
..
data cheat-sheet: Add hint for webfont.css 2023-05-04 12:42:14 +02:00
lib Start release v3.0.1 2023-05-13 07:49:58 +02:00
name_parser name-parser: Remove filename parsing code 2023-05-26 13:01:58 +02:00
archive-font-patcher.sh Start release v3.0.1 2023-05-13 07:49:58 +02:00
archive-fonts.sh Start release v3.0.1 2023-05-13 07:49:58 +02:00
docker-entrypoint.sh Merge branch 'master' into docker 2021-11-26 18:13:11 -08:00
fetch-archives.sh Start release v3.0.1 2023-05-13 07:49:58 +02:00
fpfix.py add combined prefix to fpfix.py 2017-05-19 03:11:58 -05:00
generate-casks.sh casks: Add zap stanza comment 2023-05-13 12:53:15 +02:00
generate-css.sh Start release v3.0.1 2023-05-13 07:49:58 +02:00
generate-extraglyphs.py Start release v3.0.1 2023-05-13 07:49:58 +02:00
generate-font-image-previews.sh Start release v3.0.1 2023-05-13 07:49:58 +02:00
generate-fontconfig.sh Start release v3.0.1 2023-05-13 07:49:58 +02:00
generate-glyph-info-from-set.py Start release v3.0.1 2023-05-13 07:49:58 +02:00
generate-original-source.py Start release v3.0.1 2023-05-13 07:49:58 +02:00
generate-sample-set.sh Start release v3.0.1 2023-05-13 07:49:58 +02:00
generate-webfonts.sh Start release v3.0.1 2023-05-13 07:49:58 +02:00
get-font-names-from-json.sh Start release v3.0.1 2023-05-13 07:49:58 +02:00
gotta-patch-em-all-font-patcher!.sh Start release v3.0.1 2023-05-13 07:49:58 +02:00
optimize-original-source.sh Start release v3.0.1 2023-05-13 07:49:58 +02:00
README.md Add script to create sample set 2023-05-12 13:21:20 +02:00
release.sh Start release v3.0.1 2023-05-13 07:49:58 +02:00
standardize-and-complete-readmes.sh Start release v3.0.1 2023-05-13 07:49:58 +02:00
test-fonts.sh Start release v3.0.1 2023-05-13 07:49:58 +02:00
test-powerlines.sh Start release v3.0.1 2023-05-13 07:49:58 +02:00
tests.sh Start release v3.0.1 2023-05-13 07:49:58 +02:00
update-all-contributors-website.py Rewrite update-contributors 2023-01-27 15:19:20 +01:00
version-bump.sh Start release v3.0.1 2023-05-13 07:49:58 +02: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-sample-set.sh: Generate one patched font file from each source font (for manual checks) [4]
  • 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: Used by gotta-patch-em-all-font-patcher!.sh
  • 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