包含 Unicode 字符串的一部分,即“item”。
Syntax
typedef struct tag_SCRIPT_ANALYSIS {
WORD eScript : 10;
WORD fRTL : 1;
WORD fLayoutRTL : 1;
WORD fLinkBefore : 1;
WORD fLinkAfter : 1;
WORD fLogicalOrder : 1;
WORD fNoGlyphIndex : 1;
SCRIPT_STATE s;
} SCRIPT_ANALYSIS;
Members
eScript
标识 Uniscribe 在为项调用 ScriptShape、 ScriptPlace 和 ScriptTextOut 函数时使用的引擎的不透明值。 此成员的值未定义,应用程序不应依赖于其值从一个版本到另一个版本相同。 应用程序可以通过调用 ScriptGetProperties 来获取 eScript 的属性。
若要禁用整形,应用程序应将此成员设置为SCRIPT_UNDEFINED。
fRTL
指示呈现方向的值。 下表中定义了可能的值。 对于从左到右运行中的数字,此成员设置为 TRUE ,因为数字始终从左到右显示,对于从右到左的运行中的数字,则为 FALSE 。 此成员的值通常与 Unicode 嵌入级别的奇偶校验相同,但如果 GetCharacterPlacement 旧版支持重写,它可能会有所不同。
| 价值 | Meaning |
|---|---|
|
使用从右到左的呈现方向。 |
|
使用从左到右的呈现方向。 |
fLayoutRTL
指示数字的布局方向的值。 下表中定义了可能的值。 此成员通常与在从右到左的运行中为数字分配给 fRTL 的值相同。
| 价值 | Meaning |
|---|---|
|
将数字放在从右到左的运行中,因为它作为从右到左序列的一部分进行读取。 |
|
将数字放在从左到右的运行中,因为它作为从左到右序列的一部分进行读取。 |
fLinkBefore
值,指示整形引擎是否将项的第一个字符形状,就好像它与上一个字符联接一样。 下表中定义了可能的值。 此成员由 ScriptItemize 设置。 应用程序可以在调用 ScriptShape 之前重写该值。
| 价值 | Meaning |
|---|---|
|
通过与上一个字符链接来调整第一个字符。 |
|
不要通过与上一个字符链接来调整第一个字符。 |
fLinkAfter
值,该值指示整形引擎是否将项目的最后一个字符塑造为项目的最后一个字符,就像它与后续字符联接一样。 下表中定义了可能的值。 此成员由 ScriptItemize 设置。 应用程序可以在调用 ScriptItemize 之前重写该值。
| 价值 | Meaning |
|---|---|
|
通过链接到后续字符来调整最后一个字符。 |
|
不要通过与后续字符链接来调整最后一个字符。 |
fLogicalOrder
指示整形引擎是否按逻辑顺序生成所有字形相关数组的值。 下表中定义了可能的值。 此成员由 ScriptItemize 设置为 FALSE。 应用程序可以在调用 ScriptShape 之前重写该值。
| 价值 | Meaning |
|---|---|
|
按逻辑顺序生成所有字形相关的数组。 |
|
按可视顺序生成所有字形相关的数组,第一个数组项对应于最左侧的字形。 此值为默认值。 |
fNoGlyphIndex
指示项的字形用法的值。 下表中定义了可能的值。 应用程序可以在输入到 ScriptShape 时将此成员设置为 TRUE,以禁用项的字形的使用。 此外, ScriptShape 为包含符号、无法识别和设备字体的硬件上下文将其设置为 TRUE 。
禁用字形的使用也会禁用复杂的脚本整形。 将此成员设置为 TRUE 可实现通过调用 GetTextExtentExPoint 和 ExtTextOut 直接进行整形和放置。
| 价值 | Meaning |
|---|---|
|
禁用对项使用字形。 此值用于位图、矢量和设备字体。 |
|
启用项目字形的使用。 此值为默认值。 |
s
包含 Unicode 算法状态副本 的SCRIPT_STATE 结构。
注解
此结构由 ScriptItemize 或 ScriptItemizeOpenType 填充,每个结构将 Unicode 字符串分解为可单独塑造的项。 两个函数都无法直接访问 SCRIPT_ANALYSIS 结构。 每个函数处理 SCRIPT_ITEM 结构的数组,每个结构都有一个定义 SCRIPT_ANALYSIS 结构的成员。
使用 ScriptItemizeOpenType 而不是 ScriptItemize 的应用程序还应使用 ScriptShapeOpenType 和 ScriptPlaceOpenType,而不是 ScriptShape 和 ScriptPlace。 有关详细信息,请参阅 “使用 Uniscribe 显示文本”。
要求
| Requirement | 价值 |
|---|---|
| 最低支持的客户端 | Windows 2000 Professional [仅限桌面应用] |
| 支持的最低服务器 | Windows 2000 Server [仅限桌面应用] |
| Header | usp10.h |
| 可再发行组件 | Internet Explorer 5 或更高版本(Windows Me/98/95) |