Función MergeFontPackage (fontsub.h)

La función MergeFontPackage manipula las fuentes creadas por CreateFontPackage. Es ligeramente más flexible que su nombre podría sugerir: puede controlar adecuadamente todas las fuentes de subconjuntos y paquetes de fuentes creados por CreateFontPackage. Puede convertir un paquete de fuentes en una fuente de trabajo y puede combinar un paquete de fuentes Delta en una fuente de trabajo preparada correctamente.

Normalmente, CreateFontPackage crea fuentes de subconjunto y paquetes de fuentes para pasar a una impresora o servidor de impresión; MergeFontPackage se ejecuta en esa impresora o servidor de impresión.

Sintaxis

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

Puntero a un búfer que contiene una fuente con la que combinar. Esto solo se usa cuando usMode es TTFMFP_DELTA.

[in] ulMergeFontBufferSize

Especifica el tamaño de *puchMergeFontBuffer, en bytes.

[in] puchFontPackageBuffer

Puntero a un búfer que contiene un paquete de fuentes.

[in] ulFontPackageBufferSize

Especifica el tamaño de *puchMergeFontBuffer, en bytes.

[out] ppuchDestBuffer

Puntero a una variable de tipo unsigned char*. La función MergeFontPackage asignará un búfer **ppuchDestBuffer, mediante lpfnAllocate y lpfnReAllocate. Si la devolución es correcta, ese búfer contendrá la fuente combinada o expandida resultante. La aplicación es responsable de liberar finalmente ese búfer.

[out] pulDestBufferSize

Apunta a un long sin signo, que, al devolverse correctamente, especificará el tamaño asignado del búfer **ppuchDestBuffer.

[out] pulBytesWritten

Apunta a un long sin signo, que, al devolverse correctamente, especificará el número de bytes que se usan realmente en el búfer **ppuchDestBuffer.

[in] usMode

Especifica qué tipo de proceso se va a realizar. Seleccione uno de estos valores; no se pueden combinar.

Valor Significado
TTFMFP_SUBSET
Copia una fuente de trabajo simple; vea los comentarios a continuación.

puchMergeFontBuffer se omitirá; puchFontPackageBuffer debe contener una fuente de trabajo creada por CreateFontPackage con usSubsetFormat establecido en TTFCFP_SUBSET; esta fuente de trabajo simplemente se copiará en ppuchDestBuffer.

TTFMFP_SUBSET1
Convierte un paquete de fuentes en una fuente de trabajo combinable; vea los comentarios a continuación.

puchMergeFontBuffer se omitirá; puchFontPackageBuffer debe contener una fuente de trabajo combinable creada por CreateFontPackage con usSubsetFormat establecido en TTFCFP_SUBSET1. El resultado en **ppuchDestBuffer será una fuente de trabajo que se puede combinar con más adelante.

TTFMFP_DELTA
Combina un paquete de fuentes Delta en una fuente de trabajo combinable; vea los comentarios a continuación.

*puchFontPackageBuffer debe contener un paquete de fuentes creado por CreateFontPackage con usSubsetFormat establecido en TTFCFP_DELTA y puchMergeFontBuffer debe contener un paquete de fuentes creado por una llamada anterior a MergeFontPackage con usMode establecido en TTFMFP_SUBSET1 o TTFMFP_DELTA. La fuente combinada resultante en **ppuchDestBuffer será una fuente de trabajo que se puede combinar con más adelante.

[in] lpfnAllocate

Función de devolución de llamada para asignar memoria inicial para ppuchDestBuffer y para búferes temporales.

[in] lpfnReAllocate

Función de devolución de llamada para reasignar memoria para ppuchDestBuffer y para búferes temporales.

[in] lpfnFree

Función de devolución de llamada para liberar memoria asignada por lpfnAllocate y lpfnReAllocate.

[in] lpvReserved

Debe establecerse en NULL.

Valor devuelto

Si la función se realiza correctamente, devuelve cero.

De lo contrario, devuelve un valor distinto de cero. Consulte Font-Package Function Error Messages (Mensajes de error de la función Font-Package) para obtener posibles devoluciones de error.

Comentarios

Esta función controla cuatro entidades distintas relacionadas, cada una de las cuales representa una fuente de subconjunto:

Entidad Producido por Se puede usar directamente como fuente
Fuente de trabajo simple CreateFontPackage con usSubsetFormat establecido en TFCFP_SUBSET.
Paquete de fuentes CreateFontPackage con usSubsetFormat establecido en TTFCFP_SUBSET1. No
Paquete de fuentes delta CreateFontPackage con usSubsetFormat establecido en TTFCFP_DELTA. No
Fuente de trabajo combinable MergeFontPackage con usMode establecido en TTFMFP_SUBSET1 o TTFMFP_DELTA.

Requisitos

   
Cliente mínimo compatible Windows XP [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2003 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado fontsub.h
Library FontSub.lib
Archivo DLL FontSub.dll

Consulte también

CFP_ALLOCPROC

CFP_FREEPROC

CFP_REALLOCPROC

CreateFontPackage