勾勒好的路径

  • by Rainer Erich Scheichelbauer
  • Tutorial
  • – Modified on

粗糙的轮廓线会令人头疼,会使字形看起来残破而不美观。若将一些基本规则记在脑中便会使你规避这些问题。

魔力三角形

关键的一点是:每个曲线段都要完美的贴合在一个三角形里。

你问我 “什么是一条线段?” ,其实答案非常简单:即处于曲线上的两个相邻的点(又称之为节点nodes)之间的部分。线段则分为直线与曲线两种,直线仅包括两个节点,曲线段则包含另外两个位于曲线之外的点(又称之为贝塞尔控制点 - BCPs) 也叫“手柄 (handle)”。值得一提的是魔力三角形是由线段两端的节点与两个手柄延长线的交叉点勾勒出来的。这便意味着手柄绝不能延伸到三角形以外。若手柄延伸到三角形以外,您可能需要重新考虑节点的位置。 所以以下两件事情不应该发生:一个手柄横跨另一个手柄,一个手柄横跨另一个手柄的延长线。因为这可能会导致不必要的变形、双拐点 、 突兀的曲线甚至是曲线自相交叉的后果,所有的这些都可能会使程序陷入困境。

如果您曾经接触过像Illustrator这样的矢量图软件,这可能会让你感到意外。首先,手柄不属于节点,而属于线段。其次,一个曲线段总是有两个贝塞尔控制点,从不只是一个。Illustrator似乎会允许你绘制只有一个贝塞尔控制点的曲线段。但实际上,Illustrator真正做的做法是将另外一个贝塞尔控制点隐藏在附近的一个节点之中。对于字体软件这将是很糟糕的事情,因为两个点不应该共用一个调节器。此外,如果您善用两个贝塞尔控制点,你将更好的控制路径。

如果其中一个贝塞尔控制点似乎丢失,那么它便隐藏在旁边的节点中。解决这个问题最简单的方法是在附近选择一个点,可以是一个手柄也可以是一个节点,然后选择隐藏的手柄。使用Shift-tab进行反转方向。浅灰色的强调色表明手柄被选中。现在使用鼠标箭头将手柄拖出节点。如果您同时按option键,你的手柄将保持其原来的方向。按住Shift键使得递增单位为10。

三角形的规则也意味着曲线段应该只有一个方向,即不从顺时针转到逆时针。 但是,这个规则也有例外。 很多时候,当绘制像S或波浪号的字形时,尤其是一个小路径范围的动态时,你最好采用双拐点。 当你画杯形衬线时,你更加需要使用双拐点。

确保A点和C点的高度相同,所有的贝塞尔控制点都是水平的,基座和B之间的距离小于20个单位。 将您的postscriptBlueShift自定义参数设置为您的衬线底部的弧形线(cups)的深度加1。 然后,自动调节器(autohinter)便可应用所谓的弹性提示 (flex hint)。

路径方向和顺序

错误的路径方向可能会使字腔(counters)变的很糟糕 。 路径需要为逆时针方向,字腔需要为顺时针定向。 您可以通过选择路径来控制路径方向,右键单击并选择右键快捷菜单中反转所选轮廓(Reverse Selected Contours )。 不想记住这一点吗? 没问题。 Glyphs可以为你做到这一点。 只需选择路径(Paths) >正确的路径方向 (Correct Path Direction)(Cmd-Shift-R),你就完成了。 此命令也适用于多个字形,甚至整个字体。

顺便说一下,路径(Paths) >正确路径方向 (Correct Path Direction)(Cmd-Shift-R)也可以重新排列路径并重置每个闭合路径中的起始点。 您可以通过在每个基准字形中应用此命令来快速修复大多数内交叉问题。

自相交叉

字体中的路径不得自相交叉。您可以通过选择有问题的轮廓,并选择“筛选” (Filter) >“删除重叠” (Remove Overlap)(Cmd-Shift-O)来修复自相交叉问题。

当然有时候,为了设计的目的您需要插入交叉点。在这种情况下,请确保在导出字体(Cmd-E)时激活删除重叠(Remove Overlap)。

多余点

这一点不是一个特别重要的点,但它可以提高您的字体的绘制效果:路径(Paths) >整理路径(Tidy Up Paths)(Cmd-Opt-Shift-T)将删除多余的节点和贝塞尔控制点。此命令还可以改变节点的类型,从而将蓝色的折线点改变为绿色曲线点(反之亦然)。

极值点

当我们到这里时,如果您在路径的x和y顶点插入节点,很多东西会更容易。很多时候这样做可以让您在摆脱其他的点的同时得到更简洁的路径、更少的点数、更小的文件大小。

您可以选择“路径”(Paths)>“添加极限” (Add Extremes),以将极值添加到所选轮廓、所选字形甚至整个字体。或者,如果您想对路径有更多的控制,只需用你的笔工具(P),然后按住Shift键并单击路径。Glyphs将为你寻找曲线段最近的极值点或拐点,并在其中插入一个节点。

插入极值点(extremum points)后,您可以摆脱位于线段中间部分的点而不影响其形状:

打开和闭合

在导出的最终版字体里发现一个完整的路径丢失了怎么办?这是因为它也许是未闭合的路径,未闭合的路径在导出过程中会被忽略。所以,所有的路径都应该闭合。

要闭合路径,只需用编辑工具(V)将其中一个打开的末尾拖到另一个上。或切换到钢笔工具(P),然后点击两个端点添加一个结束线段。

矢量图出界

极为偏左侧或是右侧?这可能是因为在你可视的字形之外很远处还有一些编辑对象。接下这个方法便会使你摆脱这个问题:

  1. 确保正确的字形处于活跃状态,即光标置于其前。
  2. 通过单击工具栏中的箭头符号切换到编辑工具。
  3. 选择“编辑” (Edit )>“全选”(Cmd-A)即选中字形中的所有路径。
  4. 按住Shift键的同时,框选要保留的部分。它们则被取消选择。现在,只有超出边界的碎片才被选中。
  5. 点击Delete键。

现在是你仔细检查每个字形并优化这些矢量图形的好时候。相信我,这会帮你省去一些麻烦的。


Translation: 胡贝HU Bei (Becca)
Revision: 刘钊 Liu Zhao