MergeFontPackage-Funktion (fontsub.h)
Die MergeFontPackage-Funktion bearbeitet Schriftarten, die von CreateFontPackage erstellt wurden. Es ist etwas flexibler, als sein Name vermuten lässt: Es kann alle Von CreateFontPackage erstellten Teilmengenschriftarten und Schriftartenpakete entsprechend verarbeiten. Es kann ein Schriftartenpaket in eine funktionierende Schriftart umwandeln und ein Delta-Schriftartenpaket in eine entsprechend vorbereitete arbeitsbereite Schriftart zusammenführen.
In der Regel erstellt CreateFontPackage Schriftarten und Schriftartenpakete, die an einen Drucker oder Druckserver übergeben werden. MergeFontPackage wird auf diesem Drucker oder Druckserver ausgeführt.
Syntax
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
);
Parameter
[in] puchMergeFontBuffer
Ein Zeiger auf einen Puffer, der eine Schriftart zum Zusammenführen enthält. Dies wird nur verwendet, wenn usMode TTFMFP_DELTA ist.
[in] ulMergeFontBufferSize
Gibt die Größe von *puchMergeFontBuffer in Bytes an.
[in] puchFontPackageBuffer
Ein Zeiger auf einen auf einen Puffer, der ein Schriftartenpaket enthält.
[in] ulFontPackageBufferSize
Gibt die Größe von *puchMergeFontBuffer in Bytes an.
[out] ppuchDestBuffer
Ein Zeiger auf eine Variable vom Typ ohne Vorzeichen char*. Die MergeFontPackage-Funktion weist einen Puffer **ppuchDestBuffer mit lpfnAllocate und lpfnReAllocate zu. Nach erfolgreicher Rückgabe enthält dieser Puffer die resultierende zusammengeführte oder erweiterte Schriftart. Die Anwendung ist für die Letztendliche Freigabe dieses Puffers verantwortlich.
[out] pulDestBufferSize
Zeigt auf einen nicht signierten Long-Wert, der bei erfolgreicher Rückgabe die zugeordnete Größe des Puffers **ppuchDestBuffer angibt.
[out] pulBytesWritten
Zeigt auf einen nicht signierten Long-Wert, der bei erfolgreicher Rückgabe die Anzahl der Bytes angibt, die tatsächlich im Puffer **ppuchDestBuffer verwendet werden.
[in] usMode
Gibt an, welche Art von Prozess ausgeführt werden soll. Wählen Sie einen dieser Werte aus. sie können nicht kombiniert werden.
Wert | Bedeutung |
---|---|
|
Kopiert eine einfache funktionierende Schriftart; siehe Anmerkungen unten.
puchMergeFontBuffer wird ignoriert. puchFontPackageBuffer sollte eine funktionierende Schriftart enthalten, die von CreateFontPackage mit usSubsetFormat erstellt wurde und auf TTFCFP_SUBSET festgelegt ist. diese funktionierende Schriftart wird einfach in ppuchDestBuffer kopiert. |
|
Wandelt ein Schriftartenpaket in eine zusammensetzbare Arbeitsschriftart um; siehe Anmerkungen unten.
puchMergeFontBuffer wird ignoriert. puchFontPackageBuffer sollte eine zusammensetzbare Arbeitsschrift enthalten, die von CreateFontPackage erstellt wurde, wobei usSubsetFormat auf TTFCFP_SUBSET1 festgelegt ist. Das Ergebnis von **ppuchDestBuffer ist eine funktionierende Schriftart, die möglicherweise mit später zusammengeführt wird. |
|
Führt ein Delta-Schriftartenpaket zu einer zusammengeschließbaren Funktionierenden Schriftart zusammen. siehe Anmerkungen unten.
*puchFontPackageBuffer sollte ein Schriftartenpaket enthalten, das von CreateFontPackage mit usSubsetFormat erstellt wurde und auf TTFCFP_DELTA festgelegt ist, und puchMergeFontBuffer sollte ein Schriftartenpaket enthalten, das durch einen vorherigen Aufruf von MergeFontPackage erstellt wurde, wobei usMode auf TTFMFP_SUBSET1 oder TTFMFP_DELTA festgelegt ist. Die resultierende zusammengeführte Schriftart in **ppuchDestBuffer ist eine funktionierende Schriftart, die später möglicherweise mit zusammengeführt wird. |
[in] lpfnAllocate
Die Rückruffunktion zum Zuweisen des anfänglichen Arbeitsspeichers für ppuchDestBuffer und für temporäre Puffer.
[in] lpfnReAllocate
Die Rückruffunktion zum Neuzuordnung von Arbeitsspeicher für ppuchDestBuffer und für temporäre Puffer.
[in] lpfnFree
Die Rückruffunktion zum Freigeben von Arbeitsspeicher, der von lpfnAllocate und lpfnReAllocate zugewiesen wurde.
[in] lpvReserved
Muss auf NULL festgelegt werden.
Rückgabewert
Wenn die Funktion erfolgreich ist, gibt null zurück.
Andernfalls wird ein Wert ungleich 0 (null) zurückgegeben. Mögliche Fehlerrückmeldungen finden Sie unter Fehlermeldungen der Schriftart-Paketfunktion .
Hinweise
Diese Funktion verarbeitet vier unterschiedliche, verwandte Entitäten, die jeweils eine Teilmengeschrift darstellen:
Entität | Produziert von | Direkt verwendbar als Schriftart |
---|---|---|
Einfache Arbeitsschriftart | CreateFontPackage with usSubsetFormat auf TFCFP_SUBSET festgelegt. | Ja |
Schriftartpaket | CreateFontPackage with usSubsetFormat auf TTFCFP_SUBSET1 festgelegt. | Nein |
Delta-Schriftartpaket | CreateFontPackage with usSubsetFormat auf TTFCFP_DELTA festgelegt. | Nein |
Zusammensetzbare Arbeitsschriftart | MergeFontPackage with usMode ist auf TTFMFP_SUBSET1 oder TTFMFP_DELTA festgelegt. | Ja |
Anforderungen
Unterstützte Mindestversion (Client) | Windows XP [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2003 [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | fontsub.h |
Bibliothek | FontSub.lib |
DLL | FontSub.dll |