教程 字形命名
No.14 Glyph Names

字形命名約定

本教程解釋為什麼字形名稱已經不再是它們過去的樣子——它們依然同等重要,只是變得更友好、更智慧。

教程式號: 14
官方原文: high-logic.com
內容狀態: ✅ 基於完整內容建立

在早期,要求在字型中儲存字形名稱。有一個預定義的名稱列表,但僅適用於選定的 Unicode 碼點列表。這不是一個全面的列表,由於名稱主要是佔用空間的冗餘資訊,如今大多數字體在釋出時不帶字形名稱。

在生產過程中,透過名稱輕鬆識別字形很重要,特別是當您尚未新增輪廓時。此外,某些字形看起來相似,或者您提供了替代品。為此,我們不受用於釋出的字形名稱的約束,而是使用也用於自動化事物的友好名稱。字形名稱不僅用於生成自動化的 OpenType 佈局功能,還用於字形度量表示式中,因此為字形提供正確的名稱很重要。

友好字形命名約定

因此,FontCreator 為所有字元和字形使用友好名稱,這允許您快速識別它們,但應該如何命名它們?

首先,友好字形名稱區分大小寫,因此 "adotbelow" 和 "Adotbelow" 是兩個不同的名稱。

我們區分字元(對映字形)和未對映字形。字元是具有 Unicode 碼點的字形。未對映字形沒有分配碼點,因此不是字元。未對映字形仍然可以表示字元,但您無法在文書處理應用程式中直接訪問它。OpenType 佈局功能允許您訪問那些未對映的字形,這就是命名約定發揮作用的地方。

字元(對映字形)以字元的實際友好描述開頭。如果字元屬於非拉丁指令碼,則新增指令碼的縮寫(以連字元開頭)。一些示例:

友好名稱 碼點 指令碼 Unicode 描述
Ccedilla $00C7 拉丁文 LATIN CAPITAL LETTER C WITH CEDILLA
Five $0035 - DIGIT FIVE
A-cyrl $0410 西里爾文 CYRILLIC CAPITAL LETTER A
fi $FB01 拉丁文 LATIN SMALL LIGATURE FI
zacute $017A 拉丁文 LATIN SMALL LETTER Z WITH ACUTE

未對映字形的名稱可以追溯到源字元。未對映字形分為兩組:

  • 連字
  • 字元變體

連字是由多個字元組成的字形。連字的名稱是組成連字的字形名稱的連線,在單個字形成員名稱之間有下劃線。

友好名稱 基於
f_f_j f、f 和 j
z_gravecomb z 和 gravecomb

字元變體是另一個字元、字形或連字的替代形式。請給它與對映字形相同的名稱,並新增一個字尾,標識如何透過 OpenType 佈局功能訪問該字形。示例:

友好名稱 基於 變體
Ccedilla.ss01 Ccedilla 樣式集 01
five.sups five 上標
A-cyrl.pcap A-cyrl 小型大寫字母
zero.zero zero 斜槓零
sheen_yehhamzaabove-arab.fina sheen-arab 和 yehhamzaabove-arab 最終形式

如果在 OpenType 指令碼中使用字形名稱,並且它包含特定字元,可能會導致解析器出現問題。其中之一是連字元,它既用於向字形名稱提供指令碼,也用於定義字形範圍。在這種情況下,字形名稱位於雙引號之間。

生成字形名稱

生成字形名稱(透過主選單 → 工具 → 字形名稱 → 生成可用)將為所有具有已知碼點的字形生成字形名稱。它還將嘗試為指定 OpenType 佈局功能中使用的字形設定名稱。

字形名稱和匯出字型

如果您希望在生成的字型中包含字形名稱,最好在匯出設定中選擇"為釋出重新生成"。這樣,您可以提供僅用於生產的友好字形名稱。