Texto árabe y RTL
Modelado de árabe de primera clase y texto de derecha a izquierda, además de la acción Set Text.
El dxDrawText de MTA no da forma ni reordena el árabe por sí solo — dale árabe y lo renderiza como letras inconexas de izquierda a derecha. Easelt Builder soluciona esto por ti en el momento de la exportación, de modo que cualquier texto árabe que escribas en tu GUI sale conectado, correctamente ordenado y correcto dentro del juego. Esta página explica exactamente qué ocurre y cómo trabajar con ello.
Por qué el árabe necesita un tratamiento especial
Dentro del juego, el dxDrawText de MTA:SA es un dibujador de texto plano. No aplica las dos cosas que el árabe requiere: shaping (elegir la forma conectada de cada letra según su posición — inicial, medial, final o aislada) y bidi (disponer la escritura de derecha a izquierda). Si se le deja solo, dxDrawText imprime el árabe como una secuencia de glifos aislados e inconexos que fluyen de izquierda a derecha — ilegible para un hablante de árabe.
Easelt Builder resuelve esto para que nunca tengas que tocar el detalle de bajo nivel. Escribes árabe tal como lo escribirías en cualquier otro sitio, y el Lua exportado lleva el texto totalmente preparado que dxDrawText puede renderizar correctamente.
Vista previa frente a exportación
Hay dos momentos en los que se renderiza el árabe, y funcionan de forma distinta. Entender esta separación explica por qué el editor siempre se ve bien — incluso antes de que Easelt haga su trabajo.
El navegador te da una vista previa correcta gratis, pero el motor del juego no puede — por eso el trabajo real ocurre en la exportación, donde el texto preparado se escribe en tu Lua.
Qué hace Easelt en la exportación
En el momento de la exportación, Easelt ejecuta dos transformaciones sobre cada fragmento de texto antes de escribirlo en el Lua.
- Reconstrucción de la forma (reshaping) — cada letra árabe se convierte a su forma de presentación Unicode correcta (forma conectada) según su posición en la palabra, de modo que las letras vecinas se unen tal como el árabe debe hacerlo.
- Bidi simplificado — el texto se reordena de derecha a izquierda, mientras que cualquier secuencia de letras latinas y números dentro de él se mantiene de izquierda a derecha para que sigan siendo legibles.
El resultado de ambos pasos se integra en el Lua exportado. La GUI dentro del juego muestra entonces árabe correcto, conectado y correctamente ordenado sin ningún código de shaping en tiempo de ejecución por tu parte.
Dónde se gestiona el árabe
La reconstrucción de la forma y el bidi se aplican a cualquier texto que escribas en un elemento — no hay ningún "modo árabe" especial que activar. Todo control que contenga texto está cubierto:
| Elemento / campo | Compatibilidad con árabe |
|---|---|
| Etiquetas de texto | Reconstruidas y reordenadas en la exportación |
| Botones | Reconstruidos y reordenados en la exportación |
| Editboxes | Reconstruidos y reordenados en la exportación |
| Checkboxes | Reconstruidos y reordenados en la exportación |
| Títulos de grupo | Reconstruidos y reordenados en la exportación |
| Etiquetas de progreso | Reconstruidas y reordenadas en la exportación |
| Elementos de desplegable | Reconstruidos y reordenados en la exportación |
Latín y números mezclados
No necesitas aislar las palabras en latín ni los dígitos de tu árabe. Cuando Easelt aplica el bidi, mantiene las secuencias de latín y números de izquierda a derecha dentro de una cadena que por lo demás es de derecha a izquierda, de modo que etiquetas como un texto en árabe con un nombre en inglés incrustado o un valor numérico se leen correctamente dentro del juego.
Simplemente escribe cadenas mixtas de forma natural — el árabe con una palabra en inglés o un número en medio sale con cada secuencia fluyendo en la dirección correcta.
Ligaduras lam-alef
La ligadura lam-alef — la forma combinada de لا que el árabe requiere en lugar de dos letras separadas — se gestiona automáticamente durante la reconstrucción de la forma. No necesitas escribir ningún carácter especial ni ligadura; Easelt produce la forma combinada correcta por ti.
Cambios de texto en tiempo de ejecución con Blueprint
El texto estático no es lo único que se reconstruye. La acción Set Text de Blueprint también admite árabe: cuando tu GUI cambia el texto de un elemento en tiempo de ejecución mediante Set Text, ese nuevo texto también se reconstruye, de modo que las actualizaciones dinámicas siguen siendo tan correctas como el texto que diseñaste.
Tanto el texto de tiempo de diseño como los cambios de Set Text en tiempo de ejecución pasan por la misma reconstrucción de la forma y el mismo bidi, de modo que tu GUI se mantiene coherente ya sea que el texto esté fijo o se actualice en vivo.
Cómo usarlo
No hay ninguna configuración ni ningún flujo de trabajo que aprender. Toda la función se reduce a una sola práctica:
- Escribe árabe normalmenteIntroduce tu árabe en cualquier campo de texto — etiqueta, botón, editbox, checkbox, título de grupo, etiqueta de progreso o elemento de desplegable — exactamente como lo escribirías en cualquier sitio.
- Comprueba la vista previaEl editor muestra árabe correcto, conectado y de derecha a izquierda de inmediato, porque el navegador le da forma por ti.
- ExportaEaselt reconstruye la forma en formas de presentación y aplica un bidi simplificado, integrando el resultado en el Lua para que la GUI dentro del juego coincida.
Lo único que hay que recordar: simplemente escribe árabe normalmente. Easelt se encarga del shaping y la dirección por ti.
Estos mismos documentos también están disponibles en árabe — así que puedes leer esta página en el mismo idioma que hablan tus GUIs.