這篇文章不是整理的很完整,因為整理的人(Max)是門外漢。
字體(僅就OpenType與TrueType字體討論)本身包含多個訊息表描述,例如base,cmap,GPOS,GSUB,vmtx,hmtx,name……等。
OpenType與TrueType字體,一般認爲有三種類型:
- 純粹的TrueType字體,其不含CFF表(用於描述字形輪廓,下同),而含有glyf表(用於描述字形輪廓,下同),且不包含相關的OpenType特性。
- 純粹的Opentype字體,其含CFF表(Compact Font Format table,壓縮字體格式表),但不含glyf表(Glyph Data table,字形數據表),可以包含相關的OpenType特性。
- 第三種是包含OpenType特性的TrueType字體,其不含CFF表,而含有glyf表,可以包含相關的OpenType特性,且通常仍被叫做TrueType字體.
CFF和glyf表的區別在於,他們對貝茲曲線的定義不同,CFF表使用的是三次貝茲曲線(Bézier curve),又叫PS(PostScript)曲線或者CFF曲線,而glyf使用的是兩次貝茲曲線(Bézier curve),又叫TT(TrueType)曲線。
OpenType第一個字形的name必須是未定義的「.notdef」,會被作爲缺字的預設字形。
字體常見特性(feature)有:
- aalt (Access All Alternates,啟用所有替換字)
- ccmp (Glyph Composition/Decomposition,字形組合/分解)
- kern( Kerning,字距調整)
- liga (Standard Ligatures,標準連字)
- GPOS(字形定位表)
- GSUB(字形替換表)
相關文章
Microsoft Typography documentation
https://docs.microsoft.com/en-us/typography/