[isabelle-dev] NEWS: Isabelle DejaVu fonts

Makarius makarius at sketis.net
Sat Nov 24 19:51:32 CET 2018

*** General ***

* The font family "Isabelle DejaVu" is systematically derived from the
existing "DejaVu" collection, with variants "Sans Mono", "Sans", "Serif"
and styles "Normal", "Bold", "Italic/Oblique", "Bold-Italic/Oblique".
The DejaVu base fonts are retricted to well-defined Unicode ranges and
augmented by special Isabelle symbols, taken from the former
"IsabelleText" font (which is no longer provided separately). The line
metrics and overall rendering quality is closer to original DejaVu.
INCOMPATIBILITY with display configuration expecting the old
"IsabelleText" font: use e.g. "Isabelle DejaVu Sans Mono" instead.

* The Isabelle fonts render "¯" properly as superscript "-1".

*** Isabelle/jEdit Prover IDE ***

* Fonts for the text area, gutter, GUI elements etc. use the "Isabelle
DejaVu" collection by default, which provides uniform rendering quality
with the usual Isabelle symbols. For Java/Swing GUI elements this
requires the Metal look-and-feel: it is the default on Linux, but not
macOS nor Windows. Line spacing no longer needs to be adjusted:
properties for the old IsabelleText font had "Global Options / Text Area
/ Extra vertical line spacing (in pixels): -2", now it defaults to 0.

* Improved sub-pixel font rendering (especially on Linux), thanks to
OpenJDK 11.

This refers to Isabelle/395c4fb15ea2 and Isabelle/6aa24ccd8049.

The idea to construct Isabelle fonts systematically with the fontforge
scripting language has been in the pipeline for a long time. It has now
been flushed due to the change of font-rendering in the OpenJDK 11
version that we are using: now we have proper bold-italic fonts as well,
which is relevant to render control symbols like \<^term>.

I have taken the opportunity to brush-up the whole font setup, such that
we are again a little better of than before, according to the strict
monotonicity principle of Isabelle development.

Users hooked on isabelle-dev versions might have to revisit their
Isabelle/jEdit properties, to ensure that no "IsabelleText" font
specifications are left. Already existing user properties take
precedence over defaults provided by Isabelle/jEdit: see
$ISABELLE_HOME_USER/jedit/properties vs.
$ISABELLE_HOME/src/Tools/jEdit/src/jEdit.props and recall that the
"properties" file cannot be changed while Isabelle/jEdit is running (it
will be overwritten on application shutdown).


More information about the isabelle-dev mailing list