本教程解釋為什麼字形名稱已經不再是它們過去的樣子——它們依然同等重要,只是變得更友好、更智慧。
在早期,要求在字型中儲存字形名稱。有一個預定義的名稱列表,但僅適用於選定的 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 佈局功能中使用的字形設定名稱。
如果您希望在生成的字型中包含字形名稱,最好在匯出設定中選擇"為釋出重新生成"。這樣,您可以提供僅用於生產的友好字形名稱。