---- Reported by kbr 2007-10-29 14:47:49 ----
Patrick Murris from the NASA World Wind Java project has pointed out that for
high-quality rendering of text it is necessary to use floating-point precision
rather than integer precision. The Rectangle2D from getBounds() needs to not be
rounded to an integer size, and draw() needs an overloading taking a
floating-point x and y.
---- Additional Comments From kbr 2007-11-08 18:46:15 ----
More details from Patrick on related usage, which may inform changes to the
Javadoc of the getBounds() method:
"The trick to get the most accurate advance measurements is:
1. avoid cumulating text chunks bounds width. They get rounded to int and errors
sum up. Reevaluate all previous chunks in one getBounds() to eliminate
2. use the getBounds() rectangle x and y properties to compute advance for one
chunk. Advance on x is bounds.getWidth() plus bounds.getX(). This way, leading
spaces are almost correctly accounted for.
This gives very acceptable results for word by word processing.
However, the one limitating thing i see here is the rounding to int of all draw
and getBounds coordinates. Allowing floats or doubles would ease the above point
--- Bug imported by firstname.lastname@example.org 2010-03-24 07:51 EDT ---
This bug was previously known as _bug_ 331 at https://jogl.dev.java.net/bugs/show_bug.cgi?id=331