Compartilhar via


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
TTFMFP_SUBSET
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.

TTFMFP_SUBSET1
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.

TTFMFP_DELTA
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

Confira também

CFP_ALLOCPROC

CFP_FREEPROC

CFP_REALLOCPROC

CreateFontPackage