Fonction ScriptBreak (usp10.h)

Récupère des informations pour déterminer les sauts de ligne.

Syntaxe

HRESULT ScriptBreak(
  [in]  const WCHAR           *pwcChars,
  [in]  int                   cChars,
  [in]  const SCRIPT_ANALYSIS *psa,
  [out] SCRIPT_LOGATTR        *psla
);

Paramètres

[in] pwcChars

Pointeur vers les caractères Unicode à traiter.

[in] cChars

Nombre de caractères Unicode à traiter.

[in] psa

Pointeur vers la structure SCRIPT_ANALYSIS obtenue à partir d’un appel antérieur à ScriptItemize.

[out] psla

Pointeur vers une mémoire tampon dans laquelle cette fonction récupère les attributs de caractère en tant que structure SCRIPT_LOGATTR .

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

Pour plus d’informations sur le contexte dans lequel cette fonction est normalement appelée, consultez Affichage de texte avec Uniscribe .

Cette fonction ne nécessite pas de contexte d’appareil et n’effectue pas de mise en forme de glyphe.

Cette fonction récupère le déplacement du curseur et la mise en forme des positions d’arrêt d’un élément dans un tableau de structures SCRIPT_LOGATTR . Pour prendre correctement en charge la mise en forme mixte au sein d’un seul mot, l’appel à ScriptBreak doit passer des éléments entiers tels qu’ils ont été récupérés par ScriptItemize, et non pas les exécutions de mise en forme plus fines.

La structure SCRIPT_LOGATTR identifie les positions de caret et les sauts de ligne valides. Le membre fCharStop spécifie un indicateur qui marque les limites du cluster pour les scripts qui ne peuvent pas se déplacer à l’intérieur des clusters. Les mêmes limites peuvent également être déduites en inspectant les informations de cluster logique récupérées par ScriptShape. Toutefois, ScriptBreak est considérablement plus rapide dans l’implémentation et ne nécessite pas de préparation d’un contexte d’appareil.

Les indicateurs désignés par les membres fWordStop, fSoftBreak et fWhiteSpace de SCRIPT_LOGATTR sont uniquement disponibles via ScriptBreak.

La plupart des moteurs de mise en forme qui identifient des séquences non valides définissent l’indicateur indiqué par le membre fInvalid de SCRIPT_LOGATTR dans ScriptBreak. Le membre fInvalidLogAttr de SCRIPT_PROPERTIES identifie les scripts applicables.

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 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
Composant redistribuable Internet Explorer 5 ou version ultérieure sur Windows Me/98/95

Voir aussi

Affichage de texte avec uniscribe

SCRIPT_ANALYSIS

SCRIPT_LOGATTR

ScriptItemize

ScriptShape

Uniscribe

Fonctions uniscribe