monolegible

monday, 10 may 2021

i have been living with my mock up of a monospaced Atkinson Hyperlegible font now for some weeks. First, by simply substituting the Iosevka character variants that most closely matched their Hyperlegible counterparts, then a much lengthier concerted effort to tailor their individual shapes as closely as possible – the ascenders and descenders, their heights and roundness.

The end result has been quite satisfying and has exceeded all my expectations and, until an official monospaced font variant is released, if ever, will remain the default font for my development and writing environment for the foreseeable future. It’s that delicious – okay, i am a font nutter.

But it did not remain solely on my Linux desktops for long..

kindle

Monolegible

i had tried previous versions of Iosevka on my Kindle Oasis but found the half cell width of my coding oriented fonts.. well, flatly technical looking and not engaging for immersive reading. What a change this font presents with its extended width!

Tiempos Text and the Atkinson Hyperlegible fonts still remain my all time favourite serif and sans serif fonts on the Kindle. But these past weeks i have found myself continually returning to this monospaced font.

There is no doubt the Atkinson font is the easiest on the eyes. It imparts the sensation that it is making one read faster (whether you intend to or not!), like running down an incline effortlessly. But this monospaced variant has a charm that is very visually pleasing to my eyes – the fixed cell width giving the letters a uniform geometric presentation.

With a monospaced font one would expect to lose significant word density on the page but this is easily rectified with its incredible legibility at even the smallest font sizes, a trait it holds in common with the Atkinson font. Of course, if you prefer your reading material fully justified, then proportional fonts are the way to go.

But if you have a fondness for typewriters and old manuscripts – i am dating myself here – and left justification, or simply are drawn to fonts that breathe on a page with a subtle airiness around the characters and words, then this may be right up your alley. And with the right line spacing and margins, it feels very much like reading the “draft” of a novel – part of the allure, no doubt, that keeps me returning to it.

font weight

after some time with “Monolegible” on the Kindle, i decided i preferred the “book” weight of the font. It was possible to more closely match the contrast level of the Atkinson Hyperlegible font, the original “regular” font being either a shade lighter or darker on my Oasis – yes, i am that anal, but it also just felt a touch better which should be no surprise from its heritage. Unfortunately there is no means to customize the boldness increments as there is the font sizes to get a match.

Copying over the “book” weights of the font are easy enough, however, their font names effectively disable the “bold” fonts – their being associated with the “regular” and “italic” font names. Enter ttx to convert fonts to XML and back..

fonts='*-book *-bookitalic *-bold *-bolditalic' for i in $fonts ;do file=$i.ttf ttx $file done sed -i -e 's/iosevka Book Version/iosevka Regular Version/' \ -e 's/iosevka[ -]Book/iosevka/' \ -e 's/Book/Regular/' \ *-book.ttx sed -i -e 's/iosevka Book Italic Version/iosevka Italic Version/' \ -e 's/iosevka[ -]Book/iosevka/' \ -e 's/Book Italic/Italic/' \ *-bookitalic.ttx for i in $fonts ;do file=$i.ttx ttx $file done

and rename the “book” fonts as “regular” and “italic” to inherit the “bold” font references.

character tweaks

the capital M of the book weight appears heavier (to my eyes at least) than the remaining character set – this is purely an optical illusion particular to the flat-bottom M and its narrow spacing between the vertical and angled strokes, despite having the same stroke width as the other characters.

Replacing the book weighted character with its “regular” weighted version – and its ever so slightly thinner stroke width – gives its strokes more breathing room to create the balanced contrast (illusion) on the e-ink page..

echo " Open(\$2); Select(0u004d); Copy(); Open(\$1); Select(0u004d); Paste(); Generate(\$1); " >/tmp/fontforge.script for i in *book*#1.ttf ;do ditto M $i case $i in *italic*) file=*-italic.ttf ;; * ) file=*regular.ttf ;; esac fontforge --script /tmp/fontforge.script $i $file done

Did i mention anal somewhere?

The final adjustment replaces the standard Em dash which closely resembles the Dash due to the fixed width constraint of the monospaced font with the broken or (single character faux) 2 Em dash..

echo " Open(\$1); Select(0u268b); Copy(); Select(0u2014); Paste(); Generate(\$1); " >/tmp/fontforge.script for i in *#1.ttf ;do ditto emdash $i fontforge --script /tmp/fontforge.script $i done

And voila! A font i find myself reading with more and more.

During the hunt for a matching lower case tailed q to match the Atkinson Hyperlegible font, the author of Iosevka stated that “Iosevka is NOT a typeface targeting dyslexia, low-vision legibility, or anti-tampering”. Despite that claim and Iosevka’s focus as perhaps the most powerful coding font platform there is, i think Iosevka manages to address those issues as well as any monospaced font can with the character variants it provides..

Producing IMO a most beautiful monospaced font for both coding, writing and.. reading.

files

font and FONT_RAMP
font tweaks

»»  split chords

comment ?