文本工具

tooltext

此工具用于向图像中添加文本。它与 文本属性面板 配合使用。某些文本操作也可通过 形状选择工具 进行处理。您可以在 文本编排 页面查看常用文本功能的实例概览。

要创建一条文本,首先选择本工具,然后在画布上 mouseleft 单击左键,这将创建一条内容为“请用您的文本替换此段文本”的文本,并处于可编辑状态。

编辑文本

刚刚创建了文本时,文本框中会看到一个闪烁的光标。您可以使用键盘上的方向键移动光标,在文本中输入和删除内容时可使用退格键和删除键,还可以使用系统输入法输入非英语文本。要选择文本,可以在按住 Shift 键后用方向键移动光标,光标移动的起点和终点之间的文本将被选中并高亮显示。您也可以使用 mouseleft 左键拖动 以选中部分文本、 mouseleft 左键双击 以选中一个单词、 mouseleft 左键三击 以选中整段文本。

备注

在使用文本工具时,键盘上的按键会被优先用于输入文本,因此许多快捷键将被禁用。如果您在编辑文本时想要使用某个特定的快捷键,最好将 CtrlAltCtrl + Shift 作为其修饰键。无修饰键、使用其他修饰键或修饰键组合的键盘输入将被 Krita 视为输入文本。而触摸旋转、 mousemiddle 中键平移视图、 mousescroll 滚轮缩放等画布输入手势因为不涉及键盘,所以仍将正常工作。

此外,Krita 支持所有 Qt 默认的文本移动快捷键 。这些快捷键与操作系统的默认设置相对应,例如在 Windows 系统中, Ctrl + 快捷键会将光标移动到单词末尾,而在 macOS 系统中则是 Alt + 。由于 Krita 支持竖排文本,程序还会针对给定的书写方向检查按键,这意味着在竖排模式下, Ctrl + 快捷键会将光标移动到单词末尾。

要结束文本编辑,请点击文本框外的区域,或者编辑其他文本。要编辑其他文本,请将鼠标悬停在任意其他文本之上——该文本可以位于同一图层,也可以位于其他矢量图层。当鼠标悬停在文本上时,其边框将被突出显示,此时单击即可自动切换到该文本所在的图层,并进入该文本的编辑模式。

除了编辑内容外,您还可以移动文本。要移动文本,请将鼠标悬停在边框上,此时光标将变为移动光标,此时 mouseleft 左键拖动 即可移动该文本。

要更改文本的样式,请使用 文本属性面板

文本类型

Krita 完整支持 SVG 2 规范的文本功能,可以使用五种文本类型:

回车换行

回车换行 (Preformatted – “预排”或“预格式化”) 是最基础的文本类型,它不会自动换行,不折叠空白符 (white space),按 回车 键 (相当于插入新空白符) 即可换行。

绝对定位换行

绝对定位 (Pre-positioned – “预定位”) 是 SVG 1.1 中的一种文本类型,其每行文本均采用绝对定位,且通过空白符规则折叠多余的空白符。这是旧版 Krita 软件使用的文本类型,对于需要导出至其他 SVG 1.1 渲染器使用的场景仍具实用价值。

小技巧

在处理旧版 Krita 创建的文本对象时,可使用“转换文本类型”操作将它们转换为 回车换行自动换行 以简化编辑体验。 绝对定位换行 仅在您打算稍后使用 SVG 表达形式时有用,例如用于 EPUB3 或网页 SVG 文本。

文本跟随路径

要创建跟随路径的文本 (Text on Path),首先选择文本工具,然后将光标悬停到已有矢量形状的轮廓上,光标形状将变为“文本跟随路径”,此时 mouseleft 单击左键即可创建跟随此形状编排的文本。

A curved path, outlined in red, with a cursor over it. The cursor shape has changed to a "T" standing on a curve.

若要编辑路径上的文本,请点击该文本,此时文本输入光标开始闪烁,并在路径上显示一个控制点。沿路径前后拖动此控制点可以调整文本的起点偏移量,向路径两侧拖动则可以调整文本处在路径的哪一侧。

The text "Secrets of the Rose Garden", following the curled path.

备注

SVG 规范并没有对不同的文本类型进行严格的区分对待。理论上,所有不带自动换行功能的文本类型都可以在单个文本形状中混用 (尽管只有在 SVG 源代码编辑器中才能做到)。Krita 会在文本工具的工具选项中的“转换文本类型”中显示所选形状属于哪种文本类型,但它的检测不一定准确。

自动换行

要创建一条自动换行 (Inline Wrapped) 文本,首先切换到文本工具,然后在画布上 mouseleft 左键拖拽 出一个矩形的文本框,只要此框大于待创建文本的单个字符宽度或高度,文本工具的“T”光标的两侧会出现两条竖线,代表创建的是自动换行文本。此时松开左键,即可在画布上创建一条自动换行文本。要避免在拖动文本工具时创建自动换行文本,可在拖动时按住 Ctrl 键,“T”光标两侧的竖线就会消失。

../../_images/inline-wrapped-cursor.png

拖出的文本框大于单个字符大小时“T”光标两侧会显示竖线,表示将创建自动换行文本。

在编辑 自动换行 文本时,您还可以调整行宽。自动换行文本的左右两侧各有一条换行线,一行文本只要超出它们之间的宽度就会换行。您可以 mouseleft 左键拖动 换行线以调整文本的行首和行尾。文本左对齐时,对齐的是左换行线;右对齐时,对齐的是右换行线。如果将左右换行线的位置对调,文本的对齐方向将反转。文本居中对齐时,按住 Ctrl 键拖动换行线,文本位置将保持不变,只调整行宽。

../../_images/inline-wrapped-text.png

自动换行文本的两侧各显示有一条换行线,可直接在画布上拖动它们以调整行首和行尾。

文本置入形状

要将文本置入形状 (Text in Shape),首先选择文本工具,然后将光标在已有的闭合矢量形状上方悬停,光标图标将变成“文本置入形状”图标,此时 mouseleft 单击左键即可在形状中置入文本。跟随路径的文本和置入形状的文本都会在其形状外接框的右上角额外显示一个图标,点击它可切换到 形状选择工具 ,此时即可调整形状本身。

../../_images/text-in-shape-cursor.png

文本工具光标在闭合矢量图像上悬停时将显示“文本置入形状”图标。

文本可以置入到一个或多个形状中。当在文本在多个形状中编排时,它首先会填满文本链中的第一个形状,然后才会填充文本链中的下一个形状,如此类推。您还可以从置入文本的形状中减去形状,这样文本将不会在被减去的区域中编排。

Text wrapped into a green rectangle and an orange ellipse. A blue triangle overlaps both.

文本置入多个形状的示例图。绿色的矩形和橙色的椭圆形是文本的编排区域,而蓝色三角形则是减去区域。文本框的轮廓线反映了文本的编排区域,形状之间的箭头反映了文本链的先后顺序。

文本置入形状时,文本框的轮廓反映了文本的编排区域,而形状之间的箭头则反映了它们在文本链 (chain) 中的顺序。将光标悬停在文本框上并 mouseleft 左键拖拽 可以调整 文本框在形状中的内、外边距 。如果拖拽文本框时光标靠近减去的形状,那么将调整减去区域 (subtract) 的外边距 (margin);而如果拖拽文本框时光标靠近文本编排区域 (inside),那么将调整文本编排区域的内边距 (padding)。

Image of a witch on a broom, looking at some houses below. Her speech bubble says: "Let's halt for the night down there." There's some padding, outlined by a red dashed line, and the cursor is hovering over it, indicating the line can be adjusted.

通过在文本编排区域的轮廓上悬停并拖拽,可调整文本置入形状时的边距。图像和示例文本来自 David Revoy 创作的 Pepper and Carrot 漫画,许可证为 CC-BY。

使用 形状选择工具 可以编辑文本链中各个形状的先后顺序,还可以添加或移除文本编排区域的减去形状。

工具选项

../../_images/Krita-tool-options-text.png
创建新文本时使用的属性…

这些选项用于选择在创建新文本时要使用的属性。选择 新文本使用当前文本属性创建 时,将使用文本属性面板中的当前属性;如果取消选择该项,则可以使用从 文本样式预设 中加载的属性。

其他选项
按视觉顺序移动双向文本中的光标

在双向文本中按实际视觉顺序而不是顺序移动文本光标。在双向文本中,字母的逻辑顺序根据它们在文本中所处的位置可以是从左到右,也可以是从右到左,段落的文本方向决定光标的“前进”键是方向键的 还是 。启用此项后,文本光标将忽略逻辑顺序,只遵循视觉顺序进行移动。

默认粘贴富文本

Krita 能够从系统剪贴板中读取带样式的文本 (富文本),例如 SVG 和 HTML,并且在快捷键中为粘贴富文本和仅粘贴纯文本分别准备了单独的操作。如果选择此项,那么“编辑”菜单中的常规 Ctrl + V 粘贴 操作也将粘贴富文本。

文本属性面板

打开 文本属性面板 ,该面板包含了调整文本样式所需的绝大部分功能。

画布排版模式

打开或关闭 画布排版模式

对话框
编辑 SVG 源代码

打开 SVG 源代码编辑器

字形表

打开 字形表

转换文本类型…

这组按钮用于转换所选文本的类型。它们也在文本工具的右键菜单的“文本”子菜单和快捷键的“对象交互工具”中有对应的操作。

回车换行

将文本转换为回车换行文本,不自动换行;同时应用 CSS 的 空白符 折叠规则以移除所有隐藏空白符,但切换规则以保留额外空白符;并将所有SVG 1.1的绝对定位文本的文本转换改为换行符。

自动换行

将文本转换为自动换行文本,一行文本达到最大长度 (横排文本为行宽,竖排文本为行高) 后自动换行。与 回车换行 文本同样,应用 CSS 的 空白符 规则和文本转换来创建换行符,并避免折叠额外空白符。

绝对定位换行

将文本转换为 SVG 1.1 样式,折叠额外的 空白符 并通过绝对定位来处理换行。这是旧版 Krita 处理文本的方式,也是处理 SVG 文本的主流方式。当最终结果需要在兼容 SVG 1.1的渲染器中显示时,可使用此功能来准备要导出的文本。

文本置入形状和文本跟随路径不能在此转换。请使用 形状选择工具文本选项 右键菜单中的 文本置入形状文本跟随路径 操作来创建这些文本类型。

画布排版模式

此模式支持在画布上直接调整一些文本属性的样式。

../../_images/type-setting-mode.png

画布排版模式下的文本,单词“Setting”被选中,光标正悬停在 字体大小 控制线上。

启用画布排版模式后,选中一段文本时将不再高亮显示,而是改为显示几种文本属性的控制线。若没有选中内容,将显示段落的文本属性的控制线;而若选中了内容,则会使用在文本布局期间获取的所选字形的文本属性来显示控制线。

将鼠标悬停在控制线上时它们将高亮显示,并显示它们控制的属性的名称。 mouseleft 左键拖动 它们将调整对应的属性的大小。 字体大小行高基线偏移 均可这样直接在画布上进行调整。按住 Shift 时将显示 基线 的控制线,点击一条基线即可将 主导基线对齐基线 设置为该基线,从而允许不同大小的文本对齐到该基线。

../../_images/type-setting-mode-baselines.png

切换到基线模式,光标正在 悬挂基线 上悬停。

当文本类型为 回车换行绝对定位换行 时,在选中文本开头和结尾会显示两个额外的控制点。方形控制点可以移动此段文本的位置,圆形控制点可以控制缩放和旋转。在快捷键配置的“文本工具”分类中有一系列用于操作方形控制点的操作: 上移/下移/左移/右移所选文本 1 像素移除字符转换 (清除所选文本的相对、绝对定位和旋转)。

../../_images/type-setting-mode-handle-adjust.png

被选中的“Setting”单词通过 mouseleft 左键拖动圆形控制点进行旋转。

备注

对于精细的排版调整,例如对少数几个字符进行字距调整时,建议使用这两个控制点,而不是 CSS 字符间距 。后者旨在为整段文本中的字母设置间距,并且在不同的实现方式之间存在细微差异。

在程序内部,上述控制点通过调整 SVG 1.1 相对字符转换来实现其功能。这意味着它们不会破坏字形,并且在所有主流浏览器中都受支持。

SVG 源代码编辑器

这是一个可直接编辑文本的 SVG 源代码的对话框。Krita 的文本布局引擎有着强大潜力,能够实现比文本工具在画布上编辑的更复杂的文本样式。如果您熟悉 SVG,可以在此对话框中编辑文本的源代码,并使用诸如嵌套的 基线偏移文本装饰文本方向 等强大功能。

../../_images/Text-editor-example.png

编辑文本

完成编辑后点击 保存 按钮即可将编辑框中的更改反映到画布视图。

文件菜单
保存:Ctrl + S

将编辑器中的当前文本状态保存到画布上。

关闭:Ctrl + W

关闭编辑器。

编辑菜单

你可以使用下列基本编辑操作:

撤销:Ctrl + Z

撤销在文本编辑器中的上一次操作。

重做:Ctrl + Shift + Z

重做在文本编辑器中的上一次撤销操作。

剪切:Ctrl + X

将选中文本剪切到剪贴板。

复制:Ctrl + C

将选中的文本复制到剪贴板。

粘贴:Ctrl + V

将文本从剪贴板粘贴到编辑器中。

全部选择:Ctrl + A

选择编辑器中的所有文本。

取消选择:Ctrl + Shift + A

取消选择所有已选中的文本。

查找:Ctrl + F

打开查找对话框,在里面输入查找条件后,可以在编辑器的当前文本中查找匹配的文本。

查找下一个:F3

用当前的查找条件查找下一段匹配的文本。

查找上一个:Shift + F3

用当前的查找条件查找上一段匹配的文本。

替换:Ctrl + R

打开替换对话框,输入你希望被替换的文本和用来替换它的文本,就可以将所有符合条件的文本替换掉。

视图菜单
缩小:Ctrl + -

缩小 SVG 源代码标签页的字体大小。

放大:Ctrl + +

放大 SVG 源代码标签页的字体大小。

设置菜单

在这里您可以编辑用于代码格式化的颜色。

字形表

字形表对话框在网格视图中列出了字体中通过 OpenType 特性或 Unicode 字符变体提供的可用替代字符。它旨在配合文本属性面板中的 OpenType 特性 属性使用。

字形变体

../../_images/glyph_palette_alternates.png

字体“Junicode”中字母“A”的字形变体。并非所有字体都有这么多的变体可供选择。

字形表会显示当前代码点的所有可用的替代字符。替代字符有两种类型:

Unicode 字符变体

这些是由 Unicode 组织官方定义的字符变体。例如用带斜线的 0 作为 0 的替代形式,或者切换不同地区对于同一个汉字的不同字形。Krita 只会显示字体本身所包含的变体。

OpenType 特性

这些是通过多种 OpenType 特性控制并调用的字形变体,例如字符变体、访问所有替代形式或其他替代形式。

字符映射表

显示指定字体的字符映射表,可通过左侧的 Unicode 码块列表切换不同的子集。

字符映射表的顶部有一个搜索框,在其中输入任意字符就会在表中显示该字符或分解为该字符的所有其他码点 (也就是说,输入 A 会显示 Á、Å 和 Ấ 等变体)。此输入框还能读取 U+十六进制代码格式的字符编码。

剩余区域则全部用于显示字符。如果某个字符包含其他字形变体,点击该字符会弹出一个包含其字形变体的弹窗,而双击则会在活动文本的光标位置插入该字符。