Stream: Archive Mirror: Isabelle Users Mailing List

Topic: [isabelle] Isabelle2016-RC0: HiDPI + Linux


view this post on Zulip Email Gateway (Aug 22 2022 at 12:31):

From: Corey Richardson <corey@octayn.net>
Isabelle/jEdit with this release still doesn't work very well with "HiDPI"
screens on Linux. For example, I've attached a screenshot of Isabelle/jEdit in
front of a terminal. My screen is 3200x1800. It's quite difficult to use,
although turning up the font size in the editor as I've done helps somewhat.
The larger text in the image I consider comfortable but small, whereas the
smaller text is near unreadable.

I realize this is more of a platform/jdk concern -- I found
https://bugs.openjdk.java.net/browse/JDK-8055212 and
https://bugs.openjdk.java.net/browse/JDK-8137571, which are slated for
inclusion in the JDK9. However, if a workaround were possible in
Isabelle/jEdit, I would appreciate it.
2016-01-12-112127_3200x1800_scrot.png

view this post on Zulip Email Gateway (Aug 22 2022 at 12:31):

From: Makarius <makarius@sketis.net>
For information, here is a related thread on the jedit-devel mailing list
on "Global font scaling?"
http://sourceforge.net/p/jedit/mailman/message/34376635/

Makarius

view this post on Zulip Email Gateway (Aug 22 2022 at 12:31):

From: Makarius <makarius@sketis.net>
That is an interesting article about ongoing work on Java 9. I estimate
that Oracle will require 1-2 more years to make Java 9 practically
available for everyone. For Isabelle2016 we are shipping Java 8 for the
first time, and I am still hoping for further consolidation next week.

As I am using a 3840x2160 display myself since Dec-2014, I've spent a lot
of time during last year to make jEdit 5.3.0 work properly with that.
This is used for Isabelle2016-RC0, and its NEWS file advertizes improved
4K display support explicitly.

These changes are mainly relevant for Windows 7, 8.1, 10, due to the way
the system DPI configuration is applied to its native GUI in AWT/Swing.

For Linux, the approach to GUI scaling works the same for Isabelle2015 and
Isabelle2016, as described in the Isabelle/jEdit manual section "2.1.2
Displays with very high resolution". The manual is not yet updated in
Isabelle2016-RC0, so the text and the screenshot is still that of
Isabelle2015. Your screenshot shows Linux with Metal look&feel, so this
should definitely work as described.

Just yesterday, I've updated the screenshots for the coming release. See
https://bitbucket.org/isabelle_project/isabelle-release/commits/b855771b39798fa3a5b0b88a82eeabc87e184e36#chg-src/Doc/JEdit/document/isabelle-jedit-hdpi.png
as a proof that the rendering quality did not change with the (scalable)
Metal look&feel.

Personally, I am often using GTK look&feel, with GTK's own font and GUI
scaling. But that depends on so many other side-conditions, that I don't
dare to make it the default.

Makarius

view this post on Zulip Email Gateway (Aug 22 2022 at 12:32):

From: Makarius <makarius@sketis.net>
What is also interesting with the screenshot: you are using the canonical
GUI layout for what would have been called "3-buffer model" in Proof
General 3 or 4. I.e. there is the main text area with separate dockable
windows for Output and State.

How did you figure that out? The ANNOUNCE and NEWS files mention that,
but the Isabelle/jEdit documentation still needs updating. There is also
the standard question how much documentation people actually read.

My hope and my guess is that looking closely at the default startup GUI of
Isabelle/jEdit should make it clear to experienced users how to arrange
these windows in a way they see fit.

Makarius

view this post on Zulip Email Gateway (Aug 22 2022 at 12:32):

From: Corey Richardson <corey@octayn.net>
On Wed, Jan 13, 2016 at 03:35:46PM +0100, Makarius wrote:

How did you figure that out? The ANNOUNCE and NEWS files mention that, but
the Isabelle/jEdit documentation still needs updating. There is also the
standard question how much documentation people actually read.

I am embarrassed to admit I have not read that much documentation yet for this
release, and only slightly more for Isabelle2015.

My hope and my guess is that looking closely at the default startup GUI of
Isabelle/jEdit should make it clear to experienced users how to arrange
these windows in a way they see fit.

I did find it easy to click around until I got what I thought was closer to
the layout I use with Isabelle2015 on my desktop (with a more traditional
display), though I had not yet achieved it.

In general my experience with Isabelle/jEdit has been very positive. The only
issue I have had with it previously is trying to use a custom font but still
have symbols from IsabelleText. I found a previous thread about this feature:

https://lists.cam.ac.uk/mailman/htdig/cl-isabelle-users/2015-September/msg00009.html

and decided to just use IsabelleText, as it is acceptable.
signature.asc

view this post on Zulip Email Gateway (Aug 22 2022 at 12:32):

From: Corey Richardson <corey@octayn.net>
On Wed, Jan 13, 2016 at 02:53:00PM +0100, Makarius wrote:

For Linux, the approach to GUI scaling works the same for Isabelle2015 and
Isabelle2016, as described in the Isabelle/jEdit manual section "2.1.2
Displays with very high resolution". The manual is not yet updated in
Isabelle2016-RC0, so the text and the screenshot is still that of
Isabelle2015. Your screenshot shows Linux with Metal look&feel, so this
should definitely work as described.

Thank you for the pointers. Tweaking the font sizes in use helps tremendously,
although some "widgets" such as checkboxes and scrollbars are somewhat small,
as are most icons.

Personally, I am often using GTK look&feel, with GTK's own font and GUI
scaling. But that depends on so many other side-conditions, that I don't
dare to make it the default.

I will experiment with that to see if I can make it work, as I imagine that
has a better result.
signature.asc

view this post on Zulip Email Gateway (Aug 22 2022 at 12:32):

From: Makarius <makarius@sketis.net>
Since then I have applied most of the patches by Rafal Kolanski that are
in my immediate area of responsibility. The main changes for jEdit font
management are still missing, though. And I have lost track of the
precise status of this affair.

My conclusion so far: instead of a partial solution with jEdit font
replacement (which excludes other GUI elements), it is better to operate
on the TrueType fonts directly, using the Python API of fontforge. See
also https://fontforge.github.io/python.html

For someone who is proficient in Python, it should be easy to make a
script that draws the mathematical symbols from IsabelleText, and
everything else from some standard fonts (the default is "DejaVu Sans
Mono").

This would also open possibilities for Isabelle fonts with proportional
letters, italic versions etc.

Note that the math symbols in IsabelleTextBold are merely produced
algorithmically from the ones of IsabelleText, using some standard
operation of fontforge to "Change Weight".

Makarius


Last updated: Mar 29 2024 at 04:18 UTC