Easelt BuilderDocs
Feedback
Abrir o Easelt Builder →
Interatividade

Texto em árabe e RTL

Modelagem de árabe de primeira classe e texto da direita para a esquerda, além da ação Set Text.

O dxDrawText do MTA não modela nem reordena o árabe por conta própria — passe árabe para ele e o resultado será renderizado como letras desconectadas, da esquerda para a direita. O Easelt Builder corrige isso para você no momento da exportação, de modo que qualquer texto em árabe que você digite na sua GUI saia conectado, na ordem correta e correto dentro do jogo. Esta página explica exatamente o que acontece e como trabalhar com isso.

Por que o árabe precisa de tratamento especial

Dentro do jogo, o dxDrawText do MTA:SA é um desenhador de texto simples. Ele não aplica as duas coisas que o árabe exige: modelagem (escolher a forma conectada da letra para cada posição — inicial, medial, final ou isolada) e bidi (dispor o script da direita para a esquerda). Deixado por conta própria, o dxDrawText imprime o árabe como uma sequência de glifos isolados e desconectados fluindo da esquerda para a direita — ilegível para quem fala árabe.

O Easelt Builder resolve isso para que você nunca precise lidar com o detalhe de baixo nível. Você digita árabe da mesma forma que digitaria em qualquer outro lugar, e o Lua exportado carrega o texto totalmente preparado que o dxDrawText consegue renderizar corretamente.

Pré-visualização vs. exportação

Há dois momentos em que o árabe é renderizado, e eles funcionam de formas diferentes. Entender essa divisão explica por que o editor sempre parece correto — mesmo antes de o Easelt fazer o seu trabalho.

Na pré-visualização do editor
O árabe já é renderizado corretamente aqui porque o navegador o modela e o ordena para você. O que você vê no canvas é árabe real, conectado, da direita para a esquerda.
Na exportação
O Easelt remodela o seu árabe em formas de apresentação Unicode (as formas conectadas das letras) e aplica bidi simplificado, e então grava o resultado diretamente no Lua para que a GUI dentro do jogo corresponda à pré-visualização.
ℹ️

O navegador lhe dá uma pré-visualização correta de graça, mas o motor do jogo não consegue — então o trabalho de verdade acontece na exportação, onde o texto preparado é gravado no seu Lua.

O que o Easelt faz na exportação

No momento da exportação, o Easelt executa duas transformações em cada trecho de texto antes de gravá-lo no Lua.

  1. Remodelagem — cada letra árabe é convertida para a sua forma de apresentação Unicode correta (forma conectada) com base na sua posição na palavra, para que as letras vizinhas se unam da maneira como o árabe deve ser.
  2. Bidi simplificado — o texto é reordenado da direita para a esquerda, enquanto quaisquer sequências de caracteres latinos e números dentro dele são mantidas da esquerda para a direita para que permaneçam legíveis.

A saída de ambas as etapas é gravada no Lua exportado. A GUI dentro do jogo então mostra árabe correto, conectado e ordenado corretamente, sem nenhum código de modelagem em tempo de execução do seu lado.

Onde o árabe é tratado

A remodelagem e o bidi se aplicam a qualquer texto que você digite em um elemento — não existe um "modo árabe" especial para ativar. Todo controle que contém texto é coberto:

Elemento / campoSuporte a árabe
Rótulos de textoRemodelado e reordenado na exportação
BotõesRemodelado e reordenado na exportação
Caixas de ediçãoRemodelado e reordenado na exportação
Caixas de seleçãoRemodelado e reordenado na exportação
Títulos de grupoRemodelado e reordenado na exportação
Rótulos de progressoRemodelado e reordenado na exportação
Itens de lista suspensaRemodelado e reordenado na exportação

Mistura de latim e números

Você não precisa isolar palavras em latim ou dígitos do seu árabe. Quando o Easelt aplica o bidi, ele mantém as sequências de caracteres latinos e números da esquerda para a direita dentro de uma string que, de resto, é da direita para a esquerda, de modo que rótulos como uma legenda em árabe com um nome em inglês incorporado ou um valor numérico sejam lidos corretamente dentro do jogo.

💡

Basta digitar strings mistas naturalmente — árabe com uma palavra em inglês ou um número no meio sai com cada sequência fluindo na direção correta.

Ligaduras lam-alef

A ligadura lam-alef — a forma combinada de لا que o árabe exige em vez de duas letras separadas — é tratada automaticamente durante a remodelagem. Você não precisa digitar nenhum caractere especial ou ligadura; o Easelt produz a forma combinada correta para você.

Alterações de texto em tempo de execução com o Blueprint

O texto estático não é a única coisa que é remodelada. A ação Set Text do Blueprint também oferece suporte a árabe: quando a sua GUI altera o texto de um elemento em tempo de execução por meio do Set Text, esse novo texto também é remodelado, de modo que as atualizações dinâmicas permanecem tão corretas quanto o texto que você projetou.

ℹ️

Tanto o texto em tempo de design quanto as alterações de Set Text em tempo de execução passam pela mesma remodelagem e bidi, de modo que a sua GUI permanece consistente, quer o texto seja fixo, quer seja atualizado ao vivo.

Como usar

Não há configuração nem fluxo de trabalho para aprender. Todo o recurso se resume a uma única prática:

  1. Digite árabe normalmente
    Insira o seu árabe em qualquer campo de texto — rótulo, botão, caixa de edição, caixa de seleção, título de grupo, rótulo de progresso ou item de lista suspensa — exatamente como você o escreveria em qualquer lugar.
  2. Verifique a pré-visualização
    O editor mostra árabe correto, conectado e da direita para a esquerda imediatamente, porque o navegador o modela para você.
  3. Exporte
    O Easelt remodela para formas de apresentação e aplica bidi simplificado, gravando o resultado no Lua para que a GUI dentro do jogo corresponda.
💡

A única coisa a lembrar: basta digitar árabe normalmente. O Easelt cuida da modelagem e da direção para você.


Estes próprios documentos também estão disponíveis em árabe — para que você possa ler esta página no mesmo idioma que as suas GUIs falam.

Got feedback or an idea?Share it →