nerd-fonts/bin/scripts
Fini Jastrow feafa89bb3 font-patcher: Prevent --mono on proportional fonts
[why]
When the source font is proportional we can not really create a
monospaced (patched) font from it. The glyph width is for example very
small for 'i' but wide for 'W'.
The glyphs are all left aligned, leaving very strange separation between
smallish glyphs.
Even if we would center the glyphs, the look would be strange and
completely differenmt from the source font's look.

[how]
For proportional fonts do not allow to patch with `--mono`.

The fact if a source font is monospaced is determined by examining some
(very few) glyphs. But testing all our source fonts in the repo shows
that it is sufficient.
Furthermore the Panose flag is checked and differences between the flag
and what the glyph examination found are reported.

The user can enforce `Nerd Font Mono` generation with double specifying
the command line option `--mono --mono`. Still a warning will be issued.

[note]
Because `gotta-patch-em-all-font-patcher!.sh` does not really count the
variations but calculates them in a separate loop it does not know
anymore how many variations are created per family. The numbers are
wrong.
But probably we should count the result font files in the end anyhow.

Because the information is not needed (in an automated manner) this is
not corrected here.

It seems wrong anyhow:
  total_variation_count=$((total_variation_count+combination_count))
  total_count=$((total_count+complete_variations_per_family+combination_count))

Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2022-09-24 16:56:30 +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 font-patcher: Prevent --mono on proportional fonts 2022-09-24 16:56:30 +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 generate-original-source: Remove FFTM table 2022-09-20 10:23:05 +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 font-patcher: Prevent --mono on proportional fonts 2022-09-24 16:56:30 +02:00
optimize-original-source.sh CI: Optimize original glyph svgs 2022-09-19 16:08:22 +02:00
README.md Update documentation 2022-09-21 13:54:42 +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. [5]
  • 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) (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 [5] Used by CI (github packsvgs workflow) [x] Probably not used by anything