Texte arabe et RTL
Mise en forme (shaping) de l'arabe et texte de droite à gauche de premier ordre, ainsi que l'action Set Text.
Le dxDrawText de MTA ne met pas en forme ni ne réordonne l'arabe par lui-même — donnez-lui de l'arabe et il l'affiche sous forme de lettres déconnectées, de gauche à droite. Easelt Builder corrige cela pour vous au moment de l'export, de sorte que tout arabe que vous saisissez dans votre GUI ressorte connecté, correctement ordonné et correct en jeu. Cette page explique exactement ce qui se passe et comment travailler avec.
Pourquoi l'arabe nécessite un traitement particulier
En jeu, le dxDrawText de MTA:SA est un simple dessinateur de texte. Il n'applique pas les deux choses que l'arabe requiert : la mise en forme (choisir la forme de lettre connectée pour chaque position — initiale, médiane, finale ou isolée) et le bidi (disposer l'écriture de droite à gauche). Laissé tel quel, dxDrawText affiche l'arabe comme une suite de glyphes isolés et déconnectés s'écoulant de gauche à droite — illisible pour un arabophone.
Easelt Builder résout cela afin que vous n'ayez jamais à toucher au détail de bas niveau. Vous saisissez l'arabe comme vous le feriez ailleurs, et le Lua exporté embarque le texte entièrement préparé que dxDrawText peut afficher correctement.
Aperçu vs. export
Il y a deux moments où l'arabe est rendu, et ils fonctionnent différemment. Comprendre cette distinction explique pourquoi l'éditeur a toujours l'air correct — même avant qu'Easelt ne fasse son travail.
Le navigateur vous offre un aperçu correct gratuitement, mais le moteur du jeu ne le peut pas — c'est donc à l'export que le vrai travail se produit, là où le texte préparé est écrit dans votre Lua.
Ce qu'Easelt fait à l'export
Au moment de l'export, Easelt exécute deux transformations sur chaque morceau de texte avant de l'écrire dans le Lua.
- Remise en forme — chaque lettre arabe est convertie en sa forme de présentation Unicode correcte (forme connectée) en fonction de sa position dans le mot, afin que les lettres voisines se joignent comme l'arabe est censé le faire.
- Bidi simplifié — le texte est réordonné de droite à gauche, tandis que toute suite de caractères latins et de chiffres à l'intérieur est maintenue de gauche à droite afin de rester lisible.
La sortie de ces deux étapes est intégrée dans le Lua exporté. Le GUI en jeu affiche alors de l'arabe correct, connecté et correctement ordonné sans aucun code de mise en forme à l'exécution de votre côté.
Où l'arabe est pris en charge
La remise en forme et le bidi s'appliquent à tout texte que vous saisissez dans un élément — il n'y a pas de « mode arabe » spécial à activer. Chaque contrôle porteur de texte est couvert :
| Élément / champ | Prise en charge de l'arabe |
|---|---|
| Étiquettes de texte | Remis en forme et réordonné à l'export |
| Boutons | Remis en forme et réordonné à l'export |
| Champs de saisie (editboxes) | Remis en forme et réordonné à l'export |
| Cases à cocher | Remis en forme et réordonné à l'export |
| Titres de groupe | Remis en forme et réordonné à l'export |
| Étiquettes de progression | Remis en forme et réordonné à l'export |
| Éléments de liste déroulante | Remis en forme et réordonné à l'export |
Mélange de latin et de chiffres
Vous n'avez pas besoin d'isoler les mots latins ou les chiffres de votre arabe. Lorsqu'Easelt applique le bidi, il maintient les suites de latin et de chiffres de gauche à droite à l'intérieur d'une chaîne par ailleurs de droite à gauche, de sorte que des étiquettes comme une légende arabe avec un nom anglais intégré ou une valeur numérique se lisent correctement en jeu.
Saisissez simplement les chaînes mixtes naturellement — de l'arabe avec un mot anglais ou un chiffre au milieu ressort avec chaque suite s'écoulant dans le bon sens.
Ligatures lam-alef
La ligature lam-alef — la forme combinée de لا que l'arabe requiert plutôt que deux lettres séparées — est gérée automatiquement lors de la remise en forme. Vous n'avez pas besoin de saisir de caractère spécial ni de ligature ; Easelt produit la forme combinée correcte pour vous.
Modifications de texte à l'exécution avec Blueprint
Le texte statique n'est pas la seule chose à être remise en forme. L'action Blueprint Set Text prend elle aussi en charge l'arabe : lorsque votre GUI modifie le texte d'un élément à l'exécution via Set Text, ce nouveau texte est également remis en forme, de sorte que les mises à jour dynamiques restent aussi correctes que le texte que vous avez conçu.
Le texte au moment de la conception comme les modifications Set Text à l'exécution passent par la même remise en forme et le même bidi, de sorte que votre GUI reste cohérent, que le texte soit fixe ou mis à jour en direct.
Comment l'utiliser
Il n'y a aucune configuration et aucun flux de travail à apprendre. Toute la fonctionnalité se résume à une seule pratique :
- Saisissez l'arabe normalementEntrez votre arabe dans n'importe quel champ de texte — étiquette, bouton, champ de saisie, case à cocher, titre de groupe, étiquette de progression ou élément de liste déroulante — exactement comme vous l'écririez ailleurs.
- Vérifiez l'aperçuL'éditeur affiche immédiatement de l'arabe correct, connecté et de droite à gauche, parce que le navigateur le met en forme pour vous.
- ExportezEaselt remet en forme vers les formes de présentation et applique un bidi simplifié, intégrant le résultat dans le Lua afin que le GUI en jeu corresponde.
La seule chose à retenir : saisissez simplement l'arabe normalement. Easelt gère la mise en forme et le sens pour vous.
Cette documentation même est également disponible en arabe — vous pouvez donc lire cette page dans la langue même que parlent vos GUI.