Função MergeFontPackage (fontsub.h)
A função MergeFontPackage manipula fontes criadas por CreateFontPackage. Ele é um pouco mais flexível do que seu nome pode sugerir: ele pode lidar adequadamente com todas as fontes de subconjunto e pacotes de fontes criados por CreateFontPackage. Ele pode transformar um pacote de fontes em uma fonte funcional e pode mesclar um pacote de fonte Delta em uma fonte de trabalho preparada adequadamente.
Normalmente, CreateFontPackage cria fontes de subconjunto e pacotes de fontes para passar para uma impressora ou servidor de impressão; MergeFontPackage é executado nessa impressora ou servidor de impressão.
Sintaxe
unsigned long MergeFontPackage(
[in] const unsigned char *puchMergeFontBuffer,
[in] const unsigned long ulMergeFontBufferSize,
[in] const unsigned char *puchFontPackageBuffer,
[in] const unsigned long ulFontPackageBufferSize,
[out] unsigned char **ppuchDestBuffer,
[out] unsigned long *pulDestBufferSize,
[out] unsigned long *pulBytesWritten,
[in] const unsigned short usMode,
[in] CFP_ALLOCPROC lpfnAllocate,
[in] CFP_REALLOCPROC lpfnReAllocate,
[in] CFP_FREEPROC lpfnFree,
[in] void *lpvReserved
);
Parâmetros
[in] puchMergeFontBuffer
Um ponteiro para um buffer que contém uma fonte com a qual mesclar. Isso é usado somente quando usMode é TTFMFP_DELTA.
[in] ulMergeFontBufferSize
Especifica o tamanho de *puchMergeFontBuffer, em bytes.
[in] puchFontPackageBuffer
Um ponteiro para um buffer que contém um pacote de fontes.
[in] ulFontPackageBufferSize
Especifica o tamanho de *puchMergeFontBuffer, em bytes.
[out] ppuchDestBuffer
Um ponteiro para uma variável do tipo sem sinal char*. A função MergeFontPackage alocará um buffer **ppuchDestBuffer, usando lpfnAllocate e lpfnReAllocate. No retorno bem-sucedido, esse buffer conterá a fonte mesclada ou expandida resultante. O aplicativo é responsável por eventualmente liberar esse buffer.
[out] pulDestBufferSize
Aponta para um longo sem sinal, que no retorno bem-sucedido especificará o tamanho alocado do buffer **ppuchDestBuffer.
[out] pulBytesWritten
Aponta para um long sem sinal, que no retorno bem-sucedido especificará o número de bytes realmente usados no buffer **ppuchDestBuffer.
[in] usMode
Especifica que tipo de processo executar. Selecione um desses valores; eles não podem ser combinados.
Valor | Significado |
---|---|
|
Copia uma fonte de trabalho simples; veja os comentários abaixo.
puchMergeFontBuffer será ignorado; puchFontPackageBuffer deve conter uma fonte de trabalho criada por CreateFontPackage com usSubsetFormat definido como TTFCFP_SUBSET; essa fonte de trabalho será simplesmente copiada para ppuchDestBuffer. |
|
Transforma um pacote de fontes em uma fonte de trabalho mesclada; veja os comentários abaixo.
puchMergeFontBuffer será ignorado; puchFontPackageBuffer deve conter uma fonte de trabalho mesclada criada por CreateFontPackage com usSubsetFormat definido como TTFCFP_SUBSET1. O resultado em **ppuchDestBuffer será uma fonte de trabalho que pode ser mesclada com posteriormente. |
|
Mescla um pacote de fontes Delta em uma fonte de trabalho mesclada; veja os comentários abaixo.
*puchFontPackageBuffer deve conter um pacote de fontes criado por CreateFontPackage com usSubsetFormat definido como TTFCFP_DELTA e puchMergeFontBuffer deve conter um pacote de fonte criado por uma chamada anterior para MergeFontPackage com usMode definido como TTFMFP_SUBSET1 ou TTFMFP_DELTA. A fonte mesclada resultante em **ppuchDestBuffer será uma fonte de trabalho que pode ser mesclada com posteriormente. |
[in] lpfnAllocate
A função de retorno de chamada para alocar memória inicial para ppuchDestBuffer e para buffers temporários.
[in] lpfnReAllocate
A função de retorno de chamada para realocar memória para ppuchDestBuffer e para buffers temporários.
[in] lpfnFree
A função de retorno de chamada para liberar memória alocada por lpfnAllocate e lpfnReAllocate.
[in] lpvReserved
Deve ser definido como NULL.
Valor retornado
Se a função for bem-sucedida, retornará zero.
Caso contrário, retornará um valor diferente de zero. Consulte Mensagens de erro da função Font-Package para obter possíveis retornos de erro.
Comentários
Essa função manipula quatro entidades distintas e relacionadas, cada uma representando uma fonte de subconjunto:
Entidade | Produzido por | Diretamente utilizável como uma fonte |
---|---|---|
Fonte de trabalho simples | CreateFontPackage com usSubsetFormat definido como TFCFP_SUBSET. | Sim |
Pacote de fontes | CreateFontPackage com usSubsetFormat definido como TTFCFP_SUBSET1. | Não |
Pacote de fonte delta | CreateFontPackage com usSubsetFormat definido como TTFCFP_DELTA. | Não |
Fonte de trabalho mesclada | MergeFontPackage com usMode definido como TTFMFP_SUBSET1 ou TTFMFP_DELTA. | Sim |
Requisitos
Cliente mínimo com suporte | Windows XP [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows Server 2003 [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | fontsub.h |
Biblioteca | FontSub.lib |
DLL | FontSub.dll |