ScriptPositionSingleGlyph, fonction (usp10.h)
Positionne un glyphe unique avec un seul ajustement à l’aide d’une fonctionnalité spécifiée fournie dans la police pour le traitement OpenType. Le plus souvent, les applications utilisent cette fonction pour aligner un glyphe optiquement au début ou à la fin d’une ligne.
Syntaxe
HRESULT ScriptPositionSingleGlyph(
[in, optional] HDC hdc,
[in, out] SCRIPT_CACHE *psc,
[in, optional] SCRIPT_ANALYSIS *psa,
[in] OPENTYPE_TAG tagScript,
[in] OPENTYPE_TAG tagLangSys,
[in] OPENTYPE_TAG tagFeature,
[in] LONG lParameter,
[in] WORD wGlyphId,
[in] int iAdvance,
[in] GOFFSET GOffset,
[out] int *piOutAdvance,
[out] GOFFSET *pOutGoffset
);
Paramètres
[in, optional] hdc
Gérez le contexte de l’appareil. Pour plus d’informations, consultez Mise en cache.
[in, out] psc
Pointeur vers une structure SCRIPT_CACHE identifiant le cache de script.
[in, optional] psa
Pointeur vers une structure SCRIPT_ANALYSIS obtenue à partir d’un appel précédent à ScriptItemizeOpenType. Cette structure identifie le moteur de mise en forme, afin que les largeurs avancées puissent être récupérées.
L’application peut également définir ce paramètre sur NULL pour récupérer des résultats non filtrés.
[in] tagScript
Structure OPENTYPE_TAG définissant la balise de script pour la mise en forme.
[in] tagLangSys
Structure OPENTYPE_TAG définissant la balise de langue pour la mise en forme.
[in] tagFeature
Structure OPENTYPE_TAG définissant la balise de fonctionnalité à utiliser pour la mise en forme du glyphe de remplacement.
[in] lParameter
Indicateur spécifiant si la substitution unique doit être appliquée à l’identificateur spécifié dans wGlyphId. L’application définit ce paramètre sur 1 pour appliquer la fonctionnalité de substitution unique à l’identificateur. L’application définit le paramètre sur 0 si la fonction ne doit pas appliquer la fonctionnalité.
[in] wGlyphId
Identificateur du glyphe d’origine mis en forme.
[in] iAdvance
Largeur avancée du glyphe d’origine.
[in] GOffset
Décalage du glyphe d’origine. En règle générale, cette valeur est une sortie de ScriptPlaceOpenType ou ScriptPlace.
[out] piOutAdvance
Pointeur vers l’emplacement où cette fonction récupère la nouvelle largeur avancée ajustée pour le glyphe de remplacement.
[out] pOutGoffset
Pointeur vers l’emplacement où cette fonction récupère le nouveau décalage de glyphe ajusté pour le glyphe de remplacement.
Valeur retournée
Retourne 0 en cas de réussite. La fonction retourne une valeur HRESULT différente de zéro si elle ne réussit pas. L’application peut tester la valeur de retour avec les macros SUCCEEDED et FAILED .
Remarques
Cette fonction positionne un glyphe individuel en ajustant la largeur avancée et/ou le décalage du glyphe donné. La fonction suppose que la police ne nécessite qu’un seul ajustement.
Une utilisation classique de cette fonction est le léger ajustement de la marge pour tenir compte de l’impression visuelle effectuée par certains caractères. Dans l’écriture latine, par exemple, au début d’une ligne, il est courant d’effectuer un léger ajustement à gauche pour une majuscule initiale (telle que « T » ou « O ») qui n’a pas de ligne verticale sur la partie gauche du glyphe. Bien que cela casse la marge linéaire stricte, l’œil perçoit la marge comme plus égale.
Les exemples suivants illustrent cet effet. Le premier exemple montre un alignement strict ; Les deux exemples suivants montrent un ajustement du « T » initial à gauche. Les réglages sont d’un pixel et de deux pixels, respectivement. Les images agrandies à droite montrent comment le « T » pousse légèrement plus loin dans la marge gauche dans chaque cas successif.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows Vista [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows Server 2008 [applications de bureau uniquement] |
Plateforme cible | Windows |
En-tête | usp10.h |
Bibliothèque | Usp10.lib |
DLL | Usp10.dll |
Composant redistribuable | Usp10.dll version 1.600 ou ultérieure sur Windows XP |