给字符轮廓起个恰当的名称

  • by Rainer Erich Scheichelbauer
  • Tutorial
  • – Modified on

如果你的字符轮廓名称很糟糕(极客甚至宣称这是“违规的”),你的字体可能无法正确的编译。所以,确保你的字符轮廓名称 符合命名的规则.

实际上,Glyphs会检查您输入的字符轮廓的名字栏并防止在一开始就出现不必要的麻烦。例如:如果字体有ä,它就会自动地转换成adieresis。如果你依旧执意忽略这些,Glyphs软件会报错:

不过,如果你打开了一个不检查字符轮廓名称的软件做的字体,你可能仍然会在您的Glyphs文件中使用违规名称。如果这种情况发生了,那么这篇教程就是为你写的。

“人性化的名字”(相对机械化的Unicode名字而言)

Glyphs可以有自己的命名可能性,尤其是非拉丁文字,比如西里尔语和阿拉伯语。我们称它们为 “人性化的名字”. 那是因为我们相信 beh-arZhe-cy 会比 afii57416uni0416更具直观性,更容易理解。看一下 窗口>字符轮廓信息 列出了一组分类的的字符轮廓名称。

正如你所见,这里有一个 添加字体 按钮。当然你可以一次选择多个,只需按下 Shift 键点击选择,或者按 Cmd 点击选择单个字符轮廓。

更新字符轮廓信息

修复字符轮廓名称最好从 字体>更新字符轮廓信息 开始。这里将尝试将Unicode值和字符轮廓名称同步。字符轮廓名称被重新设置为默认值, 就像在内置的字符轮廓数据库中所描述的那样(见下文)。但是,如果你使用 定制的字符轮廓数据,将在名称转换时予以保留。

如果你要 导入一个现有的字体,你可能需要核查两个设置:首先,全局偏好 Glyphs > 偏好设置> 用户设置 > 保留字符轮廓名称的导入文件 。如果是这样,新导入的文件将会自动激活特定于字体的 文件>字体信息>其他设置>使用自定义命名 。当这些设置启用时,将禁止更换“人性化的名字”。如果需要集成不同的、指定的工作流,这将非常有用。

Unicode码特性

有时,你希望你的字符轮廓与某一个确定的Unicode字符相对应,而这个字符在Glyph信息里没有任何条目,你可以试试使用专用区(Private Use Area ,简称 PUM)。在这种情况下,你可以将你的字符轮廓以“uni”为开始来命名,后面跟十六进制代码(大写字母),例如uniE000。 顺便说一下,一旦设置了Unicode值,你可以将它重命名为你喜欢的或对你有意义的,例如twitterIcon。PUA Unicode值将保留在新名称中。

对于那些在基本多文种平面(Basic Multilingual Plane,简称BMP)之外的符合Unicodes码的字符轮廓,名称以u开头,后面跟着5位代码。比如,U+10102 AEGEAN CHECK MARK的字符轮廓被称为 u10102.

创建自己的个性化名字

但是,如果你必须自己创建字符轮廓名称,那么遵循以下命名方案是一个很好的主意。导出字符轮廓的任何名称中的 第一个字符 应该始终是一下的其中之一:

ABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz

就是这样。如果你的第一个字符没有出现在那里,你的字符轮廓名字很可能是违规的,字体警察会来把你锁起来,更糟糕的是,你的字体不能正确编译。

不过,有两个例外。首先,看不见的(非导出)字符轮廓可能在名称的开头使用下划线。详情见下文。其次,有.notdef,一个字符轮廓替代了在文本中未定义的字符。通常它是一个里面有一个X或者一个问号的方形,或者,如果你没有设计这个.notdef。在默认情况下是这样:

所以,请认真看:没有元音变音,没有读音符号,没有时髦的语言符号,只有普通的ASCII字母。那是字母,所以也没有数字。特别是没有空格,没有逗号,没有破折号或任何其他标点符号。只是普通的A到Z或a到z。

对于 余下的 字符轮廓名称,您还可以使用其中的一个:

1234567890 (数字)
_ (下划线)
. (英文句号)
- (英文破折号)

就是这样。再一次,没有空格,没有读音符号,没有花哨的任何东西。但是,看,其中一些有特殊的含义。

下划线

下划线“_”是用于连体字母的。 下划线连接了由连体字母连接的字符轮廓名称。因此,下划线之间的部分应该是正确的字符轮廓名称,就像它们出现在 Glyph 信息面板中一样。

我知道听起来很复杂,但这很简单。假设你有一个 fh的连体字母,那么你的连体字母就叫做f_h。想要一个f 和 adieresis (ä)的连体字母?然后你的连体字母叫,你猜对了,f_adieresis。想把你的名字作为连体字母吗?像这样M_a_r_y或者P_e_t_e_r,或者无论你叫什么。如果你坚持这个规则,Glyphs甚至可以为你构建各自的连体字母特征。

由于自动特征生成将大部分连体字母放到dlig(任意连体字母)中,你可以使用.liga 扩展名强制将你的连体字母放入 .liga(标准连体字母)中,例如f_adieresis.liga。在连体字母教程中可以阅读更多关于它的内容。

当通过 字符轮廓>添加字符轮廓(Shift-Cmd-G)生成时,名称的开头有下划线的字符轮廓在默认情况下是非导出的。因此,一个下划线作为字符轮廓名称中的第一个字符用于一些特殊的符号,比如智能字符轮廓夹角部件特殊部件技巧诸如此类的。

英文句号

英文句号“.”用于为字符轮廓名称添加一个描述性扩展。在很多情况下,是能体现字符轮廓在OpenType中的特性的名字,例如e.ss01代表一个小写e的第一套风格(the first stylistic set)的变体。

如果在英文句号之前 的部分是来自窗口>字符轮廓信息的符合规则的字符轮廓名,然后 Glyphs软件可以连接到一个字符。这意味着你的字体在这样的情况下会更好发挥作用,比如从使用了你的字体的PDF文件中拷贝文本。

同样,你也可以用.loclXXX来做一个字符轮廓的本地版本的扩展,XXX是语言系统的标记,例如,adieresis.loclSVE是一个小写瑞典语字母 ä 或者oacute.loclPLK是一个小写的 波兰语字母ó。Glyphs软件可以自动地处理locl 特性。

有时候,字符轮廓名称的后缀和OpenType特性标签之间的关系比直接的一对一的关系更复杂。例如,.sc 将激活小型大写字母特性,小写字母激活小型大写字母特性加smcp,大写字母激活小型大写字母特性加c2sc。增加以下几个后缀,将激活相关的数字特性。比例不等高数字后缀是 .osf、等宽不等高数字后缀是.tosf、比例等高数字后缀是.lf和等宽等高数字后缀是 .tf 。 一个完整的OpenType功能列表,可以通过巧妙的字符轮廓命名实现自动化,参见《Glyphs软件手册》附录,您可以从 开始 页面免费下载该手册。

英文破折号

Glyphs 使用英文破折号“-”来附加一个语言系统,例如 -cy是西里尔语,-ar是阿拉伯语,-deva是梵文等等。我最喜爱的当然是 -phaistosDisc, 仅仅因为这个原因。打开你的字符轮廓信息面板,在搜索框中键入一个英文破折号(dash),你会知道有哪些语言。


2012-09-21更新:增加关于非BMP Unicodes码
段落
2015-09-21更新:为 Glyphs 2 版更新。
2016-12-06更新:更新截屏,拼写错误,部分重写。

Translation: 麻鹴鹴 Ma Shuangshuang

Revision: 刘钊 Liu Zhao 程训昌 Cheng Xunchang