On 4/28/19, 8:25 AM, Peter Harvey wrote:
Apologies if this is not the correct channel for this email.

It is, but if you want to send any more emails to this list, you will need to subscribe.

From what I can tell, Freetype 2.7 contained a change in hint processing that led to poorer quality font rendering on Windows. Any OpenJDK distribution using Freetype 2.7 or higher (ie. most distributions) will have poorer quality font rendering on Windows. I may have found a solution to this issue but I am unable to add comments to the relevant bugs:

https://bugs.openjdk.java.net/browse/JDK-8217731
https://bugs.openjdk.java.net/browse/JDK-8208377
https://bugs.openjdk.java.net/browse/JDK-8214538

As a temporary workaround, users of OpenJDK distributions can force pre-2.7 font rendering by simply setting an environment variable:

   FREETYPE_PROPERTIES=truetype:interpreter-version=35

I've tested this workaround on OpenJDK distributions from Amazon, Oracle, and AdoptOpenJDK.

Do you mean you specifically tested out exactly the issues & scenarios
listed in the above bug reports and found them all 100% reverted & cured ?
If not, please detail what exactly you see in each case when applying the property vs previous JDKs. What version of Windows did you test, and did you test anything other than Windows ?



Note that AdoptOpenJDK's distribution for Java 8 didn't require the workaround because it appears to be using Freetype 2.5.3. A quick Google for "truetype:interpreter-version=35" shows plenty of people in other open-source communities (eg. Wine, Fedora) which encourage this workaround for other software.

A more permanent solution would be to change the default build process for OpenJDK to set "truetype:interpreter-version=35" as the default when compiling Freetype.

I have read freetype notes on this and it isn't clear whether we want to go against what it does by default. And in any case, Oracle JDK switched from T2K to freetype in 11 so there can be differences due to that too.

It may be that Windows is the only platform on which this reversion is a good idea. And in any case, on Linux + Solaris (not sure about other Unix-like distros) OpenJDK currently uses the system freetype so a JDK build change for freetype wouldn't help.


Please let me know if I can assist in any way.


The above requested information ..

-phil.

Regards,
Peter.

--
*Actenum Corporation*
Peter Harvey | Cell: 780.729.8192 | har...@actenum.com <mailto:har...@actenum.com> | www.actenum.com <http://www.actenum.com>

Reply via email to