IPrintCoreHelperPS ::SetFontSubstitution, méthode (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 être NULL.

[in] pszDevFontName

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

Valeur de retour

IPrintCoreHelperPS ::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 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 peut se produire uniquement pendant la session de 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 silencieusement le mappage. 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ée dans pszDevFontName.

Pour obtenir la liste des polices d’appareil valides, créez un contexte d’informations pour l’imprimante active et appelez SetGraphicsMode(hIC, GM_ADVANCED). Ensuite, énumérez les polices d’appareil en appelant EnumFontFamilies. Le paramètre de rappel (consultez EnumFontFamProc dans la documentation du Kit de développement logiciel (SDK) Microsoft Windows) de 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) n’est pas différent de zéro. Les fonctions SetGraphicsMode, EnumFontFamilies, et fonctions enumFontFamProc sont décrites dans la documentation du Kit de développement logiciel (SDK) Windows.

Exigences

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

Voir aussi

IPrintCoreHelperPS

IPrintCoreHelperPS ::GetFontSubstitution