Partager via


Fonction ScriptGetFontAlternateGlyphs (usp10.h)

Récupère une liste de glyphes de remplacement pour un caractère spécifié qui est accessible via une fonctionnalité OpenType spécifiée.

Syntaxe

HRESULT ScriptGetFontAlternateGlyphs(
  [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]           WORD            wGlyphId,
  [in]           int             cMaxAlternates,
  [out]          WORD            *pAlternateGlyphs,
  [out]          int             *pcAlternates
);

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 définissant le cache de script.

[in, optional] psa

Pointeur vers une structure SCRIPT_ANALYSIS obtenue à partir d’un appel précédent à ScriptItemizeOpenType. Ce paramètre identifie le moteur de mise en forme, afin que le tableau de glyphes alternatifs puisse être créé avec l’étendue appropriée.

L’application peut également définir ce paramètre sur NULL pour recevoir des résultats non filtrés.

[in] tagScript

Structure OPENTYPE_TAG définissant la balise de script associée à d’autres glyphes.

[in] tagLangSys

Structure OPENTYPE_TAG définissant la balise de langue associée à d’autres glyphes.

[in] tagFeature

Structure OPENTYPE_TAG définissant la balise de fonctionnalité associée à d’autres glyphes.

[in] wGlyphId

Identificateur du glyphe d’origine mappé à partir de la table de mappage de caractères.

[in] cMaxAlternates

Longueur du tableau spécifié par pAlternateGlyphes.

[out] pAlternateGlyphs

Pointeur vers la mémoire tampon dans laquelle cette fonction récupère un tableau d’identificateurs de glyphes. Le tableau inclut le glyphe d’origine, suivi d’autres glyphes. Le premier élément est toujours le glyphe d’origine. Les autres formulaires sont identifiés par un index dans le tableau. L’index est une valeur supérieure à un et inférieure à la valeur de pcAlternates.

Lorsque l’utilisateur choisit un autre formulaire à partir de l’interface utilisateur, le glyphe de remplacement est appliqué au caractère correspondant et le rendu est reformaté.

[out] pcAlternates

Pointeur vers le nombre d’éléments dans le tableau spécifié par pAlternateGlyphes.

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 .

Si le nombre de glyphes de remplacement dépasse la valeur de cMaxAlternates, la fonction échoue avec E_OUTOFMEMORY. L’application peut réessayer d’appeler avec des mémoires tampons plus volumineuses.

Remarques

Lorsque vous utilisez d’autres glyphes, l’application remodele d’abord le glyphe d’origine sans appliquer de balise de fonctionnalité, puis sélectionne un autre glyphe. Le glyphe d’origine est établi comme glyphe de base. Si une autre alternative est requise, le glyphe d’origine fournit des informations qui correspondent à la liste d’alternatives correspondante.

Si un autre glyphe est utilisé comme glyphe de base, aucune liste de sortie correspondante n’est trouvée. L’interface utilisateur utilise le formulaire final sélectionné sans fournir la possibilité de choisir un autre autre formulaire.

Les opérations de ScriptGetFontAlternateGlyphs peuvent être émulées par ScriptSubstituteSingleGlyph. L’application doit essayer les paramètres un par un tandis que les glyphes sont remplacés.

Pour la mise en forme des polices avec Uniscribe, ScriptShapeOpenType est préféré à l’ancienne fonction ScriptShape .

Important À compter de Windows 8 : pour conserver la possibilité de s’exécuter sur Windows 7, un module qui utilise Uniscribe doit spécifier Usp10.lib avant gdi32.lib dans sa liste de bibliothèques.
 

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

Voir aussi

Mise en cache

OPENTYPE_TAG

SCRIPT_ANALYSIS

SCRIPT_CACHE

ScriptItemizeOpenType

ScriptShapeOpenType

ScriptSubstituteSingleGlyph

Uniscribe

Fonctions uniscribe