Méthode IPrintCoreHelper ::GetFontSubstitution (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 un caractère 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 pouvant remplacer la police TrueType spécifiée, ce paramètre est défini sur NULL.

Valeur retournée

IPrintCoreHelper ::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’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 ailleurs dans cette table 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 est imprimé à la place dans la police d’appareil spécifiée dans le paramètre ppszDevFontName . Le nom de la police de l’appareil doit être celui d’une police installée valide.

Une police est identifiée par son nom de face 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 actuelle 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 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 ::SetFontSubstitution