Share via


DrvQueryTrueTypeTable 関数 (winddi.h)

DrvQueryTrueTypeTable 関数は、TrueType フォント記述ファイル内の特定のテーブルにアクセスします。

構文

LONG DrvQueryTrueTypeTable(
  ULONG_PTR iFile,
  ULONG     ulFont,
  ULONG     ulTag,
  PTRDIFF   dpStart,
  ULONG     cjBuf,
  BYTE      *pjBuf,
  PBYTE     *ppjTable,
  ULONG     *pcjTable
);

パラメーター

iFile

ドライバーが提供する TrueType フォント ファイルを識別するドライバー定義値へのポインター。 このポインターは 、DrvLoadFontFile から取得されます。

ulFont

ドライバー フォントの 1 から始まるインデックスを指定します。

ulTag

アクセスするテーブルを指定します。 ulTag が 0 の場合、ドライバーはファイル全体へのアクセスを返す必要があります。

dpStart

アクセスを開始するテーブルの先頭からのオフセットを指定します。 ulTag が 0 の場合、dpStart はファイルの先頭からのオフセットです。

cjBuf

pjBuf が指すバッファーのサイズをバイト単位で指定します。値は 0 です。

pjBuf

NULL でない場合は、ドライバーがテーブルまたはフォント データをコピーするバッファーを指します。

ppjTable

NULL でない場合は、ドライバーがテーブルまたはフォント データのアドレスを返す場所を指します。

pcjTable

NULL でない場合は、ドライバーが *ppjTable が指すテーブルまたはフォント データの長さをバイト単位で返す場所を指します。

戻り値

DrvQueryTrueTypeTable は 、次のいずれかの値を返します。

  • pjBufNULL の場合、バッファーがテーブル全体を保持するために必要なバイト数 (これは pcjTable で返される値と同じになります)。
  • pjBufNULL でない場合は、コピーされたバイト数。
  • エラーが発生した場合は、FD_ERROR。

注釈

DrvQueryTrueTypeTable は TrueType フォント ドライバーで実装する必要があります。

テーブルまたはフォント データを返すように DrvQueryTrueTypeTable を要求するには、次の 2 つの方法があります。

  1. cjBufpjBufNULL でない場合、ドライバーは要求されたテーブルの内容を pjBuf が指すバッファーにコピーする必要があります。 この状況では、 ppjTablepcjTableNULL になり、ドライバーでは無視する必要があります。
  2. ppjTablepcjTableNULL でない場合、ドライバーは *ppjTable 内のテーブルへのポインターと、*pciTable 内のテーブルの長さ (バイト単位) を配置する必要があります。 この状況では、 cjBufpjBufNULL になり、ドライバーでは無視する必要があります。

要件

要件
対象プラットフォーム デスクトップ
Header winddi.h (Winddi.h を含む)

こちらもご覧ください

DrvLoadFontFile