Thank you Philip!
(Someone else in our team had submitted the bug report before going on vacation 
& I didn't realize that we couldn't search based on the original ID).

Looking at your comment on the bug, you are seeing differences of only a pixel, 
but in our application we are getting very large differences in the size of 
text.
For example here is a "diff" that one of our tests generated for the Calibri 
"text object" in Java 8:

[cid:image002.png@01D4A03D.341AFC60]

The blue text is from a golden reference generated with Java 8 and the red text 
is from the test running in Java 11.
The rectangle is just a rectangle graphic which remains unchanged between Java 
versions.
(I hope that the image in this mail makes it through to the mail list...)

I believe that the calculation of the bounding box for the text is based on the 
result of FontMetrics.getMaxAscent() and other FontMetrics methods, so the 
difference that we see is very significant indeed.
Are you saying that we should not be relying on these font metrics for scaling 
of text in our applications?
Unfortunately I cannot share our application code that results in these large 
differences, but we will work next week on making an example that we can share 
here...

Thanks
--
Jake

From: Philip Race [mailto:philip.r...@oracle.com]
Sent: 29 December 2018 17:56
To: Tredinnick, Jacob <jacob_tredinn...@mentor.com>
Cc: 2d-dev@openjdk.java.net
Subject: Re: [OpenJDK 2D-Dev] FontMetrics differ between OracleJDK 8 and 
OpenJDK 11

You can't find your report since it was mapped into this public report :
https://bugs.openjdk.java.net/browse/JDK-8215290

You should have received an email to that effect.

-phil.

On 12/29/18, 7:50 AM, Tredinnick, Jacob wrote:
Hello,

My team is currently working on migrating some of our (mostly Desktop & 
Swing-based) applications from OracleJDK 8 to OpenJDK 11 and we have discovered 
that some fonts in our application are getting drawn significantly differently 
e.g. significantly larger, differences with spaces between characters.

When debugging, we found that the FontMetrics for the Font obtained as follows:
FontMetrics metrics = Toolkit.getDefaultToolkit().getFontMetrics(font);

Returns significantly different values:
For example a plain, size 12 Calibri font:
In OracleJDK 8 metrics.getMaxAscent() returns 11, while in OracleJDK 11 it 
returns 9.

I understand that the proprietary "T2K" font engine was replaced by "FreeType" 
in OpenJDK but I'm surprised at the very noticeable differences that we now see 
in some of our text objects.
Is it expected that FontMetrics would be so significantly different between 
OracleJDK 8 and OpenJDK 11?

Note: I can share the code that generates the font metrics as well as a file 
describing all the diffs for fonts on my laptop if needed.

Note also:
We did attempt to submit a bug for this behaviour via 
https://bugreport.java.com/bugreport/
But when we search for our bug ID 9058505 there are no results, presumably 
meaning that no-one has accepted this as a bug so far.
I'm not sure if anyone here is able to find out what happened to our report?

Thanks
--
Jake

Reply via email to