Freigeben über


IPrintCoreHelperUni::SetFontSubstitution-Methode (prcomoem.h)

Die IPrintCoreHelperUni::SetFontSubstitution -Methode gibt die Geräteschriftart an, die anstelle einer bestimmten TrueType-Schriftart gedruckt werden soll.

Syntax

HRESULT SetFontSubstitution(
  [in] IN PCWSTR pszTrueTypeFontName,
  [in] IN PCWSTR pszDevFontName
);

Parameter

[in] pszTrueTypeFontName

Ein Zeiger auf eine mit Null beendete Unicode-Zeichenfolge, die einen gültigen TrueType-Schriftartnamen enthält. Dieser Parameter darf nicht NULL-sein.

[in] pszDevFontName

Ein Zeiger auf eine mit Null beendete Unicode-Zeichenfolge, die den Namen der Geräteschriftart enthält.

Rückgabewert

IPrintCoreHelperUni::SetFontSubstitution sollte einen der folgenden Werte zurückgeben.

Rückgabecode Beschreibung
S_OK
Die Methode liest die Option für das angegebene Feature.
E_FAIL
Die angeforderte Schriftart ist nicht vorhanden oder war keine TrueType-Schriftart.
E_INVALIDARG
Mindestens ein Argument ist ungültig.
E_OUTOFMEMORY
Der Kerntreiber konnte die Anforderung nicht bedienen, da nicht genügend Arbeitsspeicher vorhanden war.
E_UNEXPECTED oder andere hier nicht aufgeführte Rückgabecodes
Der Kerntreiber scheint in einem ungültigen Zustand zu sein. Der Aufrufer sollte einen Fehlercode zurückgeben.

Bemerkungen

Das Festlegen einer Geräteschriftart, die anstelle einer angegebenen TrueType-Schriftart verwendet werden soll, kann nur während der Sitzung der Geräteeigenschaftenblätter auftreten und nur, wenn die vollständige Benutzeroberfläche ersetzt wird. Die Schriftart, die durch die pszTrueTypeFontName Parameter dargestellt wird, muss eine gültige TrueType-Schriftart sein und auf dem Drucker installiert sein. Die Geräteschriftart, die durch den pszDevFontName Parameter dargestellt wird, muss eine gültige Schriftart für diesen Drucker sein.

Wenn in dieser Warteschlange bereits eine Ersetzungszuordnung für die angegebene TrueType-Schriftart vorhanden ist, ersetzt die SetFontSubstitution-Methode die Zuordnung automatisch. Um eine Ersetzungszuordnung zu entfernen, rufen Sie diese Methode mit dem in pszTrueTypeFontName angegebenen Schriftartnamen und mit NULL- auf, die in pszDevFontNameangegeben ist.

Um eine Liste gültiger Geräteschriftarten abzurufen, erstellen Sie einen Informationskontext für den aktuellen Drucker, und rufen Sie SetGraphicsMode-(hIC, GM_ADVANCED) auf. Aufzählen Sie dann Geräteschriftarten, indem Sie EnumFontFamiliesaufrufen. Der Rückrufparameter (siehe EnumFontFamProc- in der Microsoft Windows SDK-Dokumentation) von EnumFontFamilies sollte nach Geräteschriftarten filtern, indem ein Zähler für jede Schriftart erhöht wird, für die das bitweise AND-Ergebnis (FontType & TRUETYPE_FONTTYPE) ungleich Null ist. Die funktionen SetGraphicsMode, EnumFontFamiliesund EnumFontFamProc funktionen werden in der Windows SDK-Dokumentation beschrieben.

Anforderungen

Anforderung Wert
Zielplattform- Desktop
Header- prcomoem.h (einschließlich Prcomoem.h)

Siehe auch

IPrintCoreHelperUni

IPrintCoreHelperUni::GetFontSubstitution