fonttools, 从 python 操作字体文件的库

分享于 

4分钟阅读

GitHub

  繁體
Form of fonttools project from Sourceforge, with new features and bugfixes
  • 源代码名称:fonttools
  • 源代码网址:http://www.github.com/fonttools/fonttools
  • fonttools源代码文档
  • fonttools源代码下载
  • Git URL:
    git://www.github.com/fonttools/fonttools.git
    Git Clone代码到本地:
    git clone http://www.github.com/fonttools/fonttools
    Subversion代码到本地:
    $ svn co --depth empty http://www.github.com/fonttools/fonttools
    Checked out revision 1.
    $ cd repo
    $ svn up trunk
    

    这是什么?

    fontTools是一个用于操作字体的库,用python编写,项目包括TTX工具,可以将TrueType和OpenType字体转换为XML文本格式,也称为TTX,它支持TrueType,OpenType,AFM和扩展类型1以及一些特定于mac的格式,项目使用项目使用MIT开源许可证,这意味着你可以免费使用,

    安装

    FontTools需要python2.7.3.4或更高版本。

    软件包列在python软件包索引(PyPI )中,因此你可以用pip

    pip install fonttools

    如果你想参与它的开发,可以从Github克隆存储库,在'可编辑'模式下安装包,并在适当的位置修改源代码,我们建议使用virtualenv或python 3 venv模块创建虚拟环境。

    # download the source code to 'fonttools' foldergit clone https://github.com/fonttools/fonttools.gitcd fonttools# create new virtual environment called e.g. 'fonttools-venv', or anything you likepython -m virtualenv fonttools-venv# source the `activate` shell script to enter the environment (Un*x); to exit, just type `deactivate`. fonttools-venv/bin/activate# to activate the virtual environment in Windows `cmd.exe`, dofonttools-venvScriptsactivate.bat# install in 'editable' modepip install -e .

    TTX和TrueType到XML

    安装后,可以使用ttx命令将二进制字体文件(.otf.ttf等)转换为TTX xml格式,编辑它们,然后将它们转换回二进制格式,TTX文件有.ttx文件扩展名。

    ttx /path/to/font.otf
    ttx /path/to/font.ttx

    TTX应用程序的工作原理可以通过两种方式使用,具体取决于你在哪个平台上运行它:

    • 作为命令行工具( Windows/DOS 、Unix 、MacOSX )
    • 通过将文件拖放到应用程序(Windows,macOS )

    这些附加选项包括:

    • 指定创建输出文件的文件夹
    • 指定要转储的表或要排除的表
    • 带现有.ttx或文件的merg部分文件
    • 列出简要表信息,而不是转储到.ttx
    • splitt表用于分隔.ttx文件
    • disabl TrueType指令反汇编

    TTX文件格式

    当前支持以下表:

    BASE, CBDT, CBLC, CFF, CFF2, COLR, CPAL, DSIG, EBDT, EBLC, FFTM,
    Feat, GDEF, GMAP, GPKG, GPOS, GSUB, Glat, Gloc, HVAR, JSTF, LTSH,
    MATH, META, MVAR, OS/2, SING, STAT, SVG, Silf, Sill, TSI0, TSI1,
    TSI2, TSI3, TSI5, TSIB, TSID, TSIJ, TSIP, TSIS, TSIV, TTFA, VDMX,
    VORG, VVAR, ankr, avar, bsln, cidg, cmap, cvar, cvt, feat, fpgm,
    fvar, gasp, gcid, glyf, gvar, hdmx, head, hhea, hmtx, kern, lcar,
    loca, ltag, maxp, meta, mort, morx, name, opbd, post, prep, prop,
    sbix, trak, vhea and vmtx

    其他工具

    还提供用于检查,合并和设置字体的命令:

    pyftinspect
    pyftmerge
    pyftsubset

    fontTools python模块

    fontTools python模块提供了编程编辑字体文件的便捷方法。

    >>>from fontTools.ttLib import TTFont>>> font = TTFont('/path/to/font.ttf')>>> font<fontTools.ttLib.TTFont object at 0x10c34ed50>>>>

    文件  MAN  files  font  
    相关文章