OpenType 布局功能代码编辑器允许您完全控制字体中所有支持的 OpenType 布局功能。如果您想自动生成功能,请单击OpenType 设计器对话框中左上角的工具栏图标。
由于通过视觉添加功能可能非常耗时,编辑器允许您通过三种支持的脚本语言之一来定义和编辑字形替换(GSUB)和字形定位(GPOS)的 OpenType 布局功能。FontCreator 支持这些基于脚本的语法:
这是首选的功能语法。在此处阅读更多信息:
https://adobe-type-tools.github.io/afdko/OpenTypeFeatureFileSpecification.html
AFDKO FEA 功能语法有几个限制,因此您可以在 FontCreator 中执行的某些操作无法用 FEA 语法表达,即:
除了这些限制外,它还支持指定或覆盖表值,这在导入基于 UFO 的字体时很有用。
FontCreator 完全支持官方可变值的附加功能。例如可变定位,如:
locationDef wght=16d @ThinItalic;
locationDef wght=72d @Italic; # Default
locationDef wght=170d @BoldItalic;
languagesystem latn dflt; # Latin default
lookup PairAdjTriplet { # GPOS lookup type PairAdjustment
pos quoteright A (<120 0 100 0> @ThinItalic:<250 0 200 0> @BoldItalic:<120 0 100 0>);
} PairAdjTriplet;
feature kern { # Kerning
lookup PairAdj { # GPOS lookup type PairAdjustment
pos L quoteright (-260 @ThinItalic:-220);
pos quoteright A (-90 @ThinItalic:-130 @BoldItalic:-40);
} PairAdj;
lookup TripletAdj { # GPOS lookup type ChainedContextPositioning
pos L quoteright' lookup PairAdjTriplet A';
} TripletAdj;
} kern;
它还支持非官方可变 FEA 语法的功能变体部分。例如功能变体,如:
conditionset ConditionSet1 {
wght 500 800;
} ConditionSet1;
variation rvrn ConditionSet1 { # Required Variation Alternates
lookup SingleSubstitution35;
} rvrn;
使用 MS VOLT 的人可以导入和导出此类功能代码,因此他们可以同时使用 FontCreator 和 MS VOLT。
VOLT 也有几个限制。例如:
我们几年前引入了这种语法,但由于大多数字体设计师都熟悉 AFDKO FEA 功能语法,我们决定不再维护这种语法。
默认情况下,代码编辑器将使用 Adobe fea 语法,因为大多数字体设计师都熟悉它,但您可以从 OpenType 布局功能代码编辑器窗口左上角可用的组合框中选择 OTLFD 和 VOLT。
您可以随时更新和更改脚本。工具栏中的查找和替换功能可能对此有用。快捷键 Ctrl F 打开搜索文本对话框,F3 查找当前搜索文本的下一个出现位置,Shift+F3 查找上一个出现位置。

按 CTRL + 空格键显示字形名称和类名称完成帮助。
要测试语法是否正确以及所有字形名称是否有效,请单击工具栏上的语法检查按钮或使用快捷键 F9。如果有任何语法错误或无法解析的字形名称,输出窗口将列出它们。您可以双击错误以快速跳转到发生错误的行。
如果您希望编译器忽略未知字形,并允许空类和查找,请单击工具栏中的忽略未知字形(警告)图标。
当您单击确定按钮时,代码将被编译,成功后将替换您所有现有的脚本、功能、查找和类,并合并锚点。
英文原文:https://www.high-logic.com/fontcreator/manual16/opentypelayoutfeatureeditor.html