不具合の原因は、java.awt.TextLayout クラスの getBounds メソッドに ありました。このメソッドは、本来は文字列描画要素を内部に包含するような 矩形を返すメソッドで、Windows 環境では確かにそのような矩形を返して いるのですが、Linux 環境ではその矩形の位置が文字列の描画位置から 大きく外れていました。 文字列描画要素のクラス SGDrawingElementString2D ではこのメソッドを 用いて文字列の描画位置を決定していますので、上記の事情により、文字列が 誤った位置に描画されていました。 調査の結果、同じく TextLayout クラスの getOutline メソッドが文字列の 輪郭の Shape オブジェクトを正しく返していることが分かりましたので、この Shape オブジェクトの getBound2D メソッドで取得した矩形を用いることで、文字列を 正しい位置に描画することが出来ました。 修正したソースコードはCVSにコミット済みです。
バージョン 2.0.0 のリリースに伴い close します。
Linux上でSamurai Graphによってグラフを描画すると、目盛り数字やラベルの位置がずれて表示されてしまう。 尚、Samurai Graphのバージョン1.0.3では正しい位置に表示されており、バージョン1.0.4以降でこの現象が発生している。 現象を確認したJREのバージョンは1.7.0である。