Share via


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

こちらもご覧ください

IDWriteFontFace1

IDWriteFontFace1::HasKerningPairs