Condividi tramite


Funzione MergeFontPackage (fontub.h)

La funzione MergeFontPackage modifica i tipi di carattere creati da CreateFontPackage. È leggermente più flessibile del suo nome: può gestire in modo appropriato tutti i tipi di carattere e i pacchetti di carattere secondari creati da CreateFontPackage. Può trasformare un pacchetto di carattere in un tipo di carattere funzionante e può unire un pacchetto di carattere Delta in un tipo di carattere di lavoro preparato in modo appropriato.

In genere, CreateFontPackage crea tipi di carattere e pacchetti di carattere secondari da passare a una stampante o a un server di stampa; MergeFontPackage viene eseguito su tale stampante o server di stampa.

Sintassi

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
);

Parametri

[in] puchMergeFontBuffer

Puntatore a un buffer contenente un tipo di carattere da unire. Questa operazione viene usata solo quando usMode è TTFMFP_DELTA.

[in] ulMergeFontBufferSize

Specifica le dimensioni di *puchMergeFontBuffer, in byte.

[in] puchFontPackageBuffer

Puntatore a un buffer contenente un pacchetto di carattere.

[in] ulFontPackageBufferSize

Specifica le dimensioni di *puchMergeFontBuffer, in byte.

[out] ppuchDestBuffer

Puntatore a una variabile di tipo non firmato char*. La funzione MergeFontPackage allocherà un buffer **ppuchDestBuffer, usando lpfnAllocate e lpfnReAllocate. Al termine della restituzione, tale buffer conterrà il carattere unito o espanso risultante. L'applicazione è responsabile della liberazione del buffer.

[out] pulDestBufferSize

Punta a un lungo senza segno, che in caso di esito positivo restituirà la dimensione allocata del buffer **ppuchDestBuffer.

[out] pulBytesWritten

Punta a un lungo senza segno, che in caso di esito positivo restituirà il numero di byte effettivamente usati nel buffer **ppuchDestBuffer.

[in] usMode

Specifica il tipo di processo da eseguire. Selezionare uno di questi valori; non possono essere combinati.

Valore Significato
TTFMFP_SUBSET
Copia un carattere di lavoro semplice; vedere le osservazioni riportate di seguito.

puchMergeFontBuffer verrà ignorato; puchFontPackageBuffer deve contenere un carattere di lavoro creato da CreateFontPackage con usSubsetFormat impostato su TTFCFP_SUBSET; questo tipo di carattere funzionante verrà semplicemente copiato in ppuchDestBuffer.

TTFMFP_SUBSET1
Trasforma un pacchetto di carattere in un tipo di carattere di lavoro unionebile; vedere le osservazioni riportate di seguito.

puchMergeFontBuffer verrà ignorato; puchFontPackageBuffer deve contenere un tipo di carattere di lavoro mergebile creato da CreateFontPackage con usSubsetFormat impostato su TTFCFP_SUBSET1. Il risultato di **ppuchDestBuffer sarà un tipo di carattere funzionante che può essere unito a un secondo momento.

TTFMFP_DELTA
Unione di un pacchetto di carattere Delta in un tipo di carattere di lavoro mergebile; vedere le osservazioni riportate di seguito.

*puchFontPackageBuffer deve contenere un pacchetto di carattere creato da CreateFontPackage con usSubsetFormat impostato su TTFCFP_DELTA e puchMergeFontBuffer deve contenere un pacchetto di carattere creato da una chiamata precedente a MergeFontPackage con usMode impostata su TTFMFP_SUBSET1 o TTFMFP_DELTA. Il carattere unito risultante in **ppuchDestBuffer sarà un tipo di carattere funzionante che può essere unito in un secondo momento.

[in] lpfnAllocate

Funzione di callback per allocare la memoria iniziale per ppuchDestBuffer e per i buffer temporanei.

[in] lpfnReAllocate

La funzione di callback per riallocare la memoria per ppuchDestBuffer e per i buffer temporanei.

[in] lpfnFree

Funzione di callback per liberare memoria allocata da lpfnAllocate e lpfnReAllocate.

[in] lpvReserved

Deve essere impostato su NULL.

Valore restituito

Se la funzione ha esito positivo, restituisce zero.

In caso contrario, viene restituito un valore diverso da zero. Per eventuali errori, vedere Messaggi di errore della funzione del pacchetto di carattere .

Commenti

Questa funzione gestisce quattro entità distinte, correlate, ognuna che rappresenta un tipo di carattere subset:

Entità Prodotto da Utilizzabile direttamente come tipo di carattere
Carattere di lavoro semplice CreateFontPackage con usSubsetFormat impostato su TFCFP_SUBSET.
Pacchetto carattere CreateFontPackage con usSubsetFormat impostato su TTFCFP_SUBSET1. No
Pacchetto del tipo di carattere Delta CreateFontPackage con usSubsetFormat impostato su TTFCFP_DELTA. No
Carattere di lavoro unionebile MergeFontPackage con usMode impostato su TTFMFP_SUBSET1 o TTFMFP_DELTA.

Requisiti

   
Client minimo supportato Windows XP [solo app desktop]
Server minimo supportato Windows Server 2003 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione fontub.h
Libreria FontSub.lib
DLL FontSub.dll

Vedi anche

CFP_ALLOCPROC

CFP_FREEPROC

CFP_REALLOCPROC

CreateFontPackage