制作小型大写体

教程
作者:Rainer Erich Scheichelbauer
en fr zh

翻译:Stella Chupik

2 十二月 2015 发布日期: 29 十月 2015

So, you’ve finished all your uppercase glyphs, and you are on a roll? Here’s how the software can generate small caps from your uppercase.

所以你已经完成了全部大写字符形,然后还没有筋疲力尽?这里有一个初步介绍,教你如何基于大写字母创建小型大写字母。

复制并重命名

Glyphs 对于小型大写字母采用特殊的命名方案:小写字母加上后缀名 .sc。或者,也可以用后缀名 .smcp 建立 “小写到小型大写” 特性,以及 .c2sc 建立 “大写到小型大写” 特性。

首先,你需要复制所有要建立小型大写的字母。通常而言,应该是全部不包含部件的大写字母。你可以通过点击字体视图左下角的齿轮图标,并选择 “添加智能过滤器” ,然后选择 “路径数量”,“大于” 并输入 0,以此轻松筛选出这样的字符形:

现在,按住 Cmd 同时选择你的过滤器和 “字母 > 大写”。这样就会为你显示出所有不含部件的大写字母。

如果你的设计上有需要,别忘了数字、标点和标符的小型大写变体。本例中,我们专注于大写字母。全选筛选出来的字符形,并前往 “字符 > 复制字符形”(Cmd-D)。现在,全部副本字符形均带有后缀 .001

现在你需要重命名它们,因为小型大写字母带有后缀 .sc。不过,你不需要逐个重命名它们。只需全选 .001 字符形并按下 Shift-Cmd-F,或前往 “编辑 > 查找 > 查找和替换”。在 “查找” 框中输入 .001,“替换” 中输入 .sc,并按下 “替换”。

要方便地将字符形名称从大写变为小写,只需使用 mekkablue’s 脚本 “Glyph Names” 文件夹中的 “Make glyph names lowercase” 脚本。它会自动将所选字符形名称改为小写。

或者,对于你们当中的硬核玩家而言,还有一个更酷的内建方法来实现这个。你可以使用这个小技巧来同时完成两步重命名(添加后缀和变为小写):

同样,全选字符形,前往 “编辑 > 查找 > 查找和替换”(Shift-Cmd-F)并在 “查找” 框中输入 (.*)\.001(.*) 代表任何数量的任何字符,\.001 代表一个句点,后接 “001”。任何,在 “替换” 框中,输入 \L\1.sc\L 将后面接的所有内容转换为小写,\1 代表括号中的第一个表达式,本例中为 (.*).sc 是我们想要为小型大写字母添加的后缀名。这次,你还需要勾选 “正则”,代表正则表达式,其结果是这些滑稽的句点、星号和括号会具有实际含义。特别简单吧!

缩小并微调

嗯,如果说这些字母还不小的话,也还不是真的小型大写字母。所以你需要缩小你的字符形,但同时保持字干粗细不变。同样,你不需要完全手动操作。如果你在字重轴上有不止一个母版,你可以使用 Tim Ahrens Font Remix Tools 中的 “RMX Scaler” 功能。但是它们实际上除了缩放之外还能做更多事情:“RMX Scaler” 尽量维持你的字干粗细,这是我们做小型大写时所需要的。但是 RMX 无法猜测你的字干粗细,因此你需要在 “字体信息 > 母版”(Cmd-I)中定义每个母版中的水平和垂直字干。

然后在字体视图或编辑视图中选择你想做的小型大写字符形,运行 “滤镜 > RMX Scaler”,并输入适合你的设计的数值:

每一列代表一个母版。当你将光标放在某一列中时,RMX Scaler 会讲编辑视图切换为相应的母版,这样你就能随时看到所做内容的预览。你可能会想让宽度 “Width” 值比高度 “Height” 值稍高,小型大写的高度稍稍大于 x-height。你也可以通过在 “Weight” 中指定轮廓扩展的单位值来修改字干的粗细。其意义在于,万一你觉得小型大写字母太细了,而这在小型大写中时有发生。通常,小型大写还需要稍稍增大字间距。在 “Adjust Spacing” 框中输入单位值来调整字间距。竖直位移 “Vertical Shift” 框用于制作上标字符形,所以这里你可以不管它。

请记住,RMX 能帮很大的忙,也能让你一步就走得很远,但它不会直接帮你做完小型大写字母。你还是需要做些手动微调。

所以,这就是我们到目前为止所做到的:

小型大写高度

你有一个 x 高度和一个大写高度,所以你还需要有一个小型大写高度。前往 “字体信息 > 母版”,为每个母版添加一个新的自定义参数,并选择 “smallCapHeight”。其 “值” 处输入一个代表小型大写字母的高度值。这样,你就不需要用一大堆辅助线将编辑视图搞乱了。最终,别忘了弧笔视觉修正:按下 “对齐区域” 的刷新按钮,并按需调整,或使用加号按钮手动添加。

现在,不论何时你编辑一个 .sc 字符形时,编辑视图中将显示小型大写字母高度线,而非 x 高度线:

变音符

如果你还想给你的小型大写字母添加变音符之类的东西,有一个比手动添加更简单的办法。我们会给所有小写组合字符形添加小型大写版本!这样操作:同样,添加 “智能过滤器”,但这次,选择 “首个母版包含部件” 并选 “是”。

现在,同时选择你的过滤器和 “小写”,就像我们刚刚对大写字母所做的一样。你知道的,按下 Cmd 就可以了。全选字母,右击并选择 “拷贝字符形名称 > 空格分隔”。现在所有小写组合字符形名称就都在剪贴板里了。

打开你选择的文本编辑器,比如 TextMateTextWranglerAtomSublime,或是 BBEdit 并将其粘贴。使用 “查找和替换” 功能将每个空格替换为 .sc 再加空格。

这应该会将 aacuteabreveacaron、…… 转换为 aacute.scabreve.scacaron.sc、……。拷贝你新获得的清单,并切换回 Glyphs。前往 “字符 > 添加字符形”(Shift-Cmd-G),粘贴清单并按下 “生成”。然后 Glyphs 会创建小型大写字符形,并在所有可能的地方应用 .sc 部件。完成!

你也可以通过字体视图左下角的加号按钮手动添加字符形,并重命名。例如,将 ä 的小型大写变体命名为 adieresis.sc,然后前往 “字符 > 创建组合字符形”(Opt-Shift-Cmd-C)。现在,这个字符形就会由 a.scdieresiscomb.sc 拼合而成。Glyphs 会在任何可能的地方使用带有同样后缀名的字符形,所以如果你的字体中没有 dieresiscomb.sc,就会默认使用 dieresiscomb

OpenType 特性

要添加小型大写特性,前往 “字体信息 > 特性” 并点击 “更新”,然后点击 “编译”。你现在应该会有两个名为 smcpc2sc 的新特性。第一个,smcp,将你的小写字符形转换为小型大写;c2sc(“caps to small caps” 的缩写)转换大写字母。

完成全部辛苦的工作之后,你想知道它是否确实能够工作。阅读关于在 Adobe 程序中测试字体的内容


2019-02-11 更新:微小更正,处理格式和录入错误,添加 Atom 链接。
2019-08-09 更新:更改了 “Make glyph names lowercase” 脚本的名称并更正录入错误(谢谢 Nathalie Dumont)。

Chinese translation by Willie Liu (刘育黎) from 3type (三言).