如何使用bash从ttf字体获取字形宽度?

时间:2018-07-09 07:14:25

标签: bash glyph

width of a glyph

如何使用bash从字体文件中提取此数字1139?

otfinfo可以显示字形列表。

otfinfo --glyphs *.ttf

我想获取有关每个字形的信息,例如此页面:

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

但是用bash。

我发现fontforge可以做到,

Get glyph widths by fontforge script

1 个答案:

答案 0 :(得分:1)

我认为您可以使用 ImageMagick 来获得所需的内容,该产品已安装在大多数Linux发行版中,并且可用于macOS和Windows。

基本上,您需要从命令行告诉ImageMagick,以创建包含单词“ Test”的图像,并要求其在调试输出中告诉您字体指标:

因此,这是Anthony Thyssen出色的“ ImageMagick使用页面” here

的示例
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

希望您可以在Anthony的图中看到各种参数的所有值:

enter image description here