要分离现有文本路径并保留字母内部空白,请使用 Path → Split Path。如果 Break Apart 已经填满了这些空白,请撤销操作,或将每个字母的外轮廓与其内轮廓重新组合。

本指南介绍如何在 Mac 上处理现有的矢量文本轮廓:将它们分离为有用的对象、修复被填满的字腔(字母内部封闭的空间),并检查这些空间是否仍然透明。步骤使用菜单命令,因此无需转换键盘快捷键即可跟着操作。

为什么 Break Apart 会填满字母内部的空白?

一个字母轮廓可以在一个路径对象中包含多个子路径。例如,轮廓化的 O 通常有一个外轮廓和一个内轮廓。这两个轮廓共同定义了填充的环形区域及其空心中心。Inkscape 的高级教程解释了多个子路径如何组成复合路径,以及重叠的子路径如何形成空洞。

Path → Break Apart 会将每个子路径分离为独立对象。因此,内轮廓会变成一个独立填充的形状,而不再参与构成周围字母的空洞。轮廓通常仍然存在,只是它与外轮廓的关系发生了变化。官方的布尔运算指南介绍了如何将路径分离为独立对象。

更改这些独立对象的填充规则无法恢复它们之间的关系。你必须返回复合路径,或重新组合相应的轮廓。填充规则会根据形状的子路径共同确定哪些区域需要填充,具体定义见 SVG 绘制规范。

哪个命令符合你需要的结果?

根据你希望操作后得到的结构选择操作。一个群组、一个复合路径和一组独立轮廓看起来可能相似,但行为各不相同。

起始结构和目标 命令 结构结果
一个复合文本路径;分离其中互不连接的形状,同时保留字腔 Path → Split Path 相关轮廓会在生成的路径中保持在一起
一个包含独立字母路径的群组;访问这些字母 Object → Ungroup 移除群组,但不拆分每个字母的子路径
一个复合路径;获取每个独立轮廓 Path → Break Apart 外边界和空洞边界会变成独立对象
独立轮廓;重建带有字腔的字母 Path → Combine 将所选轮廓组成一个复合路径

官方的键盘和鼠标参考明确说明,Split Path 会将带有空洞的部分保持在一起。对象分组指南介绍了取消群组操作如何移除现有对象外围的容器。这些命令用于解决不同的结构问题。

更改图稿前,请另存一份工作副本。然后选中轮廓化文本,并查看状态栏,确认你选中的是路径还是群组。如果是群组,只需取消群组到能够访问现有字母路径为止;在执行任何路径操作前,先检查这些路径。

这一区别也解释了旧教程与新版文档之间的差异。Inkscape 的 1.3 版发行说明记录了一项变化:此前将文本转换为由字母路径组成的群组,现在则将整段文本转换为一个路径。因此,根据文件的构造方式,你可能需要取消群组或拆分路径。

如何分离文本路径并保留字腔

如果复合路径的空洞仍然显示正常,请按以下步骤操作:

  1. 另存一份文档工作副本。
  2. 激活 Selector 工具,只选中现有文本路径。
  3. 选择 Path → Split Path。
  4. 单击画布上的空白区域,取消选中结果。
  5. 选择一个生成的形状并稍微移动,进行检查。
  6. 确认它的字腔随外轮廓一起移动,并且保持空心。如果想保留原来的位置,请撤销检查时的移动操作。

Split Path 于 Inkscape 1.2 中引入,用于将子路径分离为彼此相关的对象,同时保留空洞。1.2 版发行说明介绍了它的几何规则:分离互不相交的部分,同时将相交的部分保持在一起。

这条规则有一个重要限制:它无法还原原来的文本字符。相互接触或重叠的字母轮廓可能会保持在一起,而字符中脱离主体的部分则可能变成独立对象。因此,1.3 版发行说明指出,拆分轮廓化文本只能近似还原出单个字母。

如果某个脱离主体的部分需要随字母一起移动,请同时选中生成的两个对象,然后选择 Object → Group。分组会保留它们各自的对象身份,同时允许你将它们作为整体变换;对象分组指南对此有说明。

如何在 Break Apart 后恢复字腔

如果刚刚执行了不需要的操作,请选择 Edit → Undo,直到原来的字腔恢复,然后使用 Path → Split Path。如果撤销操作会丢弃需要保留的工作,则使用现存轮廓逐个重建字母。

重新组合外轮廓和所有内轮廓

  1. 激活 Selector 工具。
  2. 拖动选框圈住一个完整字母,包括其外轮廓和所有内轮廓。不要将相邻字母圈入选框。
  3. 选择 Path → Combine。
  4. 取消选中结果,然后重新选中字母,检查其轮廓现在是否属于同一路径。
  5. 对其余带有字腔的字母重复此操作。

官方的键盘和鼠标参考介绍了如何拖动选框来选中完整对象。这样就无需依赖哪个填充轮廓恰好位于最上层。对于内容密集的图稿,可以先创建一份留有更多空间的临时工作副本,再进行这些选择。

Combine 会将所选部分保留在同一路径中,而不是计算它们的并集。组合后的对象只有一种填充和描边;高级教程说明,它会采用所选对象中最底层对象的样式。因此,重新组合样式不同的轮廓可能会改变它们的外观。

如果字腔仍然是实心,请检查填充规则

选中重新组合后的字母,打开 Object → Fill and Stroke,然后检查 Fill 标签页中的填充规则控件。Inkscape 的键盘参考将它们称为 winding/alternating 控件;对应的 SVG 值为 nonzero 和 evenodd。对话框的菜单位置见填充和描边对话框。

对于一个较小、不与外轮廓相交的内轮廓,交替规则 evenodd 无论轮廓方向如何,都会将内侧区域设为空洞。绕行规则 nonzero 也会考虑轮廓方向。这些行为遵循 SVG 填充规则定义。

先对一个修复后的字母应用此调整。轮廓重叠或存在多层嵌套时,填充区域可能会发生变化,因此请将完整字母与保存的参考图稿进行比较。只选中外轮廓,或不小心选入相邻字母,都不能单靠切换填充规则来解决。

用一个简单的抽象形状练习理解其中的区别

以下构造是根据文档所述操作编写的示例练习。它使用两个中空的几何形状来直观展示差异,不依赖特定字体。

  1. 在单独的文档中,绘制一个大矩形和一个完全位于其内部的小矩形。四周留出明显的边距。
  2. 将小矩形放在大矩形上方。选中两者并选择 Path → Difference,创建一个矩形框。
  3. 在别处绘制一个大椭圆,再绘制一个完全位于其内部的小椭圆。选中两者,并确保小椭圆位于上方,然后执行 Path → Difference,创建一个圆环。
  4. 将矩形框和圆环分开放置。选中两者并选择 Path → Combine。
  5. 将这个由两个形状组成的复合路径另存为练习的起始状态。

布尔运算指南介绍了相减、组合以及堆叠顺序的重要性。在此示例中,上方的小形状会从下方的大形状中挖去对应区域。

从起始状态执行 Path → Break Apart:两个外轮廓和两个内轮廓会变成四个对象。撤销操作,然后执行 Path → Split Path:预期结果是两个中空对象,每个内边界都与周围边界保留在一起。此对比符合 1.2 版发行说明中介绍的保留空洞行为。

你也可以练习修复分离后得到的四个对象。只选中矩形的两个部分,将它们组合起来并检查填充规则。对椭圆的两个部分重复此操作。这样就能清楚看到所需的选择范围:每个中空对象都需要自己的外轮廓和内轮廓。

执行这些操作后,哪些内容仍可编辑?

选择修复方法前,请明确以下操作的区别:

  • Ungroup 会移除容器;其中的对象仍可独立编辑。
  • Combine 会创建一个包含可编辑子路径和共享样式的路径,但不会保留各对象单独的样式。
  • Break Apart 会将子路径分离为对象,改变它们的填充交互方式。
  • Split Path 会将现有几何图形重新整理为独立路径,同时保留相关的空洞轮廓。
  • Difference 会通过从下方对象中减去上方对象来计算出一条新路径。如果还需要保留原始对象,请先复制一份。

这些区别见官方的高级教程、路径命令参考和对象分组指南。如果目标是恢复复合字母,重新组合轮廓通常是更直接的修复方法。如果你有意通过单独的形状构造一个新开口,则使用相减操作。

已经轮廓化的文本仍可作为节点编辑,但不能再作为键入的文本编辑。拆分或重新组合都无法恢复字体选择或字符编辑功能。高级教程说明,将文本转换为路径会移除这些文本专属功能。

如何检查最终的字母内部空白

在修复后的路径下方放置一个临时的对比色矩形,使用 Object → Lower to Bottom。真正的字腔会透出后面的矩形。若在字母上方放置的是白色形状,它则会继续显示自身的填充色。官方的键盘和鼠标参考介绍了堆叠顺序命令。

然后选中一个修复后的字母并短暂移动。它的外边界和字腔应一起移动。分别检查任何脱离主体的部分,并在移除临时背景矩形前恢复到预期位置。

如果嵌套形状的行为不符合预期,请先检查安装的版本,再考虑手动重建图稿。1.4.3 版发行说明记录了 Split Path 对嵌套空洞的处理改进,以及 Break Apart 后将较小对象恢复到其外围较大对象上方的变化。使用相减操作时,请明确检查堆叠顺序,不要假定某个轮廓位于上方。

处理现有的轮廓化文本时,请先根据所选对象的结构采取操作:取消群组以访问现有字母对象;拆分复合路径并保留其字腔;或重新组合已分离的轮廓。最后检查透明度以及对象能否一起移动;这两项检查可以确认空洞显示正确,并且属于你想要编辑的对象。

来源