atlas/shrinkFont.py

30 lines
927 B
Python
Raw Normal View History

#!/usr/bin/python2
# By StackOverflow user SadaleNet:
# https://stackoverflow.com/questions/14557944/downsizing-an-otf-font-by-removing-glyphs/34132900#34132900
import sys
import fontforge
if len(sys.argv) == 4:
font = fontforge.open(sys.argv[1])
f = open(sys.argv[2], "r")
for i in f.read().decode("UTF-8"):
font.selection[ord(i)] = True
f.close()
font.selection.invert()
for i in font.selection.byGlyphs:
font.removeGlyph(i)
font.generate(sys.argv[3])
else:
print "WARNING: Check the license of the source font\nbefore distributing the output font generated by this script.\nI'm not responsible for any legal issue caused by\ninappropriate use of this script!\n"
print "Usage: {} [source font] [file with glyphs NOT to be removed] [output]".format(sys.argv[0])
print "Example: {} /path/to/ukai.ttc chineseTranslation.txt ukaiStripped.ttf".format(sys.argv[0])