Uniscribe 术语表

此术语表包含 Uniscribe 文档中使用的术语的定义。

ABC 宽度

ABC 宽度是由 GDI ABC 结构定义的复合值。 结构包含成员 abcAabcBabcC,对应于 字形运行的“A”、“B”和“C”宽度。

“A”宽度为 下悬 (正;也称为“填充”) 或 悬垂 (负) 表示字形或运行墨迹的屏幕左侧。 “B”宽度是黑色宽度,即从最左侧墨迹到最右侧墨迹的宽度。 “C”宽度悬停在墨迹右侧。

下图显示了一个小写斜体 F,其左侧和右侧均悬垂。 也就是说,此处的“A”和“C”宽度都是负数。 有关正“A”和“C”宽度的插图,请参阅 下悬

显示斜体小写 F 的插图,其左侧和右侧均悬垂。

当两个或更多个字形显示为一个单位时,通常只有最左边的字形有助于运行的“A”宽度,而只有最右边的字形促成了运行的“C”宽度。 但是,这不是一个严格的规则。 例如,如果运行中的第一个字形是窄字母,第二个字形是一个宽的音调符号,并且它们作为单独的字形处理,则音调符号实际上可能会超出字母范围。

前进宽度

字形的前进宽度是从用于呈现该 字形 的起点到用于呈现下一个字形的起点的书写方向的移动。

双向堆栈

双向堆栈是一个 5 位整数,用于跟踪从左到右和从右到左文本之间的嵌套级别。 从左到右始终从零开始。 因此,所有偶数值表示从左到右的文本,所有奇数值表示从右到左的文本。 双向堆栈以 SCRIPT_STATE 结构的 uBidiLevel 成员表示。

双向文本

双向文本包含从左到右和从右到左的部分,但该术语有时也松散地应用于纯从右到左的文本。 所有从右到左的文本都需要使用 双向堆栈,因为默认 嵌入级别 为零意味着从左到右的文本。

单元格宽度

应用程序可以通过调整某些字形的单元格宽度来调整文本以适应线条。 对于不合理的文本,字形的单元格宽度与其 前移宽度相同。

cluster

群集是可以调整的最小语言单位。 在阿拉伯语和许多印度语等语言中,用于表示 Unicode 码位 (每个字符的字形) 强烈依赖于构成群集的周围码位。 在这些语言中,应用程序只能通过查看群集将代码点转换为适当的字形。 在某些脚本(如 Devanagari)中,群集中的字形顺序可能与相应的 Unicode 码位的顺序不同。 有关详细信息,请参阅 Microsoft 版式网站上的 Windows 字形处理

复杂脚本

复杂脚本是具有以下任何属性的 脚本

  • 允许双向呈现。
  • 具有上下文调整。
  • 包含组合字符。
  • 具有专用的断字和理由规则。
  • 筛选出非法字符组合。
  • 在核心 Windows 字体中不受支持,因此可能需要 字体回退

在某些复杂的脚本中,字形的顺序可能与它们所表示的基础 Unicode 字符的顺序大相径庭。 有关更多详细信息,请参阅 关于复杂脚本

注意

在版式的上下文中,有时需要将用于编写英语的拉丁语脚本作为复杂脚本进行处理。 示例包括 OPENTYPE_FEATURE_RECORD文档中描述的风格替代功能,或连字(如“fi”),其中单个字形表示两个或多个连续字符。

 

嵌入级别

双向文本中,嵌入级别是 双向堆栈的索引。

字体回退

字体回退是自动选择用户应用程序中所选字体以外的字体。 在 Uniscribe 中,当全部或部分文本位于用户所选字体不支持的脚本中时, ScriptStringAnalyse 函数将应用字体回退。

Glyph — 标志符号

字形是字体中的单个显示单位。 对于 OpenType,此单元由大纲定义。 对于其他类型的字体,它可以通过位图、一组图形命令等进行定义。 字形不一定对应于单个字符。 例如,“fi”连字 (“fi”) 表示两个字符“f”和“i”。 带有扬抑符和波形符 (“ỗ”) 的越南小写“o”通常由多个字形组成。

item

一个项具有单个 脚本 和方向。 ScriptItemizeScriptItemizeOpenType 函数可以将段落分析为多个项目。 项不一定是 运行。 它可以包含多种样式的字符。 必须组合项和运行信息来确定 范围

LRM

LRM 指示从左到右标记 (Unicode 码位 U+200E) 。 此标记指定其后面的字符应按逻辑顺序从左到右呈现。

LTR

LTR 指示从左到右。

range

范围是 运行的特殊情况。 它完全属于一 个项目。 因此,如果某个项被分解为运行,则每个运行都是一个范围。

RLM

RLM 指示从右到左标记 (Unicode 码位 U+200F) 。 此标记指示其后面的字符应按逻辑顺序从右到左呈现。

RTL

RTL 指示从右到左。

run

运行是供 Uniscribe 呈现的文本段落。 它应具有单个样式,即字体、大小和颜色,但可以从各种 脚本中提取。 运行可以同时包含从左到右和从右到左的内容。

NADS

NADS 指示国家数字形状 (Unicode 码位 U+206E。 术语指定 (U+0030 到 U+0039) 的欧洲数字应呈现为国家/地区数字。 有关国家数字的进一步讨论,请参阅数字 形状

点头

NODS (Unicode 码位 U+206F) 指示标称数字形状。 术语指定应正常呈现 (U+0030 到 U+0039) 的欧洲数字,而不是作为国家/地区数字呈现。

过剩

悬垂是标志符号墨迹的一部分,它超出了字形的 前进宽度 。 大多数字形 ((如“H”) )没有悬垂,因为两侧都有一个小空格,用于将它们与相邻字形分开。 本主题中用于说明 ABC 宽度的斜体“f”是具有悬垂标志符号的示例。 斜体“f”的顶部和底部都悬在相邻的字形上。 悬垂对应于负“A”或“C”宽度。

填充 (padding)

请参阅 下悬

脚本

脚本是一种书面语言系统,例如拉丁语、阿拉伯语脚本、中文脚本。 单个脚本可以应用于一种或多种人类语言。 该脚本与字体没有特殊关系。 例如,《泰晤士报》新罗马语或 Arial 字体同样可以很好地呈现拉丁语脚本。

下悬

下垂是字形实心部分左侧或右侧的空白宽度。 下悬对应于正“A”或“C”宽度,如 ABC 宽度所述。 下悬有时称为“填充”。 下图显示了小写字母 n 的下悬。

显示小写字母 n 的下悬图。

关于 Uniscribe