Share via


Méthode IPrintCoreHelperPS ::SetFontSubstitution (prcomoem.h)

La méthode IPrintCoreHelperPS ::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 avoir la valeur NULL.

[in] pszDevFontName

Pointeur vers une chaîne Unicode terminée par null qui contient le nom de la police de l’appareil.

Valeur retournée

IPrintCoreHelperPS ::GetFontSubstitution 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’était 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 en raison d’une mémoire 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 la valeur NULL spécifiée dans pszDevFontName.

Pour obtenir la 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 en appelant EnumFontFamilies. Le paramètre de rappel (voir EnumFontFamProc dans la documentation Microsoft Windows SDK) 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. Les fonctions SetGraphicsMode, EnumFontFamilies et EnumFontFamProc sont décrites dans la documentation du Kit de développement logiciel (SDK) Windows.

Configuration requise

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

Voir aussi

IPrintCoreHelperPS

IPrintCoreHelperPS ::GetFontSubstitution