On 4/23/20 9:34 am, Philip Race wrote:
No, I don't see the relationship.
charWidth() is accurate if you use the FontMetrics from the render context.
If it is always accurate why it is not recommended in the new documentation? Why we
suggest to "render each such character".
299 * None of these are exposed and they are all implementation details,
300 * and there is no practical way to determine this. An application
301 * which needs a better estimate of the maximum advance, and knows
302 * the subset of characters it expects to display could render
303 * each such character to find the widest, but as discussed above,
304 * since the displayed width of a {@code String} is not necessarily
305 * the sum of the advances the value needs to be used with caution.
-phil.
On 4/23/20, 9:19 AM, Sergey Bylokhov wrote:
Hi, Phil.
Isn't all/some of the new text in getMaxAdvance() is also applicable to
charWidth()?
If I read the current doc properly then it looks like the charWidth() should return
"advance"
of some specific "advance", and getMaxAdvance() is "just" maximum value of any
possible
results from the charWidth().
On 4/22/20 12:49 pm, Philip Race wrote:
bug : https://bugs.openjdk.java.net/browse/JDK-8230672
webrev : http://cr.openjdk.java.net/~prr/8230672/
Loosen up the spec. a lot to reflect reality.
I considered deprecating the method but there isn't any easy replacement,
so it would just be annoying to old code.
This will clearly need a CSR which I will draft once we agree on the text here.
-phil.
--
Best regards, Sergey.