字形名稱有多種用途,它們用於 FontCreator 來識別字形並幫助生成 OpenType 功能。字形名稱也可以儲存在生成的字型中,但這可選。
多年前,字形名稱是字型的重要組成部分,但如今大多數字體在釋出時不帶字形名稱,因為該資訊不再使用,因此只會佔用空間。
FontCreator 中的字形名稱因此主要用作顯示字形友好名稱的方式,以及生成 OpenType 功能。名稱也可以在字形度量表示式中使用,並且在匯入或匯出 OpenType 佈局功能指令碼時也會使用,因此為字形提供正確的名稱很重要;主要用於開發目的。
友好字形名稱約定
FontCreator 為所有 Unicode 字元使用友好名稱。它們允許您按指令碼快速識別它們,並可選擇按預期的 OpenType 功能識別。
Unicode 字元
名稱以字元(或連字)的實際友好描述開頭,可選地包括指令碼縮寫(以連字元開頭)和一個或多個字尾(都以點開頭)。如果是拉丁指令碼,則省略指令碼。以下是更多示例:
| 友好名稱 | 碼點 | 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 |
沒有 Unicode 碼點的連字
連字字形的名稱實際上是構成連字的字形的連線,各個字形成員名稱之間用下劃線分隔。
| 友好名稱 |
|---|
| f_f_j |
| z_gravecomb |
| sheen_yehhamzaabove-arab.fina |
替代形式
如果您想設計替代形式,強烈建議新增一個具有相同名稱但帶有字尾的字形。如果您想在特定的 OpenType 功能中使用它。示例:
| 友好名稱 |
|---|
| Ccedilla.ss01 |
| five.sups |
| A-cyrl.pcap |
| zero.zero |
如果字形名稱在 OpenType 指令碼中使用,並且包含特定字元,可能會導致解析器出現問題。其中一個是連字元,它既用於為字形名稱提供指令碼,也用於定義字形範圍。在這種情況下,字形名稱位於雙引號之間。
提示:如果您希望在生成的字型中包含字形名稱,最好在匯出設定中選擇"為釋出重新生成"。這樣您可以為生產提供友好的字形名稱。
警告:雖然 FontCreator 允許您有兩個或更多具有相同名稱的字形,但這是一種不好的做法,令人困惑,並且匯出 OpenType 佈局功能指令碼可能會導致歧義。
生成字形名稱(透過主選單 -> 工具 -> 字形名稱 -> 生成提供)將為所有具有已知碼點的字形生成字形名稱。它還將嘗試為指定 OpenType 佈局功能中使用的字形設定名稱。
注意:您可以透過在使用者資料資料夾中的 glyphnamesnew.dat 檔案中新增條目來覆蓋這些名稱。
有關更多資訊,請參閱FontCreator 資料檔案。
使用"編輯字形名稱"對話方塊快速替換字形名稱。您可以從左側文字區域輸入、複製和貼上。
使用"查詢和替換字形名稱"對話方塊替換字形名稱的部分。您可以選擇使用正規表示式。這樣您可以輕鬆地在字形名稱前新增一些文字,或在字形名稱後附加文字。使用右上角的 [+] 按鈕訪問常見的正規表示式。

如您在上面的螢幕截圖中所見,正規表示式允許您搜尋以"sc"結尾的文字(美元符號 $ 標記行尾)並將其替換為"smcp"。如果不使用正規表示式,名稱為 muscle 和 scale 的字形也將被重新命名為 musmcple 和 smcpale。
要在所有字形名稱的末尾附加".case",請使用正規表示式,將"查詢文字"設定為"$",將"替換為"設定為".case"。
為了輕鬆識別更改;如果文字未更改,"新"列中的文字將顯示為灰色。如果字形名稱將被更改,它將以藍色顯示。
英文原文:https://www.high-logic.com/fontcreator/manual16/generateglyphnames.html