Python

字體常見特性概述

這篇文章不是整理的很完整,因為整理的人(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/

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *