IPrintCoreHelperPS::GetFontSubstitution-Methode (prcomoem.h)

Die IPrintCoreHelperPS::GetFontSubstitution-Methode gibt an, welche Geräteschriftart (falls vorhanden) als Ersatzschriftart für eine angegebene TrueType-Schriftart verwendet wird.

Syntax

HRESULT GetFontSubstitution(
  [in]  IN PCWSTR  pszTrueTypeFontName,
  [out] OUT PCWSTR *ppszDevFontName
);

Parameter

[in] pszTrueTypeFontName

Ein Zeiger auf eine Unicode-Zeichenfolge mit Null-Beendigung, die den Namen einer TrueType-Schriftart enthält.

[out] ppszDevFontName

Ein Zeiger auf eine Variable, die die Adresse einer unicode-Zeichenfolge mit Null-Endung empfängt. Diese Zeichenfolge enthält den Namen der Geräteschriftart, die anstelle der TrueType-Schriftart verwendet wird, die im pszFontName-Parameter angegeben ist. Wenn keine Geräteschriftart vorhanden ist, die als Ersatz für die angegebene TrueType-Schriftart dienen kann, wird dieser Parameter auf NULL festgelegt.

Rückgabewert

IPrintCoreHelperPS::GetFontSubstitution 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 eines der Argumente ist ungültig.
E_OUTOFMEMORY Der Kerntreiber konnte die Anforderung nicht verarbeiten, da nicht genügend Arbeitsspeicher vorhanden war.
E_UNEXPECTED oder andere Rückgabecodes, die hier nicht aufgeführt sind Der Kerntreiber scheint sich in einem ungültigen Zustand zu befinden. Der Aufrufer sollte einen Fehlercode zurückgeben.

Hinweise

Wenn eine Anwendung versucht, Text zu drucken, der die trueType-Schriftart verwendet, die im Parameter pszTrueTypeFontName angegeben ist, wird dieser Text stattdessen in der Geräteschriftart gedruckt, die im ppszDevFontName-Parameter angegeben ist. Der Geräteschriftname muss der einer gültigen, installierten Schriftart sein.

Eine Schriftart wird durch ihren Schriftnamen identifiziert, der im Element lfFaceName der LOGFONT-Struktur angezeigt wird.

Um eine Liste der verfügbaren Schriftarten abzurufen, erstellen Sie einen Informationskontext für den aktuellen Drucker, und rufen Sie SetGraphicsMode(hIC, GM_ADVANCED) auf. Listen Sie dann Geräteschriftarten mithilfe eines Aufrufs von EnumFontFamilies auf. Der Rückrufparameter (siehe EnumFontFamProc) 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) nicht zero ist.

Anforderungen

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

Weitere Informationen

IPrintCoreHelperPS

IPrintCoreHelperPS::SetFontSubstitution