У меня есть некоторый код (к сожалению, не написанный мной, иначе я бы знал, с чего начать поиск решений), который рисует некоторые линейные графики. Когда я запускаю код на своей машине с Windows и на машине с Linux, я получаю разные результаты: на машине с Linux граница вокруг легенды рисуется с меньшей высотой, что приводит к некоторым ужасным проблемам, когда в легенда.
Есть ли известная разница при использовании
int getHeight(Graphics2D g, String text) {
Rectangle2D bounds = g.getFont().getStringBounds(text, g.getFontMetrics().getFontRenderContext());
return bounds.getHeight();
}
или где может быть проблема?
Windows
C:\>java -version
java version "1.6.0_26"
Java(TM) SE Runtime Environment (build 1.6.0_26-b03)
Java HotSpot(TM) 64-Bit Server VM (build 20.1-b02, mixed mode)
Linux:
$ java -version
java version "1.6.0_20"
OpenJDK Runtime Environment (IcedTea6 1.9.10) (6b20-1.9.10-0ubuntu1~10.04.3)
OpenJDK 64-Bit Server VM (build 19.0-b09, mixed mode)
UPDATE:
Это была ошибка округления, которая, по-видимому, возникала только со шрифтами Linux, а не с Windows. Странно.