Skip to content

Commit

Permalink
Correct naming behavior
Browse files Browse the repository at this point in the history
[why]
The Light fonts are not grouped to the Regular and Bold fonts in
typographic names aware applications.

[how]
This is a longer standing problem with font-patcher, that does not fill
the typographic family and style with meaningful values. We could do
better with the `do_rename` script, but we did not.

Instead of repairing the `do_rename` script the `name_parser.py` module
is included, that I would like to get into `font-parser` to repair its
behaviour for all fonts.
As noone knows when or if at all it will end up in the patcher script,
we add the same code here.

The module will set the 4 names (family, subfamily, typogr. family and
typogr. style) in a way that we get correct grouping in both application
types: typographic aware one and 'ordinary' ones.

[note]
The `name_parser.py` originates here:
ryanoasis/nerd-fonts#706

Fixes: #72

Reported-by: Rashil Gandhi <mail@rashil2000.me>
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
  • Loading branch information
Finii committed Dec 7, 2021
1 parent 5586a2a commit f041a01
Show file tree
Hide file tree
Showing 5 changed files with 520 additions and 47 deletions.
60 changes: 30 additions & 30 deletions .github/workflows/ci.yaml
Expand Up @@ -93,56 +93,56 @@ jobs:
run: fontforge -lang=ff -script extract-extra-glyphs
- name: Build Powerline
run: |
./do_generate 01 --powerline --mono CascadiaCodePL-Regular.ttf DelugiaPL.ttf "Delugia PL" "Regular"
./do_generate 02 --powerline --mono CascadiaCodePL-Bold.ttf DelugiaPL-Bold.ttf "Delugia PL" "Bold"
./do_generate 03 --powerline --mono CascadiaCodePL-Italic.ttf DelugiaPL-Italic.ttf "Delugia PL" "Italic"
./do_generate 04 --powerline --mono CascadiaCodePL-BoldItalic.ttf DelugiaPL-BoldItalic.ttf "Delugia PL" "Bold Italic"
./do_generate 05 --powerline --mono CascadiaCodePL-Light.ttf DelugiaPLLight.ttf "Delugia PL Light" ""
./do_generate 06 --powerline --mono CascadiaCodePL-LightItalic.ttf DelugiaPLLight-Italic.ttf "Delugia PL Light" "Italic"
./do_generate 01 --powerline --mono CascadiaCodePL-Regular.ttf DelugiaPL.ttf "Delugia PL"
./do_generate 02 --powerline --mono CascadiaCodePL-Bold.ttf DelugiaPL-Bold.ttf "Delugia PL"
./do_generate 03 --powerline --mono CascadiaCodePL-Italic.ttf DelugiaPL-Italic.ttf "Delugia PL"
./do_generate 04 --powerline --mono CascadiaCodePL-BoldItalic.ttf DelugiaPL-BoldItalic.ttf "Delugia PL"
./do_generate 05 --powerline --mono CascadiaCodePL-Light.ttf DelugiaPLLight.ttf "Delugia PL"
./do_generate 06 --powerline --mono CascadiaCodePL-LightItalic.ttf DelugiaPLLight-Italic.ttf "Delugia PL"
mkdir delugia-powerline
mv Delugia*ttf delugia-powerline
zip delugia-powerline.zip delugia-powerline/*
- name: Build MonoPowerline
run: |
./do_generate 11 --powerline --mono CascadiaMonoPL-Regular.ttf DelugiaMonoPL.ttf "Delugia PL Mono" "Regular"
./do_generate 12 --powerline --mono CascadiaMonoPL-Bold.ttf DelugiaMonoPL-Bold.ttf "Delugia PL Mono" "Bold"
./do_generate 13 --powerline --mono CascadiaMonoPL-Italic.ttf DelugiaMonoPL-Italic.ttf "Delugia PL Mono" "Italic"
./do_generate 14 --powerline --mono CascadiaMonoPL-BoldItalic.ttf DelugiaMonoPL-BoldItalic.ttf "Delugia PL Mono" "Bold Italic"
./do_generate 15 --powerline --mono CascadiaMonoPL-Light.ttf DelugiaMonoPLLight.ttf "Delugia PL Mono Light" ""
./do_generate 16 --powerline --mono CascadiaMonoPL-LightItalic.ttf DelugiaMonoPLLight-Italic.ttf "Delugia PL Mono Light" "Italic"
./do_generate 11 --powerline --mono CascadiaMonoPL-Regular.ttf DelugiaMonoPL.ttf "Delugia PL Mono"
./do_generate 12 --powerline --mono CascadiaMonoPL-Bold.ttf DelugiaMonoPL-Bold.ttf "Delugia PL Mono"
./do_generate 13 --powerline --mono CascadiaMonoPL-Italic.ttf DelugiaMonoPL-Italic.ttf "Delugia PL Mono"
./do_generate 14 --powerline --mono CascadiaMonoPL-BoldItalic.ttf DelugiaMonoPL-BoldItalic.ttf "Delugia PL Mono"
./do_generate 15 --powerline --mono CascadiaMonoPL-Light.ttf DelugiaMonoPLLight.ttf "Delugia PL Mono"
./do_generate 16 --powerline --mono CascadiaMonoPL-LightItalic.ttf DelugiaMonoPLLight-Italic.ttf "Delugia PL Mono"
mkdir delugia-mono-powerline
mv Delugia*ttf delugia-mono-powerline
zip delugia-mono-powerline.zip delugia-mono-powerline/*
- name: Build Complete
run: |
./do_generate 21 -c --mono CascadiaCodePL-Regular.ttf DelugiaComplete.ttf "Delugia" "Regular"
./do_generate 22 -c --mono CascadiaCodePL-Bold.ttf DelugiaComplete-Bold.ttf "Delugia" "Bold"
./do_generate 23 -c --mono CascadiaCodePL-Italic.ttf DelugiaComplete-Italic.ttf "Delugia" "Italic"
./do_generate 24 -c --mono CascadiaCodePL-BoldItalic.ttf DelugiaComplete-BoldItalic.ttf "Delugia" "Bold Italic"
./do_generate 25 -c --mono CascadiaCodePL-Light.ttf DelugiaCompleteLight.ttf "Delugia Light" ""
./do_generate 26 -c --mono CascadiaCodePL-LightItalic.ttf DelugiaCompleteLight-Italic.ttf "Delugia Light" "Italic"
./do_generate 21 -c --mono CascadiaCodePL-Regular.ttf DelugiaComplete.ttf "Delugia"
./do_generate 22 -c --mono CascadiaCodePL-Bold.ttf DelugiaComplete-Bold.ttf "Delugia"
./do_generate 23 -c --mono CascadiaCodePL-Italic.ttf DelugiaComplete-Italic.ttf "Delugia"
./do_generate 24 -c --mono CascadiaCodePL-BoldItalic.ttf DelugiaComplete-BoldItalic.ttf "Delugia"
./do_generate 25 -c --mono CascadiaCodePL-Light.ttf DelugiaCompleteLight.ttf "Delugia"
./do_generate 26 -c --mono CascadiaCodePL-LightItalic.ttf DelugiaCompleteLight-Italic.ttf "Delugia"
mkdir delugia-complete
mv Delugia*ttf delugia-complete
zip delugia-complete.zip delugia-complete/*
- name: Build Mono Complete
run: |
./do_generate 31 -c --mono CascadiaMonoPL-Regular.ttf DelugiaMonoComplete.ttf "Delugia Mono" "Regular"
./do_generate 32 -c --mono CascadiaMonoPL-Bold.ttf DelugiaMonoComplete-Bold.ttf "Delugia Mono" "Bold"
./do_generate 33 -c --mono CascadiaMonoPL-Italic.ttf DelugiaMonoComplete-Italic.ttf "Delugia Mono" "Italic"
./do_generate 34 -c --mono CascadiaMonoPL-BoldItalic.ttf DelugiaMonoComplete-BoldItalic.ttf "Delugia Mono" "Bold Italic"
./do_generate 35 -c --mono CascadiaMonoPL-Light.ttf DelugiaMonoCompleteLight.ttf "Delugia Mono Light" ""
./do_generate 36 -c --mono CascadiaMonoPL-LightItalic.ttf DelugiaMonoCompleteLight-Italic.ttf "Delugia Mono Light" "Italic"
./do_generate 31 -c --mono CascadiaMonoPL-Regular.ttf DelugiaMonoComplete.ttf "Delugia Mono"
./do_generate 32 -c --mono CascadiaMonoPL-Bold.ttf DelugiaMonoComplete-Bold.ttf "Delugia Mono"
./do_generate 33 -c --mono CascadiaMonoPL-Italic.ttf DelugiaMonoComplete-Italic.ttf "Delugia Mono"
./do_generate 34 -c --mono CascadiaMonoPL-BoldItalic.ttf DelugiaMonoComplete-BoldItalic.ttf "Delugia Mono"
./do_generate 35 -c --mono CascadiaMonoPL-Light.ttf DelugiaMonoCompleteLight.ttf "Delugia Mono"
./do_generate 36 -c --mono CascadiaMonoPL-LightItalic.ttf DelugiaMonoCompleteLight-Italic.ttf "Delugia Mono"
mkdir delugia-mono-complete
mv Delugia*ttf delugia-mono-complete
zip delugia-mono-complete.zip delugia-mono-complete/*
- name: Build Book Complete
run: |
./do_generate 41 -c -c CascadiaCodePL-Regular.ttf DelugiaBook.ttf "Delugia Book" "Regular"
./do_generate 42 -c -c CascadiaCodePL-Bold.ttf DelugiaBook-Bold.ttf "Delugia Book" "Bold"
./do_generate 43 -c -c CascadiaCodePL-Italic.ttf DelugiaBook-Italic.ttf "Delugia Book" "Italic"
./do_generate 44 -c -c CascadiaCodePL-BoldItalic.ttf DelugiaBook-BoldItalic.ttf "Delugia Book" "Bold Italic"
./do_generate 45 -c -c CascadiaCodePL-Light.ttf DelugiaBookLight.ttf "Delugia Book Light" ""
./do_generate 46 -c -c CascadiaCodePL-LightItalic.ttf DelugiaBookLight-Italic.ttf "Delugia Book Light" "Italic"
./do_generate 41 -c -c CascadiaCodePL-Regular.ttf DelugiaBook.ttf "Delugia Book"
./do_generate 42 -c -c CascadiaCodePL-Bold.ttf DelugiaBook-Bold.ttf "Delugia Book"
./do_generate 43 -c -c CascadiaCodePL-Italic.ttf DelugiaBook-Italic.ttf "Delugia Book"
./do_generate 44 -c -c CascadiaCodePL-BoldItalic.ttf DelugiaBook-BoldItalic.ttf "Delugia Book"
./do_generate 45 -c -c CascadiaCodePL-Light.ttf DelugiaBookLight.ttf "Delugia Book"
./do_generate 46 -c -c CascadiaCodePL-LightItalic.ttf DelugiaBookLight-Italic.ttf "Delugia Book"
mkdir delugia-book
mv Delugia*ttf delugia-book
zip delugia-book.zip delugia-book/*
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Expand Up @@ -4,3 +4,4 @@ otf/
ttf/
woff2/
font-patcher*
__pycache__/*
5 changes: 2 additions & 3 deletions do_generate
Expand Up @@ -12,11 +12,10 @@
# 4: Input font file name
# 5: Output font file name
# 6: Font family name
# 7: Font style name addendum

set -e

if [ "$#" -ne 7 ]; then
if [ "$#" -ne 6 ]; then
exit 1
fi

Expand All @@ -27,4 +26,4 @@ if [ -z "${OURVERSION}" ]; then
# Github CI sets this variable, but this can be useful for manual calls:
OURVERSION=`git describe --always --tags`
fi
fontforge rename-font --input C*.ttf --output "${5}" --name "${6}" --style "${7}" --version "${OURVERSION}"
fontforge rename-font --orig "ttf/static/${4}" --input C*.ttf --output "${5}" --version "${OURVERSION}" --name "${6}"

0 comments on commit f041a01

Please sign in to comment.