Ticket #17208

Linuxで文字列が正しい位置に表示されない

Open Date: 2009-06-07 19:33 Last Update: 2010-11-24 10:30

Reporter:
Owner:
Type:
Status:
Closed
Component:
(None)
MileStone:
(None)
Priority:
5 - Medium
Severity:
5 - Medium
Resolution:
Fixed
File:
None

Details

Linux上でSamurai Graphによってグラフを描画すると、目盛り数字やラベルの位置がずれて表示されてしまう。 尚、Samurai Graphのバージョン1.0.3では正しい位置に表示されており、バージョン1.0.4以降でこの現象が発生している。 現象を確認したJREのバージョンは1.7.0である。

Ticket History (3/3 Histories)

2009-06-07 19:33 Updated by: kuromaru
  • New Ticket "Linuxで文字列が正しい位置に表示されない" created
2009-07-08 00:23 Updated by: kuromaru
  • Resolution Update from None to Fixed
Comment

不具合の原因は、java.awt.TextLayout クラスの getBounds メソッドに ありました。このメソッドは、本来は文字列描画要素を内部に包含するような 矩形を返すメソッドで、Windows 環境では確かにそのような矩形を返して いるのですが、Linux 環境ではその矩形の位置が文字列の描画位置から 大きく外れていました。 文字列描画要素のクラス SGDrawingElementString2D ではこのメソッドを 用いて文字列の描画位置を決定していますので、上記の事情により、文字列が 誤った位置に描画されていました。 調査の結果、同じく TextLayout クラスの getOutline メソッドが文字列の 輪郭の Shape オブジェクトを正しく返していることが分かりましたので、この Shape オブジェクトの getBound2D メソッドで取得した矩形を用いることで、文字列を 正しい位置に描画することが出来ました。 修正したソースコードはCVSにコミット済みです。

2010-11-24 10:30 Updated by: kuromaru
  • Status Update from Open to Closed
  • Ticket Close date is changed to 2010-11-24 10:30
Comment

バージョン 2.0.0 のリリースに伴い close します。

Attachment File List

No attachments

Edit

You are not logged in. I you are not logged in, your comment will be treated as an anonymous post. » Login