IDWriteFontFace1::GetKerningPairAdjustments メソッド (dwrite_1.h)
フォントのカーニング テーブルからカーニング ペアの調整を取得します。
構文
HRESULT GetKerningPairAdjustments(
UINT32 glyphCount,
[in] UINT16 const *glyphIndices,
[out] INT32 *glyphAdvanceAdjustments
);
パラメーター
glyphCount
種類: UINT32
調整を取得するグリフの数。
[in] glyphIndices
型: const UINT16*
調整を取得するグリフ ID の配列。
[out] glyphAdvanceAdjustments
種類: INT32*
各グリフに対して、フォント デザイン単位で返される進み。 最後のグリフ調整は 0 です。
戻り値
種類: HRESULT
このメソッドは、成功すると S_OK を返します。 そうでない場合は、HRESULT エラー コードを返します。
注釈
GetKerningPairAdjustments は、GDI の文字ベースの GetKerningPairs に対する直接的な置き換えではありませんが、クライアントがローカルにキャッシュする必要なく、同じ役割を果たします。 また、GetKerningPairAdjustments では、UCS-2 文字 (カーン テーブルが実際に格納する方法) ではなく、グリフ ID のを直接使用します。これにより、グリフの折りたたみとあいまいさ (ダッシュやハイフン、スペース、改行なしのスペースなど) が回避されます。
新しいフォントでは、従来のペアテーブル カーニングではなく GPOS カーニングのみを使用できます。 このようなフォント (Gabriola など) は、調整のために 0 のみを返します。 GetKerningPairAdjustments は、これらの GPOS エントリを仮想化してカーニング ペアにフラット化しません。
IDWriteFontFace1::HasKerningPairs を呼び出して、GetKerningPairAdjustments を呼び出す必要があるかどうかを判断することで、パフォーマンス上の利点を実現できます。 以前に IDWriteFontFace1::HasKerningPairs を呼び出し、FALSE を返した場合、フォントにカーニング ペア テーブル エントリがないため、 GetKerningPairAdjustments を呼び出さないようにすることができます。 つまり、この状況では、 GetKerningPairAdjustments の呼び出しは no-op になります。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 7 のWindows 8とプラットフォーム更新プログラム [デスクトップ アプリ |UWP アプリ] |
サポートされている最小のサーバー | Windows Server 2008 R2 のWindows Server 2012とプラットフォーム更新プログラム [デスクトップ アプリ |UWP アプリ] |
対象プラットフォーム | Windows |
ヘッダー | dwrite_1.h |
Library | Dwrite_1.lib |
[DLL] | Dwrite_1.dll |