本教程演示如何根據可變字型的變化例項(這裡是 Weight 字重軸),將單豎線的美元符號切換為帶斷條的備選設計。
可變字型允許您使用軸滑塊插值字形層輪廓。這是可能的,因為所有層都具有相容的輪廓,這意味著它們具有相同數量的輪廓和匹配的點,僅在點座標上有所不同。然而,如果您需要在設計空間內的特定範圍內切換到不相容的輪廓怎麼辦?例如,您可能希望為更窄或更粗的字形使用不同的字形設計。
想象一個場景,您希望帶有單豎線的美元符號切換到帶有斷槓的替代設計,適用於更粗的字重(例如,當字重軸為 650 或更高時)。這就是 OpenType 的特性變化發揮作用的地方。
OpenType 規範透過特性變化表提供了一個優雅的解決方案,允許您將包含預設查詢集的特性替換為包含需要在特定條件下應用的查詢的替代特性。
有一個專門用於此的功能稱為必需變化替代(rvrn)。根據規範,rvrn 功能中的所有查詢必須是單一替換(GSUB 型別 1),這意味著不允許使用連字、上下文或 GPOS 查詢。然而,某些應用程式並未完全按照 OpenType 規範的意圖支援 rvrn,這可能會導致問題。
如果您使用 rvrn 的特性變化不起作用,您可以自由使用其他功能。我們建議嘗試必需連字(rlig)作為替代。此功能沒有與 rvrn 相同的限制,允許使用連字查詢。
4. 將功能與變化條件連線
這是完整的功能程式碼:
languagesystem DFLT dflt;
languagesystem latn dflt; # Latin default
lookup SingleSubstitution1 { # GSUB lookup type SingleSubstitution
sub dollar by dollar.rvrn;
} SingleSubstitution1;
feature rvrn { # Required Variation Alternates
} rvrn;
conditionset ConditionSet1 {
wght 650 950;
} ConditionSet1;
variation rvrn ConditionSet1 { # Required Variation Alternates
lookup SingleSubstitution1;
} rvrn;
透過此設定,您可以有效地管理字形在可變字型中不同軸位置的變化,確保您的設計在各種樣式和字重下保持最佳狀態。
致謝:本教程中使用的字型是 Elron Bucai 設計的 FtMonopol。