MergeFontPackage, fonction (fontsub.h)
La fonction MergeFontPackage manipule les polices créées par CreateFontPackage. Il est légèrement plus flexible que son nom ne le suggère : il peut gérer de manière appropriée toutes les polices de sous-ensemble et les packages de polices créés par CreateFontPackage. Il peut transformer un package de polices en police de travail et fusionner un package de polices Delta en une police de travail préparée de manière appropriée.
En règle générale, CreateFontPackage crée des polices de sous-ensemble et des packages de polices à transmettre à une imprimante ou à un serveur d’impression ; MergeFontPackage s’exécute sur cette imprimante ou ce serveur d’impression.
Syntaxe
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
);
Paramètres
[in] puchMergeFontBuffer
Pointeur vers une mémoire tampon contenant une police avec lequel fusionner. Elle est utilisée uniquement lorsque usMode est TTFMFP_DELTA.
[in] ulMergeFontBufferSize
Spécifie la taille de *puchMergeFontBuffer, en octets.
[in] puchFontPackageBuffer
Pointeur vers une mémoire tampon contenant un package de polices.
[in] ulFontPackageBufferSize
Spécifie la taille de *puchMergeFontBuffer, en octets.
[out] ppuchDestBuffer
Pointeur vers une variable de type char non signé*. La fonction MergeFontPackage alloue une mémoire tampon **ppuchDestBuffer, à l’aide de lpfnAllocate et lpfnReAllocate. En cas de retour réussi, cette mémoire tampon contient la police fusionnée ou développée résultante. L’application est chargée de libérer à terme cette mémoire tampon.
[out] pulDestBufferSize
Pointe vers un long non signé, qui, en cas de retour réussi, spécifie la taille allouée de la mémoire tampon **ppuchDestBuffer.
[out] pulBytesWritten
Pointe vers un long non signé, qui, en cas de retour réussi, spécifie le nombre d’octets réellement utilisés dans la mémoire tampon **ppuchDestBuffer.
[in] usMode
Spécifie le type de processus à effectuer. Sélectionnez l’une de ces valeurs ; ils ne peuvent pas être combinés.
Valeur | Signification |
---|---|
|
Copie une police de travail simple; voir les remarques ci-dessous.
puchMergeFontBuffer sera ignoré ; puchFontPackageBuffer doit contenir une police de travail créée par CreateFontPackage avec usSubsetFormat défini sur TTFCFP_SUBSET ; cette police de travail sera simplement copiée dans ppuchDestBuffer. |
|
Transforme un package de polices en police de travail pouvant être fusionnée ; voir les remarques ci-dessous.
puchMergeFontBuffer sera ignoré ; puchFontPackageBuffer doit contenir une police de travail fusionnable créée par CreateFontPackage avec usSubsetFormat défini sur TTFCFP_SUBSET1. Le résultat dans **ppuchDestBuffer sera une police fonctionnelle qui peut être fusionnée avec ultérieurement. |
|
Fusionne un package de polices Delta en une police de travail pouvant être fusionnée ; voir les remarques ci-dessous.
*puchFontPackageBuffer doit contenir un package de polices créé par CreateFontPackage avec usSubsetFormat défini sur TTFCFP_DELTA et puchMergeFontBuffer doit contenir un package de polices créé par un appel antérieur à MergeFontPackage avec usMode défini sur TTFMFP_SUBSET1 ou TTFMFP_DELTA. La police fusionnée résultante dans **ppuchDestBuffer sera une police de travail qui peut être fusionnée avec ultérieurement. |
[in] lpfnAllocate
Fonction de rappel permettant d’allouer de la mémoire initiale pour ppuchDestBuffer et pour les mémoires tampons temporaires.
[in] lpfnReAllocate
Fonction de rappel pour réallouer la mémoire pour ppuchDestBuffer et pour les mémoires tampons temporaires.
[in] lpfnFree
Fonction de rappel pour libérer de la mémoire allouée par lpfnAllocate et lpfnReAllocate.
[in] lpvReserved
Doit être défini sur NULL.
Valeur retournée
Si la fonction réussit, retourne zéro.
Sinon, retourne une valeur différente de zéro. Pour connaître les éventuels retours d’erreurs, consultez Messages d’erreur de la fonction Font-Package .
Notes
Cette fonction gère quatre entités distinctes associées, chacune représentant une police de sous-ensemble :
Entité | Produit par | Directement utilisable en tant que police |
---|---|---|
Police de travail simple | CreateFontPackage avec usSubsetFormat défini sur TFCFP_SUBSET. | Oui |
Package de polices | CreateFontPackage avec usSubsetFormat défini sur TTFCFP_SUBSET1. | Non |
Package de polices delta | CreateFontPackage avec usSubsetFormat défini sur TTFCFP_DELTA. | Non |
Police de travail fusionnable | MergeFontPackage avec usMode défini sur TTFMFP_SUBSET1 ou TTFMFP_DELTA. | Oui |
Configuration requise
Client minimal pris en charge | Windows XP [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows Server 2003 [applications de bureau uniquement] |
Plateforme cible | Windows |
En-tête | fontsub.h |
Bibliothèque | FontSub.lib |
DLL | FontSub.dll |