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) |