終端渲染時「fi」的連字是如何做到的?

請看圖,「field」 排版中的 f 和 i 都和單獨存在時長得不一樣。字體渲染時可以做到特定組合重新排版嗎?

(選自 GMAT OG 12th ed.)

再如下圖中 Apple 首頁的 「film」


是的,字體可以將多個字元各自對應的多個字形(glyph)替換為一個連字(ligature)字形。

比如,以 OpenType 的 GSUB(glyph substitution)機製為例:

排版引擎將當前字元流「field」的五個字母各自通過當前字體映射到了五個字形(f, i, e, l, d),然後因為排版環境啟用了 `liga` 特性(standard ligatures;標準連字),於是排版引擎在字體中查表得知,f 和 i 這兩個字形相連時替換為 fi 這一個字形。

這種簡單的事情只是 OpenType 高級排版特性的九牛一毛。


這是連字(Typographic ligature)。

OpenType 特性中有連字。


推薦閱讀:

在使用 LaTeX 排版時,如何使用ルビー (振假名)?
閱讀類 Web 應用 ,如何選擇字體與行距?
如何評價 iOS 8 中 AssistiveTouch 的排版?
為什麼一般把向量定義為列向量?
學排版有什麼推薦的書籍或者其他途徑嗎?

TAG:字體 | 排版 | 計算機 | 連字ligature |