ScriptGetLogicalWidths 関数 (usp10.h)
特定のフォントのグリフ アドバンス幅 を論理幅に変換します。
構文
HRESULT ScriptGetLogicalWidths(
[in] const SCRIPT_ANALYSIS *psa,
[in] int cChars,
[in] int cGlyphs,
[in] const int *piGlyphWidth,
[in] const WORD *pwLogClust,
[in] const SCRIPT_VISATTR *psva,
[out] int *piDx
);
パラメーター
[in] psa
SCRIPT_ANALYSIS構造体へのポインター。
[in] cChars
実行内の論理コード ポイントの数。
[in] cGlyphs
実行中のグリフの数。
[in] piGlyphWidth
グリフの拡張幅の配列へのポインター。
[in] pwLogClust
論理クラスターの配列へのポインター。
[in] psva
ビジュアル属性を定義 するSCRIPT_VISATTR 構造体へのポインター。
[out] piDx
論理幅の配列へのポインター。
戻り値
現在、すべてのケースでS_OKが返されます。
注釈
この関数は、フォントに依存しない方法で幅を記録する場合に便利です。 特定のフォントに対して計算されたグリフの進み幅を、コード ポイントごとに 1 つずつ、コード ポイントと同じ順序で論理幅に変換します。 同じ文字列が別のフォントを使用して別のデバイスに表示される場合は、 ScriptApplyLogicalWidth を 使用して元の配置を近似することで論理幅を適用できます。 このメカニズムは、印刷プレビューを実装するときに役立ちます。 プレビュー画面では、最終的な印刷結果のレイアウトと配置を一致することが重要です。
メモ 合字グリフの幅は、それらが表す文字の間で均等に分割されます。
大事なWindows 8以降: Windows 7 で実行する機能を維持するには、Uniscribe を使用するモジュールで、ライブラリ リストで gdi32.lib の前に Usp10.lib を指定する必要があります。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | usp10.h |
Library | Usp10.lib |
[DLL] | Usp10.dll |
再頒布可能パッケージ | Windows Me/98/95 のインターネット エクスプローラー 5 以降 |