2017-11-12 13 views
3

私はPython GUIアプリケーションで、ヘブライ語でテキストを表示するtkinterを使用しています。 Windowsではヘブライ(tkinter付き) - BiDi

(10、のpython 3.6、8.6のTkinter)ヘブライ語の文字列が細かい表示されます。

Linux(Ubuntu 14、python 3.4および3.6、tkinter 8.6)ヘブライ文字列が正しく表示されない - BiDi認識なし - 何か不足していますか?

pybidiがインストールされており、bidi.algorithm.get_display(hebrew_string)経由で - 文字列が正しく表示されます。
しかし、Windowsではget_display(hebrew_string)が正しく表示されません。

はのBiDiのpython-Tkinterの-Linuxではサポートされませんか?
各文字列をget_display(string)にする必要がありますか?
私はonly_on_linux(...)機能をget_display(string)をラップする必要がありますか?

+0

Unicode文字を使用している場合は正常に動作するはずです。あなたが 'unicode = hebrew_string.encode(" UTF-32 ")'を使用し、 'unicode'を表示しても動作するかどうかを確認してください。 – SolarFactories

+0

私は何が出力になるはずです。 –

+0

私は文字列 'שלום'を表示しました:Windowsでは正しく表示され、Linuxの 'וווש'に表示されます。 print()を使用して、私はガベージを取得します:b '\ xff \ xfe \ x00 \ x00 \ xe9 \ x05 \ x00 \ x00 \ xdc \ x05 \ x00 \ x00 \ xd5 \ x05 \ x00 \ x00 \ xdd \ x05 \ x00 \ x00 ' –

答えて

1

私は少しを検索し、TK/Tclはおよそ2011以降のWindowsの双方向サポートを使用していますが、Linux上で同等のものは何も明らかに自分ではないことは周知の問題です。例:https://wiki.tcl.tk/3158。 * nixには、Python/Tkinter: Using Tkinter for RTL (right-to-left) languages like Arabic/Hebrew?に対する1つの解決策があります。私は最新のtcl/tkを使ってMacのサポートについてはわかりません。あなたがWindows上でエコーし、あなたのUbuntu上で反転機能が必要になりますクロスプラットフォームの仕事のために

関連する問題