fontforge ライブラリを使用して Python2 スクリプトを作成し、次のことを行います。
- ソースフォントを受け入れる
- 使用するすべての文字を含むファイルを受け入れます。翻訳ファイル、文字列アセット ファイル、HTML ファイルなどです。
- ファイルにない文字を取り除いたフォントを出力する
コードは次のとおりです。
#!/usr/bin/python2
import sys
import fontforge
if len(sys.argv) == 4:
font = fontforge.open(sys.argv[1])
with open(sys.argv[2], "r") as f:
for i in f.read().decode("UTF-8"):
font.selection[ord(i)] = True
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])
特定のフォントでこのスクリプトを使用することは合法ではないことに注意してください。ソース フォントのライセンスを確認してください。このスクリプトによって生成されたフォントを使用することによって引き起こされる法的問題について、私は責任を負いません。