教程 字形命名
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 佈局功能中使用的字形設置名稱。

字形名稱和導出字體

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