Update files

This commit is contained in:
Hoang Nguyen 2022-01-14 21:07:18 +07:00
parent 2a7bda78f3
commit 4347490906
No known key found for this signature in database
GPG Key ID: 813CF484F4993419
2 changed files with 16 additions and 11 deletions

View File

@ -55,6 +55,9 @@ class font_patcher:
sys.exit("{}: Font file does not exist: {}".format(projectName, self.args.font))
if not os.access(self.args.font, os.R_OK):
sys.exit("{}: Can not open font file for reading: {}".format(projectName, self.args.font))
if len(fontforge.fontsInFile(self.args.font)) > 1:
sys.exit("{}: Font file contains {} fonts, can only handle single font files".format(projectName,
len(fontforge.fontsInFile(self.args.font))))
try:
self.sourceFont = fontforge.open(self.args.font, 1) # 1 = ("fstypepermitted",))
except Exception:
@ -72,6 +75,8 @@ class font_patcher:
self.extension = os.path.splitext(self.args.font)[1]
else:
self.extension = '.' + self.args.extension
if re.match("\.ttc$", self.extension, re.IGNORECASE):
sys.exit(projectName + ": Can not create True Type Collections")
def patch(self):

View File

@ -9,10 +9,10 @@ if ! command -v fontforge >/dev/null; then
exit 1
fi
if ! command -v ttx >/dev/null; then
printf "\033[1;31mfonttools\033[0m is not installed.\n"
exit 1
fi
# if ! command -v ttx >/dev/null; then
# printf "\033[1;31mfonttools\033[0m is not installed.\n"
# exit 1
# fi
if [[ $# -eq 0 ]]; then
versions=$(curl -s https://api.github.com/repos/be5invis/Iosevka/releases | jq -r '.[] | .tag_name' | sed -e 's/^v//g')
@ -43,14 +43,14 @@ for variant in "${variants[@]}"; do
mv ./*Complete.ttf ./patched/iosevka-term-${variant}-nerd-font.ttf
# Correct xAvgCharWidth
ttx -t "OS/2" ./original/iosevka-term-${variant}.ttf
ttx -t "OS/2" ./patched/iosevka-term-${variant}-nerd-font.ttf
original_x_avg_char_width=$(grep xAvgCharWidth ./original/iosevka-term-${variant}.ttx | cut -d '"' -f 2)
sed -i "s/xAvgCharWidth value=\"[0-9]\+\"/xAvgCharWidth value=\"${original_x_avg_char_width}\"/g" ./patched/iosevka-term-${variant}-nerd-font.ttx
mv ./patched/iosevka-term-${variant}-nerd-font.ttf ./patched/iosevka-term-${variant}-nerd-font.original.ttf
ttx -o ./patched/iosevka-term-${variant}-nerd-font.ttf -m ./patched/iosevka-term-${variant}-nerd-font.original.ttf ./patched/iosevka-term-${variant}-nerd-font.ttx
# ttx -t "OS/2" ./original/iosevka-term-${variant}.ttf
# ttx -t "OS/2" ./patched/iosevka-term-${variant}-nerd-font.ttf
# original_x_avg_char_width=$(grep xAvgCharWidth ./original/iosevka-term-${variant}.ttx | cut -d '"' -f 2)
# sed -i "s/xAvgCharWidth value=\"[0-9]\+\"/xAvgCharWidth value=\"${original_x_avg_char_width}\"/g" ./patched/iosevka-term-${variant}-nerd-font.ttx
# mv ./patched/iosevka-term-${variant}-nerd-font.ttf ./patched/iosevka-term-${variant}-nerd-font.original.ttf
# ttx -o ./patched/iosevka-term-${variant}-nerd-font.ttf -m ./patched/iosevka-term-${variant}-nerd-font.original.ttf ./patched/iosevka-term-${variant}-nerd-font.ttx
# Optionally build hdmx table and correct TTF font family name (for Sarasa)
# Build hdmx table and correct TTF font family name
#python3 ./build-hdmx-for-sarasa.py ./patched/iosevka-term-${variant}-nerd-font.ttf
#python3 ./correct-ttf-font-family-name.py ./patched/iosevka-term-${variant}-nerd-font.ttf
done