Funzione DrvQueryFontData (winddi.h)
La funzione DrvQueryFontData recupera informazioni su un tipo di carattere realizzato.
Sintassi
LONG DrvQueryFontData(
DHPDEV dhpdev,
FONTOBJ *pfo,
ULONG iMode,
HGLYPH hg,
GLYPHDATA *pgd,
[out] PVOID pv,
ULONG cjSize
);
Parametri
dhpdev
Gestire il PDEV del dispositivo fisico restituito da una chiamata precedente a DrvEnablePDEV.
pfo
Puntatore a una struttura FONTOBJ che definisce la realizzazione del carattere.
iMode
Specifica il tipo di informazioni richieste. Questo parametro può essere uno dei valori seguenti:
Valore | Significato |
---|---|
QFD_GLYPHANDBITMAP |
Se pgd non è NULL, il driver deve compilare la struttura GLYPHDATA con le metriche del glifo specificato da hg.
Se pv non è NULL, è necessario scrivere una struttura GLYPHBITS in questo indirizzo. Il driver deve copiare la bitmap del glifo corrispondente al glifo specificato da hg in questa struttura. Le dimensioni della struttura sono specificate da cjSize. Se le bitmap del glifo non sono supportate dal driver, questa funzione verrà chiamata solo con pv impostata su NULL. Se il driver supporta le bitmap del glifo, il valore restituito è la dimensione, in byte, della bitmap del glifo. In caso contrario, è zero. Questa modalità deve essere supportata. |
QFD_GLYPHANDOUTLINE |
Se pgd non è NULL, il driver deve compilare la struttura GLYPHDATA con le metriche del glifo specificato da hg.
Se pv non è NULL, una struttura PATHOBJ deve essere scritta in questo indirizzo. Il driver passa questo PATHOBJ ai servizi PATHOBJ_Xxx per creare la struttura per il glifo specificato da hg. Il parametro cjSize deve essere ignorato. Il valore restituito è zero se la funzione ha esito positivo. In caso contrario, è FD_ERROR. Solo i driver di carattere che forniscono contorni glifi devono supportare questa modalità. |
QFD_MAXEXTENTS |
Se pv non è NULL, il driver deve scrivere una struttura FD_DEVICEMETRICS nel buffer a cui punta da pv.
Il valore restituito è la dimensione, in byte, necessaria per il buffer se pv è NULL. |
QFD_TT_GRAY1_BITMAP | Il carattere realizzato deve essere sottoposto a rendering in un bit per pixel di scala grigia, ovvero nero o bianco. |
QFD_TT_GRAY2_BITMAP | Il carattere realizzato deve essere eseguito il rendering in due bit per pixel di scala grigia. |
QFD_TT_GRAY4_BITMAP | Il tipo di carattere realizzato deve essere eseguito in quattro bit per pixel di scala grigia. |
QFD_TT_GRAY8_BITMAP | Il tipo di carattere realizzato deve essere eseguito in otto bit per pixel di scala grigia. |
QFD_TT_MONO_BITMAP | Uguale a QFD_TT_GRAY1_BITMAP. |
hg
Gestire il glifo.
pgd
Puntatore alla struttura GLYPHDATA . Questo parametro può essere NULL.
[out] pv
Puntatore a un buffer di dati. Il tipo di dati scritti in questo buffer dipende da iMode. Questo parametro può essere NULL.
cjSize
Specifica le dimensioni del buffer a cui punta da pv.
Valore restituito
Il valore restituito dipende dal valore del parametro iMode . Se si verifica un errore, il valore restituito è FD_ERROR e viene registrato un codice di errore.
Commenti
Per i valori QFD_GLYPHANDBITMAP e QFD_GLYPHANDOUTLINE del parametro iMode , GDI fornisce un puntatore a una struttura GLYPHDATA (nel parametro pgd ). Il driver inserisce informazioni sulle metriche del glifo in questa struttura e scrive il contenuto di una struttura GLYPHBITS o di una struttura PATHOBJ nella posizione specificata dal parametro pv , a seconda rispettivamente, se il tipo di carattere è un carattere bitmap o un carattere di struttura. Per il valore QFD_MAXEXTENTS del parametro iMode , il driver scrive il contenuto di una struttura FD_DEVICEMETRICS nella posizione specificata dal parametro pv .
DrvQueryFontData è necessario per i driver e i driver di carattere che usano tipi di carattere specifici del dispositivo o specifici del driver.
Requisiti
Requisito | Valore |
---|---|
Piattaforma di destinazione | Desktop |
Intestazione | winddi.h (include Winddi.h) |