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 は 、次のいずれかの値を返します。
- pjBuf が NULL の場合、バッファーがテーブル全体を保持するために必要なバイト数 (これは pcjTable で返される値と同じになります)。
- pjBuf が NULL でない場合は、コピーされたバイト数。
- エラーが発生した場合は、FD_ERROR。
注釈
DrvQueryTrueTypeTable は TrueType フォント ドライバーで実装する必要があります。
テーブルまたはフォント データを返すように DrvQueryTrueTypeTable を要求するには、次の 2 つの方法があります。
- cjBuf も pjBuf も NULL でない場合、ドライバーは要求されたテーブルの内容を pjBuf が指すバッファーにコピーする必要があります。 この状況では、 ppjTable と pcjTable は NULL になり、ドライバーでは無視する必要があります。
- ppjTable も pcjTable も NULL でない場合、ドライバーは *ppjTable 内のテーブルへのポインターと、*pciTable 内のテーブルの長さ (バイト単位) を配置する必要があります。 この状況では、 cjBuf と pjBuf は NULL になり、ドライバーでは無視する必要があります。
要件
要件 | 値 |
---|---|
対象プラットフォーム | デスクトップ |
Header | winddi.h (Winddi.h を含む) |