Easelt BuilderDocs
Feedback
Abrir Easelt Builder →
Interactividad

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.

En la vista previa del editor
El árabe ya se renderiza correctamente aquí porque el navegador le da forma y lo ordena por ti. Lo que ves en el lienzo es árabe real, conectado y de derecha a izquierda.
En la exportación
Easelt reconstruye la forma de tu árabe en formas de presentación Unicode (las formas conectadas de las letras) y aplica un bidi simplificado, luego integra el resultado directamente en el Lua para que la GUI dentro del juego coincida con la vista previa.
ℹ️

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.

  1. 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.
  2. 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 / campoCompatibilidad con árabe
Etiquetas de textoReconstruidas y reordenadas en la exportación
BotonesReconstruidos y reordenados en la exportación
EditboxesReconstruidos y reordenados en la exportación
CheckboxesReconstruidos y reordenados en la exportación
Títulos de grupoReconstruidos y reordenados en la exportación
Etiquetas de progresoReconstruidas y reordenadas en la exportación
Elementos de desplegableReconstruidos 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:

  1. Escribe árabe normalmente
    Introduce 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.
  2. Comprueba la vista previa
    El editor muestra árabe correcto, conectado y de derecha a izquierda de inmediato, porque el navegador le da forma por ti.
  3. Exporta
    Easelt 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.

Got feedback or an idea?Share it →