SCRIPT_STATE结构 (usp10.h)

包含脚本状态信息。

语法

typedef struct tag_SCRIPT_STATE {
  WORD uBidiLevel : 5;
  WORD fOverrideDirection : 1;
  WORD fInhibitSymSwap : 1;
  WORD fCharShape : 1;
  WORD fDigitSubstitute : 1;
  WORD fInhibitLigate : 1;
  WORD fDisplayZWG : 1;
  WORD fArabicNumContext : 1;
  WORD fGcpClusters : 1;
  WORD fReserved : 1;
  WORD fEngineReserved : 2;
} SCRIPT_STATE;

成员

uBidiLevel

根据 Unicode 双向算法,嵌入与关联运行中的所有字符关联的级别。 当应用程序将此结构传递给 ScriptItemize 时,对于从左到右的基嵌入级别,应将此成员初始化为 0;对于从右到左的基嵌入级别,应初始化为 1。

fOverrideDirection

初始重写方向值,指示脚本是否在字符串) 中使用替代级别 (LRO 或 RLO 代码。 下表定义了可能的值。 对于替代级别,字符仅按一个方向(从左到右或从右到左)布局。 不会对相反方向的数字或强字符重新排序。 请注意,此值由字符串中的 LRE、RLE、LRO 或 RLO 代码重置。

Value 含义
使用反映嵌入级别的替代级别。
不要使用反映嵌入级别的替代级别。

fInhibitSymSwap

指示整形引擎是否绕过 Unicode 镜像标志符号的镜像的值,例如方括号。 下表定义了可能的值。 此成员由 Unicode 字符 ISS 设置,由 ASS 清除。

Value 含义
绕过 Unicode 镜像标志符号的镜像。
不要绕过 Unicode 镜像标志符号的镜像。

fCharShape

未实现。 指示 Unicode 的阿拉伯演示文稿窗体区域中的字符代码是否应形成的值。 下表定义了可能的值。

Value 含义
Unicode 的阿拉伯演示文稿窗体区域中的形状字符代码。
不要在 Unicode 的阿拉伯演示文稿窗体区域中调整字符代码。

fDigitSubstitute

此成员提供对旧实现中可能已使用现已弃用的 Unicode 字符 U+206E 国家数字形状 (“NADS”) 和 U+206F 名义数字形状 (“NODS”) 获得的数字替换行为的相同控制。 下表定义了可能的值。

Value 含义
字符代码 U+0030 到 U+0039 替换为国家数字。
字符代码 U+0030 到 U+0039 不替换为国家数字。

fInhibitLigate

指示是否在阿拉伯文或希伯来文字符的整形中使用连字的值。 下表定义了可能的值。

Value 含义
不要在阿拉伯文或希伯来语字符的整形中使用连字。
在阿拉伯文或希伯来文字符的整形中使用连字。

fDisplayZWG

一个值,该值指示对于需要重新排序或不同字形形状的语言,是否将不可显示的控制字符塑造为表示形式标志符号,具体取决于单词中字符的位置。 下表定义了可能的值。 通常,不会显示字符。 它们的形状为空白字形,并且宽度为 0。

Value 含义
形状控制字符作为表示形式字形。
不要将控制字符塑造为表示形式字形。

fArabicNumContext

指示先前强字符是否为阿拉伯语的值,如 Unicode Standard 版本 2.0 中所述, 规则 P0。 下表定义了可能的值。 在采用阿拉伯语的从右到左段落的项化之前,此成员通常应设置为 TRUE ,否则应设置为 FALSE

Value 含义
出于规则 P0 的目的,请考虑以前的强字符为阿拉伯语。
不要将以前的强字符视为阿拉伯语,以便规则 P0。

fGcpClusters

仅适用于 GetCharacterPlacement 旧版支持。 指示 ScriptShape 如何生成 pwLogClust 指示的数组的值。 下表定义了可能的值。 此成员仅影响阿拉伯语和希伯来语项。

Value 含义
生成与 GetCharacterPlacement 相同的数组。
不要像 GetCharacterPlacement 那样生成数组。

fReserved

保留;始终初始化为 0。

fEngineReserved

保留;始终初始化为 0。

注解

此结构用于将 Unicode 算法状态初始化为 ScriptItemize 的输入。 它还用作 ScriptItemize 检索的分析的组件。

要求

   
最低受支持的客户端 Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器 Windows 2000 Server [仅限桌面应用]
标头 usp10.h
可再发行组件 Internet Explorer 5 或更高版本的 Windows Me/98/95

请参阅

ScriptItemize

ScriptShape

Uniscribe

Uniscribe 结构