Как получить ширину глифа из шрифта ttf с помощью bash?

ширина глифа

Как извлечь этот номер 1139 из файла шрифта с помощью bash?

otfinfo может показать список глифов.

otfinfo --glyphs *.ttf

Я хочу получить информацию о каждом глифе примерно так:

http://bluejamesbond.github.io/CharacterMap/

Но с Баш.

Я обнаружил, что fontforge может это сделать,

Получить ширину глифа скриптом fontforge


person user37421    schedule 09.07.2018    source источник
comment
Что вы пробовали, и как это не удалось? Пожалуйста, отредактируйте свой вопрос, чтобы включить образец вывода из инструмента otfinfo и ваш код на данный момент.   -  person tripleee    schedule 09.07.2018


Ответы (1)


Я думаю, вы можете получить то, что хотите, используя ImageMagick, который установлен в большинстве дистрибутивов Linux и доступен для macOS и Windows.

По сути, вам нужно сообщить ImageMagick из командной строки, чтобы создать изображение, содержащее слово «Test», и попросить его сообщить вам метрики шрифта в выводе отладки, как это делается:

Итак, вот пример из отличной "Страницы использования ImageMagick" Энтони Тиссена здесь

convert -debug annotate  xc: -font "/Library/Fonts/Verdana Bold Italic.ttf" -annotate 0 "Test" null: 
2018-07-10T09:36:53+01:00 0:00.010 0.000u 7.0.7 Annotate convert[7893]: annotate.c/RenderFreetype/1545/Annotate
  Font /Library/Fonts/Verdana Bold Italic.ttf; font-encoding none; text-encoding none; pointsize 12
2018-07-10T09:36:53+01:00 0:00.010 0.000u 7.0.7 Annotate convert[7893]: annotate.c/GetTypeMetrics/931/Annotate
  Metrics: text: Test; width: 28; height: 15; ascent: 13; descent: -3; max advance: 21; bounds: 0.6875,-0.046875  5.96875,9; origin: 28,0; pixels per em: 12,12; underline position: -3.8125; underline thickness: 3.29688
2018-07-10T09:36:53+01:00 0:00.010 0.000u 7.0.7 Annotate convert[7893]: annotate.c/RenderFreetype/1545/Annotate
  Font /Library/Fonts/Verdana Bold Italic.ttf; font-encoding none; text-encoding none; pointsize 12

Надеюсь, вы видите все значения различных параметров, подробно описанных на диаграмме Энтони:

введите здесь описание изображения

person Mark Setchell    schedule 10.07.2018