Как заставить модуль fontforge печатать образцы водопадов? - PullRequest
0 голосов
/ 08 февраля 2019

Я пишу скрипт на Python, чтобы просмотреть мою коллекцию шрифтов (немного TTF, немного OFD, немного SFD) и в итоге создать один документ (PDF?) С образцами страниц для всех из них.

Myжелаемый формат вывода будет аналогичен тому, который вы получаете при просмотре файла шрифта в Windows или Gnome;образец здесь из ответа qubodup в https://unix.stackexchange.com/questions/5715/how-to-view-a-ttf-font-file). Используя этот ответ, я могу использовать ImageMagick для генерации образцов изображений для файлов TTF и OFD.

Я пытаюсь использовать fontforgeобрабатывать файлы SFD.Я на Ubuntu, установил fontforge и python-fontforge.Я использую https://fontforge.github.io/python.html для документации, в частности, разделы в printSetup и printSample.

Этот скрипт прекрасно работает для печати fontdisplay и fontsample, но водопад имеет только заголовок "Sample Sizes ofFX Matrix 105 Mono Compr Exp Dbl UL Sub Italic "и без текста водопада.Я возился с кортежом точечного размера при вызове printSample (включая отсутствие использования кортежа) и различными значениями для параметра printSample 3-го.

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»"и ничего под этим.

Что я делаю не так, пытаясь создать документ водопада из модуля python fontforge?

1 Ответ

0 голосов
/ 10 февраля 2019

Я опубликовал это как проблему в проекте fontforge на github;Я не предоставил достаточно информации (и не понял, что такое страница с водопадом)

Спасибо за Фредерику Бреннану 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') ```
...