为了捕获TrueType
字体的字形宽度,我将相应的TTF
文件转换为fontforge
到AFM
,这是文本格式(非二进制)。然后,解析文本文件以捕获字形宽度。
应该有更简单的方法来直接解析二进制TTF
文件以捕获字形宽度。
我很欣赏shell脚本或C的策略,但是任何编程语言都可以,因为这个想法是关键,代码可以调整。
答案 0 :(得分:4)
假设您的意思是提前宽度,您感兴趣的是hmtx table。解析起来相当简单,因为你可以看到结构是:
typedef struct _longHorMetric {
USHORT advanceWidth;
SHORT lsb;
} longHorMetric;
当然,为了解析hmtx,您还需要知道how to locate font tables,并且还需要hhea表中的numberOfHMetrics值和字体{{{来自maxp表的3}}所有这些的结构都在链接中给出,并且应该很容易用任何语言进行解析。