Fonction ScriptGetFontScriptTags (usp10.h)

Récupère la liste des scripts disponibles dans la police pour le traitement OpenType. Les scripts comprenant la liste sont récupérés à partir de la police située dans le contexte de l’appareil fourni ou du moteur de mise en forme de script qui traite la police de l’exécution en cours.

Syntaxe

HRESULT ScriptGetFontScriptTags(
  [in, optional] HDC             hdc,
  [in, out]      SCRIPT_CACHE    *psc,
  [in, optional] SCRIPT_ANALYSIS *psa,
  [in]           int             cMaxTags,
  [out]          OPENTYPE_TAG    *pScriptTags,
  [out]          int             *pcTags
);

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. Ce paramètre identifie le moteur de mise en forme, afin que les balises de script de police appropriées puissent être récupérées. L’application fournit une valeur non NULL pour ce paramètre afin de récupérer les balises de script appropriées pour l’exécution actuelle.

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

[in] cMaxTags

Longueur du tableau spécifiée par pScriptTags.

[out] pScriptTags

Pointeur vers une mémoire tampon dans laquelle cette fonction récupère un tableau de structures OPENTYPE_TAG définissant des balises de script à partir du contexte de l’appareil ou du moteur de script associé à l’exécution actuelle. Si la valeur du membre eScript de la structure SCRIPT_ANALYSIS fournie dans le paramètre psa est associée à une balise de script définie et que la balise est présente dans la police, pScriptTags contient uniquement cette balise.

[out] pcTags

Pointeur vers le nombre d’éléments dans le tableau de balises de script indiqué par pScriptTags.

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 balises correspondantes dépasse la valeur de cMaxTags, la fonction échoue avec E_OUTOFMEMORY. L’application peut réessayer d’appeler avec des mémoires tampons plus volumineuses.

Remarques

Bien que déclaré officiellement en tant que type ULONG, OPENTYPE_TAG définit un tableau de 4 octets qui contient quatre valeurs ASCII 8 bits d’espace, A-Z ou a-z. Par exemple, les balises de script pour les scripts latins et arabes sont respectivement « latn » et « arabe ».

Cette fonction récupère une seule balise à partir d’une police dans les cas suivants :

  • La valeur psa est associée au texte pour un script complexe unique.
  • Le paramètre psa indique NULL et la police prend en charge un seul script.
Si ScriptGetFontScriptTags récupère toutes les étiquettes d’une police, les balises concernent généralement les éléments neutres, tels que les chiffres. Notez que plusieurs balises peuvent s’appliquer, car certaines exécutions de texte d’éléments neutres ne sont pas spécifiques au script.

Si une balise correspondant à un script particulier est présente, il se peut qu’un moteur de mise en forme ne puisse pas utiliser la police pour mettre en forme l’élément donné, car le moteur ne dispose pas d’un élément nécessaire, tel qu’un système de langage spécifique ou une fonctionnalité spécifique.

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

Uniscribe

Fonctions uniscribe