ScriptString 関数の使用
書式設定されていないテキストを処理するアプリケーションの場合、Uniscribe は ScriptString* 関数を提供します。 これらの関数は ExtTextOut、 DrawText、 GetTextExtent に似ていますが、キャレット配置を含む完全に複雑なスクリプトサポートを提供します。 これらの関数は、他の Uniscribe 関数と似ていますが、プレーン テキスト処理のより単純な要件に合わせて調整されています。
次の表では、 ScriptString* 関数と、他の Uniscribe 関数の対応する関数について詳しく説明します。
機能 | 説明 |
---|---|
ScriptStringAnalyse | プレーン テキストを分析します。 この関数は、次の関数に対応します。 |
ScriptStringCPtoX | 文字位置の x 座標を取得します。 この関数は ScriptCPtoX に対応しています。 |
ScriptStringFree | SCRIPT_STRING_ANALYSIS構造体を解放します。 |
ScriptStringGetLogicalWidths | ビジュアルの幅を論理幅に変換します。 この関数は ScriptGetLogicalWidths に対応しています。 |
ScriptStringGetOrder | 従来の使用のみを目的として、 GetCharacterPlacement と同様の方法で文字グリフの位置をマップします。 この関数は、コード ポイントごとに複数のグリフを生成するスクリプトではうまく機能しません。 |
ScriptStringOut | プレーン テキストを表示します。 この関数は ScriptTextOut に対応しています。 |
ScriptString_pcOutChars | クリップされたプレーン テキスト文字列の長さを指すポインターを返します。 |
ScriptString_pLogAttr | 分析されたプレーン テキスト文字列の論理属性バッファーへのポインターを返します。 |
ScriptString_pSize | 分析されたプレーン テキスト文字列のサイズ (幅と高さ) へのポインターを返します。 |
ScriptStringValidate | 指定されたスクリプトで無効なコード ポイント シーケンスを識別します。 この関数は、フォントに存在しないコード ポイントを識別する ScriptGetCMap とは異なります。 |
ScriptStringXtoCP | x 座標を文字位置に変換します。 この関数は ScriptXtoCP に対応しています。 |
変更せずにプレーン テキストのみを表示するには、アプリケーションで ScriptStringAnalyse、ScriptStringOut、ScriptStringFree を呼び出す必要があります。 その他の関数は、表示前にプレーン テキストを変更するために使用されます。
関連トピック