2011-01-27 5 views
1

私のアプリケーションはwxPythonを使用しており、LinuxおよびWindows上で修正なしで動作します。問題は、フォントの表示です。 Linuxでは完璧に見えますが、Windowsでは " - "記号が完全に壊れていて、テキストはあまり良くありません。ここではいくつかの比較写真は、次のとおりです。 Windows/LinuxでのwxPythonを使用したフォントの違い

Windows

Fedora 13

は、「追加」ブロックでマイナス記号がWindows上で壊れているかを参照してください。これは、標準ハイフンをユニコード文字に変換して、フルサイズのマイナスを得ることによってレンダリングされます。私はこの文字がWindowsで使われているデフォルトのフォントには存在しないと推測しています。他のものもWindows上で貧弱に見えますが、やや許容されます。

私はこのようなルックスを使用しているコード:

 
if (text == '-'): text = u'\u2212' #unicode has a better minus 
s = self.dc.GetTextExtent(text) 
self.dc.DrawText(text, x_position, y_position - int(s[1]/2)) 

あまりにもWindows上でまともなマイナス記号を取得する最も簡単なプラットフォームに依存しない方法は何ですか?これを含むアプリに含めることができる自由にライセンスされたフォントはありますか? wxPythonではどのように使用しますか?

私はシステムにフォントをインストールしたくないので、ハイフン " - "文字はサイズのせいでひどく見えますので使用しません。

答えて

0

今のところ私は受け入れられる答えを見つけました。 wxDemoコードを調べているうちに、どのようにフォントを選択したかをメモし、フォントを指定していないことに気付きました。

 
self.dc.SetFont(wx.Font(14, wx.SWISS, wx.NORMAL, wx.NORMAL)) 

これは、文字サイズがより一貫性だけでなく、u2212を使用して、WindowsとLinuxの両方で許容+/-兆候を提供作る:私はこれを試して与えたデモ・コードは、両方のプラットフォーム上で動作する可能性が非常に高いだった考え出し。ファイルからフォントを読み込むのは、プラットフォームに依存しないかもしれません - このアプリケーションではSTIXフォントのどれかがとても良いと思っていたので、これは悪いことです。だから私は一番上の選択肢でないなら、受け入れ可能なフォントと一貫性がある。

0

フリーフォントのリソースとしてwww.dafont.comを確認してみてください。適切なライセンスを持ったフォントがたくさんあります。

+0

OK、確認しました。マイナス記号のあるものは見ませんでした。それらは新奇フォントのようです。また、フォントが答えの場合、私はより多くの情報を求めていました。 – phkahler

0

dc.DrawLabelを使用すると違いはありますか? Windowsでは、改行を正しく表示しないため、DrawText以上を使用しなければなりませんでした。彼らは、欠けているユニコード文字のように、小さな四角形として現れていました。

関連する問題