Processamento reverso de fontes Urdu

7

Estou trabalhando em um projeto baseado na linguagem Urdu na plataforma Ubuntu. Estou usando a linguagem Python e quase consegui minha tarefa.

O problema é que o texto em urdu é renderizado em ordem inversa.

Por exemplo, considere a palavra کام ( que significa trabalho ) composto pelas três letras: ک ,% ا e م

A saída é renderizada na ordem inversa como ماک composto pelas três letras: م ,% ا e ک

Ao copiar este texto para o Open Office ou abrir o arquivo XML gerado no Firefox, o resultado gerado é absolutamente desejado.

Estou usando o Python 2.6 IDLE, funcionando perfeitamente com a plataforma Windows, o que mostra claramente que não é o problema do IDLE. Estou trabalhando na biblioteca TKINTER GUI.

Como esse problema pode ser resolvido?

    
por Syed Muhammad Umair 11.01.2011 / 14:13

2 respostas

5

Tkinter é um wrapper em torno do conjunto de widgets Tk. De acordo com o link , o Tk não oferece suporte à renderização de texto bidirecional, o que explicaria por que os caracteres Urdu foram exibidos da esquerda para a direita.

A menos que você tenha um anexo específico ao Tk, sugiro usar um kit de ferramentas de gráficos mais moderno, como o GTK ou o Qt. Se você precisar usar o Tk, provavelmente estará preso precisando reordenar manualmente os caracteres para a ordem de apresentação.

    
por James Henstridge 23.03.2011 / 09:06
1

Como uma solução simples, tente inverter a string e exibi-la. Veja também as opções de localização no Python. Eu não sei se o Python suporta idiomas da direita para a esquerda. Você obteria uma resposta melhor para essa pergunta se você perguntar no StackOverflow

    
por binW 11.01.2011 / 15:07