Partager via


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

La méthode IPrintCoreHelper ::SetFontSubstitution spécifie la police d’appareil à imprimer à la place d’une police TrueType donnée.

Syntaxe

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

Paramètres

[in] pszTrueTypeFontName

Pointeur vers une chaîne Unicode terminée par null qui contient un nom de police TrueType valide. Ce paramètre ne doit pas être NULL.

[in] pszDevFontName

Pointeur vers une chaîne Unicode terminée par un caractère Null qui contient le nom de la police d’appareil.

Valeur retournée

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

Code de retour Description
S_OK La méthode a lu l’option pour la fonctionnalité spécifiée.
E_FAIL La police demandée n’existe pas ou n’est pas une police TrueType.
E_INVALIDARG Un ou plusieurs arguments ne sont pas valides.
E_OUTOFMEMORY Le pilote principal n’a pas pu traiter la demande, car la mémoire était insuffisante.
E_UNEXPECTED ou d’autres codes de retour non répertoriés ici Le pilote principal semble être dans un état non valide. L’appelant doit retourner un code d’échec.

Remarques

La définition d’une police d’appareil à utiliser à la place d’une police TrueType spécifiée ne peut se produire que pendant la session des feuilles de propriétés de l’appareil et uniquement si le remplacement complet de l’interface utilisateur est activé. La police représentée par le paramètre pszTrueTypeFontName doit être une police TrueType valide et doit être installée sur l’imprimante. La police d’appareil représentée par le paramètre pszDevFontName doit être une police valide pour cette imprimante.

Si un mappage de substitution pour la police TrueType spécifiée existe déjà dans cette file d’attente, la méthode SetFontSubstitution remplace le mappage en mode silencieux. Pour supprimer un mappage de substitution, appelez cette méthode avec le nom de police TrueType spécifié dans pszTrueTypeFontName et avec NULL spécifié dans pszDevFontName.

Pour obtenir une liste des polices d’appareil valides, créez un contexte d’informations pour l’imprimante actuelle et appelez SetGraphicsMode(hIC, GM_ADVANCED). Ensuite, énumérez les polices d’appareil au moyen d’un appel à EnumFontFamilies. Le paramètre de rappel ((voir EnumFontFamProc) d’EnumFontFamilies doit filtrer 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) est différent de zéro.

Configuration requise

Condition requise Valeur
Plateforme cible Desktop (Expérience utilisateur)
En-tête prcomoem.h (include Prcomoem.h)

Voir aussi

IPrintCoreHelper

IPrintCoreHelper ::GetFontSubstitution