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