SCRIPT_ANALYSIS 结构 (usp10.h)

包含 Unicode 字符串的一部分,即“item”。

语法

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;

成员

eScript

标识 Uniscribe 在为项调用 ScriptShapeScriptPlaceScriptTextOut 函数时使用的引擎的不透明值。 此成员的值未定义,应用程序不应依赖于其值从一个版本到另一个版本相同。 应用程序可以通过调用 ScriptGetProperties 获取 eScript 的属性。

若要禁用整形,应用程序应将此成员设置为 SCRIPT_UNDEFINED。

fRTL

指示呈现方向的值。 下表中定义了可能的值。 对于从左到右运行的数字,此成员设置为 TRUE ,因为数字始终显示为从左到右;对于从右到左运行的数字,此成员设置为 FALSE 。 此成员的值通常与 Unicode 嵌入级别的奇偶校验相同,但如果被 GetCharacterPlacement 旧版支持重写,则该值可能会有所不同。

含义
使用从右到左的呈现方向。
使用从左到右的呈现方向。

fLayoutRTL

指示数字的布局方向的值。 下表中定义了可能的值。 此成员通常与从右向左运行中的数字分配给 fRTL 的值相同。

含义
在从右到左的运行中对数字进行布局,因为它作为从右到左序列的一部分进行读取。
在从左到右的运行中对数字进行布局,因为它作为从左到右序列的一部分进行读取。

fLinkBefore

指示整形引擎是否将项的第一个字符塑造为与上一个字符联接一样的值。 下表中定义了可能的值。 此成员由 ScriptItemize 设置。 应用程序可以在调用 ScriptShape 之前重写值。

含义
通过与上一个字符链接来塑造第一个字符。
不要通过与上一个字符链接来塑造第一个字符。

fLinkAfter

值,指示整形引擎是否将项目的最后一个字符塑造成与后续字符联接一样。 下表中定义了可能的值。 此成员由 ScriptItemize 设置。 应用程序可以在调用 ScriptItemize 之前重写值。

含义
通过与后续字符链接来塑造最后一个字符。
不要通过与后续字符链接来塑造最后一个字符。

fLogicalOrder

指示整形引擎是否按逻辑顺序生成所有与字形相关的数组的值。 下表中定义了可能的值。 ScriptItemize 将此成员设置为 FALSE。 应用程序可以在调用 ScriptShape 之前重写值。

含义
按逻辑顺序生成所有与字形相关的数组。
以可视顺序生成所有与字形相关的数组,第一个数组条目对应于最左边的字形。 这是默认值。

fNoGlyphIndex

指示对项使用字形的值。 下表中定义了可能的值。 应用程序可以在输入 ScriptShape 时将此成员设置为 TRUE,以禁止对项使用字形。 此外,对于包含符号字体、无法识别字体和设备字体的硬件上下文, ScriptShape 将其设置为 TRUE

禁用字形的使用也会禁用复杂的脚本整形。 将此成员设置为 TRUE 可实现通过调用 GetTextExtentExPointExtTextOut 直接进行整形和放置。

含义
禁止对项使用字形。 此值用于位图、矢量和设备字体。
启用对项使用字形。 这是默认值。

s

包含 Unicode 算法状态副本的 SCRIPT_STATE 结构。

注解

此结构由 ScriptItemizeScriptItemizeOpenType 填充,每个结构将 Unicode 字符串分解为可单独调整的项。 两个函数都不直接访问 SCRIPT_ANALYSIS 结构。 每个函数处理 SCRIPT_ITEM 结构的数组,其中每个结构都有一个定义 SCRIPT_ANALYSIS 结构的成员。

使用 ScriptItemizeOpenType 而不是 ScriptItemize 的应用程序还应使用 ScriptShapeOpenTypeScriptPlaceOpenType ,而不是 ScriptShapeScriptPlace。 有关详细信息,请参阅 使用 Uniscribe 显示文本

要求

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

另请参阅

SCRIPT_ITEM

SCRIPT_STATE

ScriptGetProperties

ScriptItemize

ScriptItemizeOpenType

ScriptPlace

ScriptPlaceOpenType

ScriptShape

ScriptShapeOpenType

ScriptTextOut

Uniscribe

Uniscribe 结构