Stream: Archive Mirror: Isabelle Users Mailing List

Topic: [isabelle] Isabelle2020-RC2: antialising vs. font renderi...


view this post on Zulip Email Gateway (Aug 23 2022 at 08:43):

From: Makarius <makarius@sketis.net>
I have made some further experiments, with some midrange hardware where I
could see it myself:

* The same effect is already present in Isabelle2019, which has used Java 11
for the first time.

* There is no change with latest Java 14 (non-LTS), and Isabelle2020 will
remain on stable Java 11 (LTS) anyway.

On my high-end hardware at home, I don't see a difference either way. I think
it is also irrelevant on Windows and macOS.

So for simplicity and uniformity, the following change enables subpixel
antialiasing by default:
https://isabelle.sketis.net/repos/isabelle-release/rev/f36886cc32fa

I will publish the next release candidate within > 3 days, for further
testing. Afterwards we still have approx. 3 weeks before the final and
unchangeable Isabelle2020 release is published.

Makarius

view this post on Zulip Email Gateway (Aug 23 2022 at 08:43):

From: "lammich@in.tum.de" <lammich@in.tum.de>
Strange. Somehow I can't believe that font rendering and smooth scrolling is
something that requires high end hardware? It's the very basic functionality
of a PC.

Peter

view this post on Zulip Email Gateway (Aug 23 2022 at 08:43):

From: Makarius <makarius@sketis.net>
Behind that are decades of complexity piled up in the Java platform. My guess
is that OpenJDK/Freetype rendering works quite differently for the historic
anti-alias parameters of Java/Swing.

Related to that is the open task "Font rendering quality in OpenJDK 11 vs. 13"
https://isabelle-dev.sketis.net/T10 --- not for the Isabelle2020. If someone
figures out how to tell OpenJDK 13 or 14 how to apply the DejaVu parameters to
Isabelle DejaVu, it will improve the overall situation.

Makarius

view this post on Zulip Email Gateway (Aug 23 2022 at 08:43):

From: Manuel Eberl <eberlm@in.tum.de>
Not sure if I mentioned this before, but someone once told me that for
him (mid-range hardware), Isabelle/jEdit on Linux is almost unusable
without the following being added to etc/settings:

ISABELLE_JAVA_SYSTEM_OPTIONS="-server -Dfile.encoding=UTF-8
-Disabelle.threads=0 -Dsun.java2d.opengl=true"

The last bit might be relevant here perhaps?

Cheers,

Manuel

view this post on Zulip Email Gateway (Aug 23 2022 at 08:44):

From: Makarius <makarius@sketis.net>
I have never heard of this property. There is some more explanation on the
overall setup here:
https://docs.oracle.com/javase/10/troubleshoot/java-2d-pipeline-rendering-and-properties.htm#JSTGD431

This requires further careful study.

Makarius

view this post on Zulip Email Gateway (Aug 23 2022 at 08:44):

From: Makarius <makarius@sketis.net>
I have studied the explanations by Oracle (actually by Sun many years ago).
This illustrates the point about piles of complexity: most of that should be
obsolete today, but Java technology is slow to throw out old stuff.

My conclusion is now in NEWS here
https://isabelle.sketis.net/repos/isabelle-release/rev/aff37005fd79

* Isabelle/jEdit Prover IDE *

This can be made persistent via JEDIT_JAVA_OPTIONS in
$ISABELLE_HOME_USER/etc/settings. For the "Isabelle2020" desktop
application there is a corresponding options file in the same directory.

Makarius


Last updated: Apr 26 2024 at 08:19 UTC