Partager via


IPrintCoreHelper ::GetFontSubstitution, méthode (prcomoem.h)

La méthode IPrintCoreHelper ::GetFontSubstitution indique quelle police d’appareil, le cas échéant, est utilisée comme police de substitution pour une police TrueType spécifiée.

Syntaxe

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

Paramètres

[in] pszTrueTypeFontName

Pointeur vers une chaîne Unicode terminée par null qui contient le nom d’une police TrueType.

[out] ppszDevFontName

Pointeur vers une variable qui reçoit l’adresse d’une chaîne Unicode terminée par null. Cette chaîne contient le nom de la police d’appareil qui sera utilisée à la place de la police TrueType spécifiée dans le paramètre pszFontName. S’il n’existe aucune police d’appareil qui peut servir de substitut à la police TrueType spécifiée, ce paramètre est défini sur NULL .

Valeur de retour

IPrintCoreHelper ::GetFontSubstitution doit retourner l’une des valeurs suivantes :

Retourner le code Description
S_OK La méthode lit l’option de la fonctionnalité spécifiée.
E_FAIL La police demandée n’existe pas ou n’a pas été une police TrueType.
E_INVALIDARG Un ou plusieurs arguments ne sont pas valides.
E_OUTOFMEMORY Le pilote principal n’a pas pu traiter la requête, car il n’y avait pas de mémoire insuffisante.
E_UNEXPECTED, ou d’autres codes de retour non répertoriés ailleurs dans ce tableau Le pilote principal semble être dans un état non valide. L’appelant doit retourner un code d’échec.

Remarques

Si une application tente d’imprimer du texte qui utilise la police TrueType spécifiée dans le paramètre pszTrueTypeFontName, ce texte sera imprimé à la place dans la police de l’appareil spécifiée dans le paramètre ppszDevFontName. Le nom de police de l’appareil doit être celui d’une police valide installée.

Une police est identifiée par son nom de visage de police, qui apparaît dans le membre lfFaceName de la structure LOGFONT.

Pour obtenir la liste des polices disponibles, créez un contexte d’informations pour l’imprimante active et appelez SetGraphicsMode(hIC, GM_ADVANCED). Énumérez ensuite les polices d’appareil au moyen d’un appel à EnumFontFamilies. Le paramètre de rappel (voir EnumFontFamProc) de EnumFontFamilies doit filtrer pour les polices d’appareil en incrémentant un compteur pour chaque police pour laquelle le résultat AND au niveau du bit (FontType & TRUETYPE_FONTTYPE) n’est pas zéro.

Exigences

Exigence Valeur
plateforme cible Bureau
d’en-tête prcomoem.h (include Prcomoem.h)

Voir aussi

IPrintCoreHelper

IPrintCoreHelper ::SetFontSubstitution