[OpenJDK 2D-Dev] RFR: 8230672: Spec. for FontMetrics.getMaxAdvance is too prescriptive.
Philip Race
philip.race at oracle.com
Thu Apr 23 17:00:44 UTC 2020
I am not 100% sure what you are getting at, but maybe
"render each such character" could be rephrased as
"query the advance of each such character".
But I would not point to charWidth() for this because
it is not adequate for all code points.
Does that clear it up ?
-phil.
On 4/23/20, 9:49 AM, Sergey Bylokhov wrote:
> 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.
>>>
>>>
>
>
More information about the 2d-dev
mailing list