Condividi tramite


Funzione DrvQueryTrueTypeTable (winddi.h)

La funzione DrvQueryTrueTypeTable accede a tabelle specifiche in un file di descrizione del tipo di carattere TrueType.

Sintassi

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

Parametri

iFile

Puntatore a un valore definito dal driver che identifica il file di carattere TrueType fornito dal driver. Questo puntatore viene ottenuto da DrvLoadFontFile.

ulFont

Specifica l'indice in base uno del tipo di carattere del driver.

ulTag

Specifica la tabella a cui accedere. Se ulTag è zero, il driver deve restituire l'accesso all'intero file.

dpStart

Specifica l'offset dall'inizio delle tabelle da cui iniziare l'accesso. Se ulTag è zero, dpStart è l'offset dall'inizio del file.

cjBuf

Specifica le dimensioni in byte del buffer in cui pjBuf punta o zero.

pjBuf

Se non è NULL, punta al buffer in cui il driver deve copiare i dati della tabella o del tipo di carattere.

ppjTable

Se non è NULL, punta alla posizione in cui il driver deve restituire l'indirizzo dei dati della tabella o del tipo di carattere.

pcjTable

Se non è NULL, punta alla posizione in cui il driver deve restituire la lunghezza in byte della tabella o dei dati del tipo di carattere a cui punta *ppjTable .

Valore restituito

DrvQueryTrueTypeTable restituisce uno dei valori seguenti:

  • Se pjBuf è NULL, il numero di byte necessari per il buffer per contenere l'intera tabella (corrisponderebbe al valore restituito in pcjTable).
  • Se pjBuf non è NULL, il numero di byte copiati.
  • Se si verifica un errore, FD_ERROR.

Commenti

DrvQueryTrueTypeTable deve essere implementato nei driver dei tipi di carattere TrueType.

Esistono due modi in cui è possibile richiedere drvQueryTrueTypeTable per restituire dati di tipo tabella o tipo di carattere:

  1. Quando né cjBufpjBuf sono NULL, il driver deve copiare il contenuto della tabella richiesta nel buffer in cui pjBuf punta. In questo caso, ppjTable e pcjTable saranno NULL e devono essere ignorati dal driver.
  2. Quando né ppjTablepcjTable sono NULL, il driver deve posizionare un puntatore alla tabella in *ppjTable e la lunghezza, in byte, della tabella in *pciTable. In questo caso , cjBuf e pjBuf saranno NULL e devono essere ignorati dal driver.

Requisiti

Requisito Valore
Piattaforma di destinazione Desktop
Intestazione winddi.h (include Winddi.h)

Vedi anche

DrvLoadFontFile