Fonction ScriptPlace (usp10.h)
Génère des informations sur la largeur avancée du glyphe et le décalage en deux dimensions à partir de la sortie de ScriptShape.
Syntaxe
HRESULT ScriptPlace(
[in] HDC hdc,
[in, out] SCRIPT_CACHE *psc,
[in] const WORD *pwGlyphs,
[in] int cGlyphs,
[in] const SCRIPT_VISATTR *psva,
[in, out] SCRIPT_ANALYSIS *psa,
[out] int *piAdvance,
[out] GOFFSET *pGoffset,
[out] ABC *pABC
);
Paramètres
[in] hdc
Facultatif. 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] pwGlyphs
Pointeur vers une mémoire tampon de glyphes obtenue à partir d’un appel antérieur à la fonction ScriptShape .
[in] cGlyphs
Nombre de glyphes dans la mémoire tampon de glyphes.
[in] psva
Pointeur vers un tableau de structures SCRIPT_VISATTR indiquant des attributs visuels.
[in, out] psa
Pointeur vers une structure SCRIPT_ANALYSIS . Lors de l’entrée, cette structure est obtenue à partir d’un appel précédent à ScriptItemize. Lors de la sortie, cette structure contient les valeurs récupérées par ScriptPlace.
[out] piAdvance
Pointeur vers un tableau dans lequel cette fonction récupère des informations de largeur avancées.
[out] pGoffset
facultatif. Pointeur vers un tableau de structures GOFFSET dans laquelle cette fonction récupère les décalages x et y de la combinaison de glyphes. Ce tableau doit être de longueur indiquée par les cGlyphes.
[out] pABC
Pointeur vers une structure ABC dans laquelle cette fonction récupère la largeur ABC pour l’exécution entière.
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 .
La fonction retourne E_PENDING si le cache de script spécifié par le paramètre psc ne contient pas suffisamment d’informations pour placer les glyphes et si le paramètre hdc a la valeur NULL afin que la fonction ne puisse pas terminer le processus de placement. L’application doit configurer un contexte d’appareil correct pour l’exécution et appeler à nouveau cette fonction avec le contexte d’appareil approprié et avec tous les autres paramètres identiques.
Remarques
Consultez Affichage de texte avec uniscribe pour une présentation du contexte dans lequel cette fonction est normalement appelée.
La largeur ABC composite pour l’ensemble de l’élément identifie le dépassement des glyphes à gauche de la position de départ et à droite de la longueur impliquée par la somme des largeurs avancées. La largeur d’avance totale de la ligne est exactement abcA+abcB+abcC. Les valeurs abcA et abcC sont conservées sous forme de proportions de la hauteur de cellule représentée en 8 bits et sont donc d’environ +/-1 %. La largeur totale récupérée, qui est la somme des valeurs abcA+abcB+abcC indiquées par piAdvance, est exacte à la résolution du moteur de mise en forme TrueType.
Tous les tableaux sont dans l’ordre visuel, sauf si le membre fLogicalOrder est défini dans la structure SCRIPT_ANALYSIS indiquée par le paramètre psa .
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows 2000 Professionnel [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows 2000 Server [applications de bureau uniquement] |
Plateforme cible | Windows |
En-tête | usp10.h |
Bibliothèque | Usp10.lib |
DLL | Usp10.dll |