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 |
---|---|
|
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. |
|
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. |
|
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. | Sì |
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. | Sì |
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 |