Bagikan melalui


Fungsi DrvQueryTrueTypeTable (winddi.h)

Fungsi DrvQueryTrueTypeTable mengakses tabel tertentu dalam file deskripsi font TrueType.

Sintaks

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

Parameter

iFile

Penunjuk ke nilai yang ditentukan driver yang mengidentifikasi file font TrueType yang disediakan driver. Pointer ini diperoleh dari DrvLoadFontFile.

ulFont

Menentukan indeks font driver berbasis satu.

ulTag

Menentukan tabel yang akan diakses. Jika ulTag adalah nol, driver harus mengembalikan akses ke seluruh file.

dpStart

Menentukan offset dari awal tabel untuk memulai akses. Jika ulTag nol, dpStart adalah offset dari awal file.

cjBuf

Menentukan ukuran dalam byte buffer tempat pjBuf menunjuk, atau nol.

pjBuf

Jika bukan NULL, arahkan ke buffer tempat driver harus menyalin data tabel atau font.

ppjTable

Jika tidak NULL, arahkan ke lokasi di mana driver harus mengembalikan alamat data tabel atau font.

pcjTable

Jika tidak NULL, arahkan ke lokasi di mana driver harus mengembalikan panjang dalam byte tabel atau data font yang titiknya *ppjTable .

Mengembalikan nilai

DrvQueryTrueTypeTable mengembalikan salah satu nilai berikut:

  • Jika pjBufNULL, jumlah byte yang diperlukan agar buffer menahan seluruh tabel (ini akan sama dengan nilai yang dikembalikan dalam pcjTable).
  • Jika pjBuf bukan NULL, jumlah byte yang disalin.
  • Jika terjadi kesalahan, FD_ERROR.

Keterangan

DrvQueryTrueTypeTable harus diimplementasikan dalam driver font TrueType.

Ada dua cara di mana DrvQueryTrueTypeTable dapat diminta untuk mengembalikan data tabel atau font:

  1. Ketika cjBuf maupun pjBuf tidak NULL, driver harus menyalin konten tabel yang diminta ke dalam buffer tempat pjBuf menunjuk. Dalam situasi ini, ppjTable dan pcjTable akan menjadi NULL dan harus diabaikan oleh driver.
  2. Ketika tidak ada ppjTable atau pcjTable yang NULL, driver harus menempatkan penunjuk ke tabel di *ppjTable, dan panjangnya, dalam byte, dari tabel di *pciTable. Dalam situasi ini, cjBuf dan pjBuf akan menjadi NULL dan harus diabaikan oleh driver.

Persyaratan

Persyaratan Nilai
Target Platform Desktop
Header winddi.h (termasuk Winddi.h)

Lihat juga

DrvLoadFontFile