[OpenJDK 2D-Dev] RFR: 8221305: java/awt/FontMetrics/MaxAdvanceIsMax.java fails on MacOS + Solaris
Philip Race
philip.race at oracle.com
Wed Apr 29 22:58:50 UTC 2020
the advance of 'm' is a commonly used proxy for the design width of a
latin font.
But I agree it is also not really a great estimate once you consider any
international text.
Anyway I am not sure where you are headed with that and the
discussion of charWidth() or charWidths().
I am not trying to "fix the world" here, I am just removing a test
that it is pointless to maintain.
-phil.
On 4/29/20, 2:54 PM, Sergey Bylokhov wrote:
> On 4/29/20 2:33 pm, Philip Race wrote:
>> Now that is another topic and unrelated to max advance
>> I think a spec update and CSR would be required for getWidths()
>> and I'd still say this test is not worth it.
>
> Probably yes, because it is currently states that "Gets the advance
> widths of the first 256 characters " and it is bizarre that the
> getMaxAdvance() may return smaller size even for the simple char's.
>
> Currently ina few places we have code like this:
> columnWidth = metrics.charWidth('m');
>
> Which is far than optimal, and getMaxAdvance() should fit better than
> the size of the "m"(or 'w'), but seems this method and its current
> implementation is completely useless.
>
>>
>> -phil
>>
>> On 4/29/20, 2:21 PM, Sergey Bylokhov wrote:
>>> On 4/28/20 4:28 pm, Philip Race wrote:
>>>>>> And max advance is NOT only about the advance of the first 256
>>>>>> characters anyway
>>>>> Yes but it makes it a little bit more useful, it least it will
>>>>> always return correct max
>>>>> advance for the first characters.
>>>>
>>>> Actually I'll argue it can be the opposite.
>>>> Doing this you ask it to go check in fallback fonts and in the
>>>> failure I
>>>> analysed on macos we got a fallback from a CJK font for an
>>>> unprintable character.
>>>> Now whilst that may make it "more likely" if we include that in the
>>>> maxadvance
>>>> and care only about chars 0-255 it will pass, you've now got a very
>>>> different max
>>>> advance returned than is the design centre for the primary font and
>>>> REAL uses
>>>> of chars 0-255 which would never try to display char 132 etc.
>>>
>>> Then probably we could skip any unprintable characters?
>>>
>
>
More information about the 2d-dev
mailing list