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
TTFMFP_SUBSET
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.

TTFMFP_SUBSET1
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.

TTFMFP_DELTA
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

Weitere Informationen

CFP_ALLOCPROC

CFP_FREEPROC

CFP_REALLOCPROC

CreateFontPackage