nerd-fonts/bin/scripts
Fini Jastrow 328b8a2d22 Add original-source.otf generator script
[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>
2022-09-19 12:02:24 +02:00
..
data Rename 'Font Linux' to 'Font Logos' 2022-09-13 08:05:14 +02:00
Hack [ci] Bump release version 2022-09-07 08:05:53 +00:00
lib Fix i_cod.sh docu 2022-09-16 10:57:58 +02:00
name_parser Add query_mono debugging script 2022-09-11 16:41:12 +02:00
archive-font-patcher.sh [ci] Bump release version 2022-09-07 08:05:53 +00:00
archive-fonts.sh [ci] Bump release version 2022-09-07 08:05:53 +00:00
docker-entrypoint.sh Merge branch 'master' into docker 2021-11-26 18:13:11 -08:00
fpfix.py add combined prefix to fpfix.py 2017-05-19 03:11:58 -05:00
generate-casks.sh [ci] Bump release version 2022-09-07 08:05:53 +00:00
generate-css.sh generate-css: Generate full cheat sheet file [skip ci] 2022-09-11 19:56:37 +02:00
generate-font-image-previews.sh generate-font-image-previews: Fix and Refactor [skip-ci] 2022-09-13 12:13:16 +02:00
generate-fontconfig.sh CI: Fix fontconfig creation 2022-09-08 15:44:32 +02:00
generate-glyph-info-from-set.py [ci] Bump release version 2022-09-07 08:05:53 +00:00
generate-original-source.py Add original-source.otf generator script 2022-09-19 12:02:24 +02:00
get-font-names-from-json.sh [ci] Bump release version 2022-09-07 08:05:53 +00:00
gotta-patch-em-all-font-patcher!.sh Rename 'Font Linux' to 'Font Logos' 2022-09-13 08:05:14 +02:00
README.md Add documentation to bin/scripts/ directory 2022-09-16 11:18:48 +02:00
release.sh [ci] Bump release version 2022-09-07 08:05:53 +00:00
standardize-and-complete-readmes.sh [ci] Bump release version 2022-09-07 08:05:53 +00:00
test-fonts.sh Rename 'Font Linux' to 'Font Logos' 2022-09-13 08:05:14 +02:00
test-powerlines.sh [ci] Bump release version 2022-09-07 08:05:53 +00:00
tests.sh [ci] Bump release version 2022-09-07 08:05:53 +00:00
update-all-contributors-website.py Adds a very basic script to update all contributors section on the website 2020-04-06 01:02:15 -07:00
version-bump.sh [ci] Bump release version 2022-09-07 08:05:53 +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]
  • fpfix.py: Can be used to set isFixedPitch property in a font [x]
  • generate-casks.sh: Generates cask files for fonts from data in patched-fonts/ and archives/, unused and not recommended by homebrew-fonts
  • generate-css.sh: Generates the Nerd Fonts CCS, which can be used to access the glyphs on a web page [1]
  • 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. [3]
  • 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)
  • 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) (Hardcoded paths!) [3]
  • 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 [x] Probably not used by anything