mirror of
https://github.com/ryanoasis/nerd-fonts.git
synced 2024-11-19 16:39:20 +02:00
gotta-patch-em: Correct file type of config files
[why] The config files are called `config.json` while the contents is INI-like. The usual extension would be `.cfg`. [how] We use `.cfg` already for the shell variable configuration. Combine both config file variants into one (real) cfg file, that is directly read by the font-patcher and no shell variables files are used anymore. This needs some rewrite in gotta-patch-em to get the quoting right. To make this simpler we remove the `--debug 1` option from the variable and insert it directly (as it is applied always anyhow). Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
This commit is contained in:
parent
b984447921
commit
88d63ff827
@ -214,32 +214,19 @@ function patch_font {
|
||||
config_parent_dir=$( cd "$( dirname "$f" )" && cd ".." && pwd)
|
||||
config_dir=$( cd "$( dirname "$f" )" && pwd)
|
||||
|
||||
# source the font config file if exists:
|
||||
# fetches for example config_patch_flags
|
||||
unset config_patch_flags
|
||||
# find the font config file:
|
||||
if [ -f "$config_dir/config.cfg" ]
|
||||
then
|
||||
# shellcheck source=/dev/null
|
||||
source "$config_dir/config.cfg"
|
||||
font_config="--configfile=$config_dir/config.cfg"
|
||||
elif [ -f "$config_parent_dir/config.cfg" ]
|
||||
then
|
||||
# shellcheck source=/dev/null
|
||||
source "$config_parent_dir/config.cfg"
|
||||
font_config="--configfile=$config_parent_dir/config.cfg"
|
||||
elif [ -f "$(find_font_root "$config_parent_dir")/config.cfg" ]
|
||||
then
|
||||
# shellcheck source=/dev/null
|
||||
source "$(find_font_root "$config_parent_dir")/config.cfg"
|
||||
fi
|
||||
|
||||
if [ -f "$config_dir/config.json" ]
|
||||
then
|
||||
# load font configuration file and remove selected ligatures:
|
||||
font_config="--removeligatures --configfile $config_dir/config.json"
|
||||
elif [ -f "$config_parent_dir/config.json" ]
|
||||
then
|
||||
font_config="--removeligatures --configfile $config_parent_dir/config.json"
|
||||
font_config="--configfile=$(find_font_root "$config_parent_dir")/config.cfg"
|
||||
else
|
||||
font_config=""
|
||||
# We need to give some argument because empty arguments will break the patcher call
|
||||
font_config="-q"
|
||||
fi
|
||||
|
||||
if [ "$post_process" ]
|
||||
@ -255,38 +242,37 @@ function patch_font {
|
||||
echo >&2 "# Could not find project parent directory"
|
||||
exit 3
|
||||
}
|
||||
# Add logfile always (but can be overridden by config_patch_flags in config.cfg and env var NERDFONTS)
|
||||
config_patch_flags="--debug 1 ${config_patch_flags}"
|
||||
# Add logfile always (but can be overridden by config.cfg and env var NERDFONTS)
|
||||
# Use absolute path to allow fontforge being an AppImage (used in CI)
|
||||
PWD=$(pwd)
|
||||
# Create "Nerd Font"
|
||||
if [ -n "${verbose}" ]
|
||||
then
|
||||
echo "fontforge -quiet -script \"${PWD}/font-patcher\" \"$f\" -q ${font_config} $post_process -c --no-progressbars --outputdir \"${patched_font_dir}\" $config_patch_flags ${NERDFONTS}"
|
||||
echo "fontforge -quiet -script \"${PWD}/font-patcher\" --debug 1 \"$f\" -q \"${font_config}\" $post_process -c --no-progressbars --outputdir \"${patched_font_dir}\" ${NERDFONTS}"
|
||||
fi
|
||||
# shellcheck disable=SC2086 # We want splitting for the unquoted variables to get multiple options out of them
|
||||
{ OUT=$(fontforge -quiet -script "${PWD}/font-patcher" "$f" -q ${font_config} $post_process -c --no-progressbars \
|
||||
--outputdir "${patched_font_dir}" $config_patch_flags ${NERDFONTS} 2>&1 1>&3 3>&- ); } 3>&1
|
||||
{ OUT=$(fontforge -quiet -script "${PWD}/font-patcher" --debug 1 "$f" -q "${font_config}" $post_process -c --no-progressbars \
|
||||
--outputdir "${patched_font_dir}" ${NERDFONTS} 2>&1 1>&3 3>&- ); } 3>&1
|
||||
# shellcheck disable=SC2181 # Checking the code directly is very unreadable here, as we execute a whole block
|
||||
if [ $? -ne 0 ]; then printf "%s\nPatcher run aborted!\n\n" "$OUT"; fi
|
||||
# Create "Nerd Font Mono"
|
||||
if [ -n "${verbose}" ]
|
||||
then
|
||||
echo "fontforge -quiet -script \"${PWD}/font-patcher\" \"$f\" -q -s ${font_config} $post_process -c --no-progressbars --outputdir \"${patched_font_dir}\" $config_patch_flags ${NERDFONTS}"
|
||||
echo "fontforge -quiet -script \"${PWD}/font-patcher\" --debug 1 \"$f\" -q -s \"${font_config}\" $post_process -c --no-progressbars --outputdir \"${patched_font_dir}\" ${NERDFONTS}"
|
||||
fi
|
||||
# shellcheck disable=SC2086 # We want splitting for the unquoted variables to get multiple options out of them
|
||||
{ OUT=$(fontforge -quiet -script "${PWD}/font-patcher" "$f" -q -s ${font_config} $post_process -c --no-progressbars \
|
||||
--outputdir "${patched_font_dir}" $config_patch_flags ${NERDFONTS} 2>&1 1>&3 3>&- ); } 3>&1
|
||||
{ OUT=$(fontforge -quiet -script "${PWD}/font-patcher" --debug 1 "$f" -q -s "${font_config}" $post_process -c --no-progressbars \
|
||||
--outputdir "${patched_font_dir}" ${NERDFONTS} 2>&1 1>&3 3>&- ); } 3>&1
|
||||
# shellcheck disable=SC2181 # Checking the code directly is very unreadable here, as we execute a whole block
|
||||
if [ $? -ne 0 ]; then printf "%s\nPatcher run aborted!\n\n" "$OUT"; fi
|
||||
# Create "Nerd Font Propo"
|
||||
if [ -n "${verbose}" ]
|
||||
then
|
||||
echo "fontforge -quiet -script \"${PWD}/font-patcher\" \"$f\" -q --variable ${font_config} $post_process -c --no-progressbars --outputdir \"${patched_font_dir}\" $config_patch_flags ${NERDFONTS}"
|
||||
echo "fontforge -quiet -script \"${PWD}/font-patcher\" --debug 1 \"$f\" -q --variable \"${font_config}\" $post_process -c --no-progressbars --outputdir \"${patched_font_dir}\" ${NERDFONTS}"
|
||||
fi
|
||||
# shellcheck disable=SC2086 # We want splitting for the unquoted variables to get multiple options out of them
|
||||
{ OUT=$(fontforge -quiet -script "${PWD}/font-patcher" "$f" -q --variable ${font_config} $post_process -c --no-progressbars \
|
||||
--outputdir "${patched_font_dir}" $config_patch_flags ${NERDFONTS} 2>&1 1>&3 3>&- ); } 3>&1
|
||||
{ OUT=$(fontforge -quiet -script "${PWD}/font-patcher" --debug 1 "$f" -q --variable "${font_config}" $post_process -c --no-progressbars \
|
||||
--outputdir "${patched_font_dir}" ${NERDFONTS} 2>&1 1>&3 3>&- ); } 3>&1
|
||||
# shellcheck disable=SC2181 # Checking the code directly is very unreadable here, as we execute a whole block
|
||||
if [ $? -ne 0 ]; then printf "%s\nPatcher run aborted!\n\n" "$OUT"; fi
|
||||
|
||||
|
@ -1935,7 +1935,7 @@ def setup_arguments():
|
||||
|
||||
expert_group = parser.add_argument_group('Expert Options')
|
||||
expert_group.add_argument('--boxdrawing', dest='forcebox', default=False, action='store_true', help='Force patching in (over existing) box drawing glyphs')
|
||||
expert_group.add_argument('--configfile', dest='configfile', default=False, type=str, help='Specify a file path for JSON configuration file (see sample: src/config.sample.json)')
|
||||
expert_group.add_argument('--configfile', dest='configfile', default=False, type=str, help='Specify a file path for configuration file (see sample: src/config.sample.cfg)')
|
||||
expert_group.add_argument('--custom', dest='custom', default=False, type=str, help='Specify a custom symbol font, all glyphs will be copied; absolute path suggested')
|
||||
|
||||
expert_group.add_argument('--dry', dest='dry_run', default=False, action='store_true', help='Do neither patch nor store the font, to check naming')
|
||||
@ -1946,7 +1946,7 @@ def setup_arguments():
|
||||
expert_group.add_argument('--name', dest='force_name', default=None, type=str, help='Specify naming source (\'full\', \'postscript\', \'filename\', or concrete free name-string)')
|
||||
expert_group.add_argument('--postprocess', dest='postprocess', default=False, type=str, help='Specify a Script for Post Processing')
|
||||
progressbars_group_parser = expert_group.add_mutually_exclusive_group(required=False)
|
||||
expert_group.add_argument('--removeligs', '--removeligatures', dest='removeligatures', default=False, action='store_true', help='Removes ligatures specificed in JSON configuration file (needs --configfile)')
|
||||
expert_group.add_argument('--removeligs', '--removeligatures', dest='removeligatures', default=False, action='store_true', help='Removes ligatures specificed in configuration file (needs --configfile)')
|
||||
expert_group.add_argument('--xavgcharwidth', dest='xavgwidth', default=None, type=int, nargs='?', help='Adjust xAvgCharWidth (optional: concrete value)', const=True)
|
||||
# --xavgcharwidth for compatibility with old applications like notepad and non-latin fonts
|
||||
# Possible values with examples:
|
||||
|
9
src/config.sample.cfg
Normal file
9
src/config.sample.cfg
Normal file
@ -0,0 +1,9 @@
|
||||
# These config files are read by the font-patcher
|
||||
# They are INI style files, but some keys have JSON values
|
||||
[Config]
|
||||
commandline: --removeligatures --makegroups 2
|
||||
[Subtables]
|
||||
ligatures: [
|
||||
"'dlig' Discretionary Ligatures lookup 9 subtable",
|
||||
"'dlig' Discretionary Ligatures lookup 11 subtable",
|
||||
"'dlig' Discretionary Ligatures lookup 12 contextual 0" ]
|
@ -1,18 +0,0 @@
|
||||
[Subtables]
|
||||
ligatures: [
|
||||
"'dlig' Discretionary Ligatures lookup 9 subtable",
|
||||
"'dlig' Discretionary Ligatures lookup 11 subtable",
|
||||
"'dlig' Discretionary Ligatures lookup 12 contextual 0",
|
||||
"'dlig' Discretionary Ligatures lookup 12 contextual 1",
|
||||
"'dlig' Discretionary Ligatures lookup 12 contextual 2",
|
||||
"'dlig' Discretionary Ligatures lookup 18 subtable",
|
||||
"'dlig' Discretionary Ligatures lookup 19 contextual 0",
|
||||
"'dlig' Discretionary Ligatures lookup 24 contextual 0",
|
||||
"'dlig' Discretionary Ligatures lookup 24 contextual 1",
|
||||
"'dlig' Discretionary Ligatures lookup 24 contextual 2",
|
||||
"'dlig' Discretionary Ligatures lookup 24 contextual 3",
|
||||
"'dlig' Discretionary Ligatures lookup 24 contextual 4",
|
||||
"'dlig' Discretionary Ligatures lookup 24 contextual 5",
|
||||
"'dlig' Discretionary Ligatures lookup 26 subtable",
|
||||
"'dlig' Discretionary Ligatures lookup 33 contextual 0",
|
||||
"'dlig' Discretionary Ligatures lookup 33 contextual 1" ]
|
@ -1 +1,2 @@
|
||||
config_patch_flags="--makegroups 2"
|
||||
[Config]
|
||||
commandline: --makegroups 2
|
||||
|
@ -1 +1,2 @@
|
||||
config_patch_flags="--has-no-italic"
|
||||
[Config]
|
||||
commandline: --has-no-italic
|
||||
|
@ -1 +1,2 @@
|
||||
config_patch_flags="--makegroups 4"
|
||||
[Config]
|
||||
commandline: --makegroups 4
|
||||
|
@ -1 +1,2 @@
|
||||
config_patch_flags="--makegroups 4"
|
||||
[Config]
|
||||
commandline: --makegroups 4
|
||||
|
@ -1 +1,2 @@
|
||||
config_patch_flags="--xavgcharwidth 500"
|
||||
[Config]
|
||||
commandline: --xavgcharwidth 500
|
||||
|
@ -1 +1,2 @@
|
||||
config_patch_flags="--ext ttf"
|
||||
[Config]
|
||||
commandline: --ext ttf
|
||||
|
@ -1 +1,2 @@
|
||||
config_patch_flags="--has-no-italic"
|
||||
[Config]
|
||||
commandline: --has-no-italic
|
||||
|
@ -1 +0,0 @@
|
||||
config_has_powerline=1
|
@ -1 +0,0 @@
|
||||
config_has_powerline=1
|
@ -1,2 +1,2 @@
|
||||
config_has_powerline=1
|
||||
config_patch_flags="--makegroups 2"
|
||||
[Config]
|
||||
commandline: --makegroups 2
|
||||
|
@ -1 +1,2 @@
|
||||
config_patch_flags="--makegroups 4"
|
||||
[Config]
|
||||
commandline: --makegroups 4
|
||||
|
@ -1 +0,0 @@
|
||||
config_has_powerline=1
|
@ -1,2 +1,2 @@
|
||||
config_has_powerline=1
|
||||
config_patch_flags="--makegroups 2"
|
||||
[Config]
|
||||
commandline: --makegroups 2
|
||||
|
@ -1 +0,0 @@
|
||||
config_has_powerline=1
|
@ -1 +0,0 @@
|
||||
#config_has_powerline=1
|
@ -1 +1,2 @@
|
||||
config_patch_flags="--makegroups 4"
|
||||
[Config]
|
||||
commandline: --makegroups 4
|
||||
|
@ -1,2 +1,2 @@
|
||||
config_has_powerline=1
|
||||
config_patch_flags="--makegroups 4"
|
||||
[Config]
|
||||
commandline: --makegroups 4
|
||||
|
@ -1,2 +1,2 @@
|
||||
config_has_powerline=1
|
||||
config_patch_flags="--makegroups 4"
|
||||
[Config]
|
||||
commandline: --makegroups 4
|
||||
|
@ -1,2 +1,2 @@
|
||||
config_has_powerline=1
|
||||
config_patch_flags="--makegroups 4"
|
||||
[Config]
|
||||
commandline: --makegroups 4
|
||||
|
@ -1 +1,2 @@
|
||||
config_patch_flags="--makegroups 4"
|
||||
[Config]
|
||||
commandline: --makegroups 4
|
||||
|
6
src/unpatched-fonts/Lekton/config.cfg
Normal file
6
src/unpatched-fonts/Lekton/config.cfg
Normal file
@ -0,0 +1,6 @@
|
||||
[Config]
|
||||
commandline: --removeligatures
|
||||
[Subtables]
|
||||
ligatures: [
|
||||
"'liga' Standard Ligatures in Latin lookup 6 subtable",
|
||||
"'liga' Standard Ligatures in Latin lookup 5 subtable" ]
|
@ -1,4 +0,0 @@
|
||||
[Subtables]
|
||||
ligatures: [
|
||||
"'liga' Standard Ligatures in Latin lookup 6 subtable",
|
||||
"'liga' Standard Ligatures in Latin lookup 5 subtable" ]
|
@ -1 +1,2 @@
|
||||
config_patch_flags="--makegroups 2"
|
||||
[Config]
|
||||
commandline: --makegroups 2
|
||||
|
@ -1 +1,2 @@
|
||||
config_patch_flags="--name filename --makegroups 5"
|
||||
[Config]
|
||||
commandline: --name filename --makegroups 5
|
||||
|
@ -1 +0,0 @@
|
||||
config_has_powerline=1
|
@ -1 +1,2 @@
|
||||
config_patch_flags="--makegroups 4"
|
||||
[Config]
|
||||
commandline: --makegroups 4
|
||||
|
@ -1 +0,0 @@
|
||||
config_has_powerline=1
|
@ -1 +1,2 @@
|
||||
config_patch_flags="--ext ttf --variable-width-glyphs"
|
||||
[Config]
|
||||
commandline: --ext ttf --variable-width-glyphs
|
||||
|
7
src/unpatched-fonts/Noto/Sans-Mono/config.cfg
Normal file
7
src/unpatched-fonts/Noto/Sans-Mono/config.cfg
Normal file
@ -0,0 +1,7 @@
|
||||
[Config]
|
||||
commandline: --removeligatures --makegroups 5
|
||||
[Subtables]
|
||||
ligatures: [
|
||||
"Ligature Substitution lookup 15 subtable",
|
||||
"Ligature Substitution lookup 14 subtable",
|
||||
"Ligature Substitution lookup 13 subtable" ]
|
@ -1,5 +0,0 @@
|
||||
[Subtables]
|
||||
ligatures: [
|
||||
"Ligature Substitution lookup 15 subtable",
|
||||
"Ligature Substitution lookup 14 subtable",
|
||||
"Ligature Substitution lookup 13 subtable" ]
|
8
src/unpatched-fonts/Noto/Sans/config.cfg
Normal file
8
src/unpatched-fonts/Noto/Sans/config.cfg
Normal file
@ -0,0 +1,8 @@
|
||||
[Config]
|
||||
commandline: --removeligatures --makegroups 5
|
||||
[Subtables]
|
||||
ligatures: [
|
||||
"'liga' Standard Ligatures lookup 41 subtable",
|
||||
"Ligature Substitution lookup 15 subtable",
|
||||
"Ligature Substitution lookup 14 subtable",
|
||||
"Ligature Substitution lookup 13 subtable" ]
|
@ -1,6 +0,0 @@
|
||||
[Subtables]
|
||||
ligatures: [
|
||||
"'liga' Standard Ligatures lookup 41 subtable",
|
||||
"Ligature Substitution lookup 15 subtable",
|
||||
"Ligature Substitution lookup 14 subtable",
|
||||
"Ligature Substitution lookup 13 subtable" ]
|
@ -1 +1,2 @@
|
||||
config_patch_flags="--makegroups 5"
|
||||
[Config]
|
||||
commandline: --makegroups 5
|
||||
|
8
src/unpatched-fonts/OpenDyslexic/config.cfg
Normal file
8
src/unpatched-fonts/OpenDyslexic/config.cfg
Normal file
@ -0,0 +1,8 @@
|
||||
[Config]
|
||||
commandline: --removeligatures
|
||||
[Subtables]
|
||||
ligatures: [
|
||||
"Ligature Substitution lookup 8 subtable",
|
||||
"Ligature Substitution lookup 7 subtable",
|
||||
"'liga' Standard Ligature lookup 7 subtable",
|
||||
"'liga' Standard Ligature lookup 4 subtable" ]
|
@ -1,6 +0,0 @@
|
||||
[Subtables]
|
||||
ligatures: [
|
||||
"Ligature Substitution lookup 8 subtable",
|
||||
"Ligature Substitution lookup 7 subtable",
|
||||
"'liga' Standard Ligature lookup 7 subtable",
|
||||
"'liga' Standard Ligature lookup 4 subtable" ]
|
5
src/unpatched-fonts/Overpass/Mono/config.cfg
Normal file
5
src/unpatched-fonts/Overpass/Mono/config.cfg
Normal file
@ -0,0 +1,5 @@
|
||||
[Config]
|
||||
commandline: --removeligatures --makegroups 2
|
||||
[Subtables]
|
||||
ligatures: [
|
||||
"Ligature Substitution lookup 23 subtable" ]
|
@ -1,3 +0,0 @@
|
||||
[Subtables]
|
||||
ligatures: [
|
||||
"Ligature Substitution lookup 23 subtable" ]
|
6
src/unpatched-fonts/Overpass/Non-Mono/config.cfg
Normal file
6
src/unpatched-fonts/Overpass/Non-Mono/config.cfg
Normal file
@ -0,0 +1,6 @@
|
||||
[Config]
|
||||
commandline: --removeligatures --makegroups 2
|
||||
[Subtables]
|
||||
ligatures: [
|
||||
"Ligature Substitution lookup 20 subtable",
|
||||
"'liga' Standard Ligatures in Latin lookup 18 subtable" ]
|
@ -1,4 +0,0 @@
|
||||
[Subtables]
|
||||
ligatures: [
|
||||
"Ligature Substitution lookup 20 subtable",
|
||||
"'liga' Standard Ligatures in Latin lookup 18 subtable" ]
|
@ -1 +0,0 @@
|
||||
config_patch_flags="--makegroups 2"
|
@ -1 +1,2 @@
|
||||
config_patch_flags="--makegroups 3"
|
||||
[Config]
|
||||
commandline: --makegroups 3
|
||||
|
@ -1,2 +1,2 @@
|
||||
config_has_powerline=1
|
||||
config_patch_flags="--makegroups 4"
|
||||
[Config]
|
||||
commandline: --makegroups 4
|
||||
|
6
src/unpatched-fonts/SpaceMono/config.cfg
Normal file
6
src/unpatched-fonts/SpaceMono/config.cfg
Normal file
@ -0,0 +1,6 @@
|
||||
[Config]
|
||||
commandline: --removeligatures
|
||||
[Subtables]
|
||||
ligatures: [
|
||||
"'liga' Standard Ligatures in Latin lookup 9 subtable",
|
||||
"'liga' Standard Ligatures in Latin lookup 8 subtable" ]
|
@ -1,4 +0,0 @@
|
||||
[Subtables]
|
||||
ligatures: [
|
||||
"'liga' Standard Ligatures in Latin lookup 9 subtable",
|
||||
"'liga' Standard Ligatures in Latin lookup 8 subtable" ]
|
@ -1 +1,7 @@
|
||||
config_patch_flags="--makegroups 2"
|
||||
[Config]
|
||||
commandline: --removeligatures --makegroups 2
|
||||
[Subtables]
|
||||
ligatures: [
|
||||
"'liga' Standard Ligatures in Latin lookup 20 subtable",
|
||||
"'liga' Standard Ligatures in Greek lookup 21 subtable",
|
||||
"'liga' Standard Ligatures in Cyrillic lookup 22 subtable" ]
|
||||
|
@ -1,5 +0,0 @@
|
||||
[Subtables]
|
||||
ligatures: [
|
||||
"'liga' Standard Ligatures in Latin lookup 20 subtable",
|
||||
"'liga' Standard Ligatures in Greek lookup 21 subtable",
|
||||
"'liga' Standard Ligatures in Cyrillic lookup 22 subtable" ]
|
@ -1 +1,2 @@
|
||||
config_patch_flags="--makegroups 2"
|
||||
[Config]
|
||||
commandline: --makegroups 2
|
||||
|
@ -1 +1,2 @@
|
||||
config_patch_flags="--makegroups 4"
|
||||
[Config]
|
||||
commandline: --makegroups 4
|
||||
|
@ -1 +1,2 @@
|
||||
config_patch_flags="--makegroups 4"
|
||||
[Config]
|
||||
commandline: --makegroups 4
|
||||
|
@ -1 +1,2 @@
|
||||
config_patch_flags="--makegroups 5"
|
||||
[Config]
|
||||
commandline: --makegroups 5
|
||||
|
@ -1 +1,2 @@
|
||||
config_patch_flags="--makegroups 4"
|
||||
[Config]
|
||||
commandline: --makegroups 4
|
||||
|
Loading…
Reference in New Issue
Block a user