Fonctions bidirectionnelles

Les langues bidirectionnelles, telles que l'arabe et l'hébreu, sont des langues dans lesquelles le texte est présenté à l'utilisateur dans un ordre allant de droite à gauche, mais les nombres et les chaînes alphabétiques latines du le texte sont présentés de gauche à droite.

De plus, l'ordre dans lequel apparaissent les caractères dans les variables de programme peut varier. Le texte est généralement stocké dans l'ordre logique, l'ordre dans lequel les caractères sont entrés dans la zone de saisie. Ces différences d'ordre et d'autres caractéristiques de présentation associées nécessitent que le programme puisse convertir des chaînes de texte bidirectionnel d'un format à un autre.

Utilisez les fonctions SETLOGICALORDER, SETVISUALORDER,SETORIENTATIONLTR, SETORIENTATIONRTL, SETTEXTSHAPING et SETTEXTSHAPINGOFF pour les besoins de transformation spécifiques lors du traitement de données bidirectionnelles.

A propos de l'ordre du texte

L'ordre du texte correspond généralement à l'ordre dans lequel il est stocké en mémoire ou sur le disque. Le plus souvent, l'ordre du texte est affiché, sur l'écran par exemple, dans un ordre visuel permettant la lecture telle qu'elle est prévue. A savoir, les caractères de gauche à droite sont affichés de gauche à droite, et les caractères de droite à gauche sont affichés avec le premier caractère du bloc de texte en commençant par la droite.

Le stockage en mémoire ou sur le disque se produit généralement de manière logique de sorte que les caractères de gauche à droite sont stockés de gauche à droite (à savoir, l'un après l'autre) et ne nécessitent pas de traitement pour s'afficher correctement. Cependant, lorsque des caractères de droite à gauche sont stockés de manière logique, ils sont également stockés l'un après l'autre de gauche à droite. Ces blocs de texte, lorsqu'ils sont en ordre logique, sont généralement placés entre marqueurs qui identifient les positions de début et de fin des blocs de texte de droite à gauche.

Réorganisation de l'ordre logique en ordre visuel

L'affichage de ces séquences logiques sur un écran nécessite que tout texte de gauche à droite soit simplement lu et affiché. Lorsqu'un texte de droite à gauche est rencontré, il doit être retourné dans le bon sens. Il s'agit de la réorganisation de l'ordre logique en ordre visuel.

Exemples

Dans l'exemple suivant, les caractères en minuscules sont considérés comme étant de gauche à droite (LTR) et les caractères majuscules comme étant de droite à gauche (RTL).

Texte = a b c F E D g h i
Ordre visuel 0x61 0x62 0x63 0x46 0x45 0x44 0x67 0x68 0x69
Ordre logique 0x61 0x62 0x63 0x44 0x45 0x46 0x67 0x68 0x69