This is Windows ? What is your Windows desktop DPI setting ?
If its greater than 100% (aka 96 dpi) you will see a difference in JDK 9+
because of hidpi .. have you tried running on Oracle JDK 9 or JDK 10 ?
If you see similar there then you can rule out t2k->freetype.
-phil.
On 12/30/18, 4:43 AM, Tredinnick, Jacob wrote:
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:
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