Função DrvQueryTrueTypeTable (winddi.h)
A função DrvQueryTrueTypeTable acessa tabelas específicas em um arquivo de descrição de fonte TrueType.
Sintaxe
LONG DrvQueryTrueTypeTable(
ULONG_PTR iFile,
ULONG ulFont,
ULONG ulTag,
PTRDIFF dpStart,
ULONG cjBuf,
BYTE *pjBuf,
PBYTE *ppjTable,
ULONG *pcjTable
);
Parâmetros
iFile
Ponteiro para um valor definido pelo driver que identifica o arquivo de fonte TrueType fornecido pelo driver. Esse ponteiro é obtido de DrvLoadFontFile.
ulFont
Especifica o índice baseado em um da fonte do driver.
ulTag
Especifica a tabela a ser acessada. Se ulTag for zero, o driver deverá retornar acesso ao arquivo inteiro.
dpStart
Especifica o deslocamento do início das tabelas das quais iniciar o acesso. Se ulTag for zero, dpStart será o deslocamento do início do arquivo.
cjBuf
Especifica o tamanho em bytes do buffer para o qual pjBuf aponta ou zero.
pjBuf
Se não for NULL, apontará para o buffer no qual o driver deve copiar os dados da tabela ou da fonte.
ppjTable
Se não for NULL, aponta para o local no qual o driver deve retornar o endereço da tabela ou dos dados da fonte.
pcjTable
Se não for NULL, apontará para o local em que o driver deve retornar o comprimento em bytes da tabela ou dados de fonte aos quais *ppjTable aponta.
Retornar valor
DrvQueryTrueTypeTable retorna um dos seguintes valores:
- Se pjBuf for NULL, o número de bytes necessários para que o buffer mantenha a tabela inteira (isso seria o mesmo que o valor retornado em pcjTable).
- Se pjBuf não for NULL, o número de bytes copiados.
- Se ocorrer um erro, FD_ERROR.
Comentários
DrvQueryTrueTypeTable deve ser implementado em drivers de fonte TrueType.
Há duas maneiras pelas quais DrvQueryTrueTypeTable pode ser solicitado a retornar dados de tabela ou fonte:
- Quando nem cjBuf nem pjBuf são NULL, o driver deve copiar o conteúdo da tabela solicitada para o buffer para o qual pjBuf aponta. Nessa situação, ppjTable e pcjTable serão NULL e deverão ser ignorados pelo driver.
- Quando nem ppjTable nem pcjTable são NULL, o driver deve colocar um ponteiro para a tabela em *ppjTable e o comprimento, em bytes, da tabela em *pciTable. Nessa situação, cjBuf e pjBuf serão NULL e deverão ser ignorados pelo driver.
Requisitos
Requisito | Valor |
---|---|
Plataforma de Destino | Área de Trabalho |
Cabeçalho | winddi.h (inclua Winddi.h) |