pyftsubset
сам по себе является скриптом Python, который вызывает fontTools.subset.main
, который, в свою очередь, анализирует sys.argv
(аргументы командной строки) для выполнения поднабора. Вы можете довольно легко сделать то же самое в своем собственном скрипте, например:
import sys
from fontTools.subset import main as ss
sys.argv = [None, '/path/to/font/file.ttf', '--unicodes=U+0020-002F']
ss() # this is what actually does the subsetting and writes the output file
Очевидно, вы захотите использовать свои собственные значения для --unicodes
плюс многочисленные другие опции pyftsubset
, но в целом эта схема должна работать. Возможное предостережение, если у вас есть другие части вашей программы, которые используют / полагаются на sys.argv
; если это так, вы можете захотеть записать начальные значения в другую переменную перед изменением sys.argv
и вызовом подсистемы, а затем заново установить для нее начальные значения.