如何获得fontforge模块来打印瀑布样本?

时间:2019-02-08 17:40:11

标签: python fontforge

我正在编写一个Python脚本来遍历我的字体集(一些TTF,一些OFD,一些SFD),并最终制作一个文档(PDF?),并提供所有示例页面。

我想要的输出格式将类似于在Windows或Gnome中查看字体文件时获得的格式; here中的一个示例来自https://unix.stackexchange.com/questions/5715/how-to-view-a-ttf-font-file中的qubodup的答案)。使用该答案,我可以使用ImageMagick为TTF和OFD文件生成示例图像。

我正在尝试使用fontforge处理SFD文件。我在ubuntu上,已经安装了fontforge和python-fontforge。我正在使用https://fontforge.github.io/python.html作为文档,特别是关于printSetup和printSample的部分。

此脚本可以很好地打印fontdisplay和fontsample,但是该瀑布仅带有标题“ FX Matrix 105 Mono Compr Exp Dbl UL Sub Italic的样本大小”,而没有瀑布文本。我在printSample调用上弄乱了点大小元组(包括不使用元组),并为printSample 3rd参数设置了各种值。

import fontforge

amb = fontforge.open('FXMatrix105MonoComprExpDblULSubItalic.sfd')
fontforge.printSetup('pdf-file', 'z.pdf')
amb.printSample('fontdisplay', 24, 'abcdefABCDEF', 'fontdisplay.pdf')
amb.printSample('waterfall', (12, 16, 24, 36), 'abcdefABCDEF', 'waterfall.pdf')
amb.printSample('fontsample', 24, 'abcdefABCDEF', 'fontsample.pdf')

我希望printSample('waterfall', ...)为我提供各种磅值的字体示例(例如,当您在Windows或Linux中查看字体文件时),但是就像我写的那样,Waterfall.pdf只是标头“ FX Matrix 105 Mono Compr Exp Dbl UL Sub Italic的样本大小”,其下没有任何内容。

尝试从fontforge python模块创建瀑布文档有什么错?

1 个答案:

答案 0 :(得分:1)

我将此作为问题发布在github上的fontforge项目上;我没有提供足够的信息(并且不了解瀑布页面是什么)

感谢Fredrick Brennan ctrlcctrlv,请在https://github.com/fontforge/fontforge/issues/3457进行回答:

  

发生这种情况的原因是您尚未选择字母   第一。试试:

fontforge.open('FXMatrix105MonoComprExpDblULSubItalic.sfd')
fontforge.printSetup('pdf-file', 'z.pdf')
amb.selection.select(("unicode","ranges"),ord('A'),ord('Z'))
amb.printSample('waterfall', (12, 16, 24, 36), 'abcdefABCDEF',
'waterfall.pdf') ```