私はUbuntuプラットフォームでウルドゥー語に基づいたプロジェクトに取り組んでいます。私はPython言語を使用しており、ほぼ私の仕事を達成しました。
問題は、ウルドゥー語のテキストが逆の順序でレンダリングされることです。
たとえば、次の3つの文字で構成される単語کام
(つまり、仕事を意味する)を考えてみます。ک
、ا
、およびم
出力は、3つの文字からなるماک
として逆順にレンダリングされます:م
、ا
、およびک
このテキストをOpen Officeにコピーするか、生成されたXMLファイルをFirefoxで開くと、生成された結果が絶対に望まれます。
私はPython 2.6 IDLEを使用しています。これはWindowsプラットフォームで完璧に機能し、IDLEの問題ではないことを明確に示しています。TKINTERGUIライブラリで作業しています。
この問題はどのように解決できますか?
Tkinterは、Tkウィジェットセットのラッパーです。 http://wiki.tcl.tk/3158 によると、Tkは双方向のテキストレンダリングをサポートしていないため、ウルドゥー語の文字が左から右に表示される理由がわかります。
Tkに特定のアタッチメントがない限り、GTKやQtなどのより近代的なグラフィックツールキットを使用することをお勧めします。 Tkを使用する必要がある場合は、手作業で文字をプレゼンテーションの順序に並べ替える必要があるでしょう。
簡単な解決策として、文字列を逆にして表示します。 Pythonのローカリゼーションオプションも確認してください。 Pythonが右から左への言語をサポートするかどうかはわかりません。 StackOverflow で質問すると、この質問に対するより良い回答が得られます。