Bagikan melalui


Fungsi DrvQueryFontData (winddi.h)

Fungsi DrvQueryFontData mengambil informasi tentang font yang direalisasikan.

Sintaks

LONG DrvQueryFontData(
        DHPDEV    dhpdev,
        FONTOBJ   *pfo,
        ULONG     iMode,
        HGLYPH    hg,
        GLYPHDATA *pgd,
  [out] PVOID     pv,
        ULONG     cjSize
);

Parameter

dhpdev

Tangani ke PDEV perangkat fisik yang dikembalikan dari panggilan sebelumnya ke DrvEnablePDEV.

pfo

Penunjuk ke struktur FONTOBJ yang menentukan realisasi font.

iMode

Menentukan jenis informasi yang diminta. Parameter ini bisa menjadi salah satu nilai berikut:

Nilai Makna
QFD_GLYPHANDBITMAP Jika pgd bukan NULL, maka driver harus mengisi struktur GLYPHDATA dengan metrik glyph yang ditentukan oleh hg.

Jika pv bukan NULL, struktur GLYPHBITS harus ditulis di alamat ini. Driver harus menyalin bitmap glyph yang sesuai dengan glyph yang ditentukan oleh hg ke dalam struktur ini. Ukuran struktur ditentukan oleh cjSize.

Jika bitmap glyph tidak didukung oleh driver, fungsi ini hanya akan dipanggil dengan pv diatur ke NULL.

Jika driver mendukung bitmap glyph, nilai yang dikembalikan adalah ukuran, dalam byte, dari bitmap glyph. Jika tidak, itu nol.

Mode ini harus didukung.

QFD_GLYPHANDOUTLINE Jika pgd bukan NULL, maka driver harus mengisi struktur GLYPHDATA dengan metrik glyph yang ditentukan oleh hg.

Jika pv bukan NULL, struktur PATHOBJ harus ditulis di alamat ini. Driver meneruskan PATHOBJ ini ke layanan PATHOBJ_Xxx untuk membuat kerangka untuk glyph yang ditentukan oleh hg. Parameter cjSize harus diabaikan.

Nilai yang dikembalikan adalah nol jika fungsi berhasil. Jika tidak, itu FD_ERROR.

Hanya driver font yang menyediakan kerangka glyph yang perlu mendukung mode ini.

QFD_MAXEXTENTS Jika pv bukan NULL, driver harus menulis struktur FD_DEVICEMETRICS ke buffer yang ditujukkan oleh pv.

Nilai yang dikembalikan adalah ukuran, dalam byte, yang diperlukan untuk buffer jika pvADALAH NULL.

QFD_TT_GRAY1_BITMAP Font yang diwujudkan harus dirender dalam satu bit-per-piksel skala abu-abu (yaitu, hitam atau putih).
QFD_TT_GRAY2_BITMAP Font yang direalisasikan harus dirender dalam dua bit per piksel skala abu-abu.
QFD_TT_GRAY4_BITMAP Font yang direalisasikan harus dirender dalam empat bit per piksel skala abu-abu.
QFD_TT_GRAY8_BITMAP Font yang diwujudkan harus dirender dalam delapan bit per piksel skala abu-abu.
QFD_TT_MONO_BITMAP Sama seperti QFD_TT_GRAY1_BITMAP.

hg

Tangani ke glyph.

pgd

Penunjuk ke struktur GLYPHDATA . Parameter ini bisa NULL.

[out] pv

Penunjuk ke buffer data. Jenis data yang ditulis ke buffer ini tergantung pada iMode. Parameter ini bisa NULL.

cjSize

Menentukan ukuran buffer yang diacu oleh pv.

Mengembalikan nilai

Nilai yang dikembalikan tergantung pada nilai parameter iMode . Jika terjadi kesalahan, nilai yang dikembalikan FD_ERROR, dan kode kesalahan dicatat.

Keterangan

Untuk nilai QFD_GLYPHANDBITMAP dan QFD_GLYPHANDOUTLINE parameter iMode , GDI menyediakan penunjuk ke struktur GLYPHDATA (dalam parameter pgd ). Driver menempatkan informasi tentang metrik glyph dalam struktur ini dan menulis konten struktur GLYPHBITS atau struktur PATHOBJ di lokasi yang ditentukan oleh parameter pv , masing-masing tergantung pada apakah font adalah font bitmap atau font kerangka. Untuk nilai QFD_MAXEXTENTS parameter iMode , driver menulis konten struktur FD_DEVICEMETRICS di lokasi yang ditentukan oleh parameter pv .

DrvQueryFontData diperlukan untuk driver font dan driver yang menggunakan font khusus perangkat atau khusus driver.

Persyaratan

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

Lihat juga

DrvEnablePDEV

DrvQueryFontFile

FD_DEVICEMETRICS

FONTOBJ

GLYPHBITS

GLYPHDATA

PATHOBJ