包含 Unicode 字串的一部分,也就是「項目」。
語法
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 的屬性。
要停用 shaping ,應用程式應將此成員設為 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 取代 ScriptItem 的應用程式,也應使用 ScriptShapeOpenType 和 ScriptPlaceOpenType,而非 ScriptShape 和 ScriptPlace。 欲了解更多資訊,請參閱 「用 Uniscribe 顯示文字」。
需求
| Requirement | 價值觀 |
|---|---|
| 最低支援的用戶端 | Windows 2000 Professional [僅限傳統型應用程式] |
| 支援的最低伺服器 | Windows 2000 Server [僅限傳統型應用程式] |
| Header | USP10.h |
| 可再發行 | Windows Me/98/95 上的 Internet Explorer 5 或更新版本 |