Permalink
Cannot retrieve contributors at this time
Name already in use
A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
sudo-font/sudo/patch_dotted_zero.py
Go to fileThis commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
executable file
59 lines (49 sloc)
1.53 KB
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env python | |
# -*- coding: utf-8 -*- | |
""" | |
This patch replaces the dotted zero with a regular zero without dot. | |
You will need Python and the Python FontTools | |
from <https://github.com/fonttools/fonttools/> to run this. | |
""" | |
try: | |
from fontTools.ttLib import TTFont | |
have_fonttools = True | |
except: | |
have_fonttools = False | |
from os.path import join | |
files = [ | |
"Sudo.ttf", | |
"Sudo-Italic.ttf", | |
"Sudo-Bold.ttf", | |
"Sudo-BoldItalic.ttf", | |
#join(r"Web Fonts", "SudoWeb.woff"), | |
#join(r"Web Fonts", "SudoWeb-Italic.woff"), | |
#join(r"Web Fonts", "SudoWeb-Bold.woff"), | |
#join(r"Web Fonts", "SudoWeb-BoldItalic.woff"), | |
] | |
def patch_cmap(font): | |
#print " Patching CMAP ..." | |
c = font["cmap"] | |
for table in c.tables: | |
#print " Patching format %i subtable ..." % table.format, | |
if 0x30 in table.cmap: | |
table.cmap[0x30] = "zero.zero" | |
#print "OK." | |
else: | |
pass | |
#print "glyph not found." | |
def patch(filepath): | |
print "Patching '%s' ..." % filepath, | |
base, ext = filepath.rsplit(".", 1) | |
font = TTFont(filepath) | |
patch_cmap(font) | |
font.save("%s_patch.%s" % (base, ext)) | |
font.close() | |
print "OK" | |
if have_fonttools: | |
for f in files: | |
patch(f) | |
print "\nThe web fonts were not patched. For the web fonts, please activate the OpenType 'zero' feature in your CSS:" | |
print ' font-feature-settings: "zero";' | |
else: | |
print "Please install the Python FontTools from <https://github.com/fonttools/fonttools/> first." |