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