[Pkg-fonts-devel] UW ttyp0 - a multiscript monospaced bitmap font family

Bjørn Mork bjorn at mork.no
Wed Jul 13 21:04:11 UTC 2016

Jonas Smedegaard <dr at jones.dk> writes:

> Your recommendation carry more weight if elaborating more.
>   * Which alternatives did you compare against and found inferior?
>   * Which criteria did you focus in in your comparison?

The 3 best candidates were misc-fixed, adobe-courier and terminus.  I
didn't set up any well defined criteria, but fired up a number of xterms
with different fonts and tried out typical operations I do in terminals
(ls -l, git log -p, dmesg).  Then I made a subjective decision based on
"feeling good".

Now I must admit that I don't have the faintest idea about some of the
numbers in the font names, but I try to keep weight and size pretty
similar when comparing.  So looking at for example:

 xterm -xrm 'xterm*font: -adobe-courier-medium-r-normal--18-180-75-75-m-110-iso10646-1'
 xterm -xrm 'xterm*font: -xos4-terminus-medium-r-normal--18-180-72-72-c-100-iso10646-1'
 xterm -xrm 'xterm*font: -misc-fixed-medium-r-normal--18-120-100-100-c-90-iso10646-1'
 xterm -xrm 'xterm*font: -uw-ttyp0-medium-r-normal--18-170-75-75-c-90-iso10646-1'

I found "courier" much to wide.  Maybe I could use it in a smaller size,
but the height/width ratio looks wrong to me.

"terminus" is also a bit wide. It has larger glyphs filling their boxes,
but this doesn't make it more legible.  On the contrary.

The "fixed" glyphs are very low, with lots of space between each line.
This makes the text look like it is squeezed flat.  And the extra space
is only breaking it up for me, making me read line by line instead of
whole paragraphs.  The "fixed" font shows the Japanese name in my
"git log -p" test, and that's a nice bonus.

But I still end up with "ttyp0" as the best one.  It is as compact as
"fixed", but with a much better balance between space and letters.  It
doesn't do the Japanese name, but I can live without that.  I can see it
in emacs :)

> Here's my prioritized list of criteria:
>   * Speed: Rendering of vector-based fonts is too slow for me.
>   * Conservative: No slashed zero for me
>   * Legibility: I like my fonts crisp and relatively large.
>   * Coverage: I have a glyph fetish but only really need latin chars.
> I have so far settled for terminus-18, but am curious to learn more how 
> it compares to alternatives by both objective and subjective measures.

I'm not as structured as you, but trying to come up with a list:
 - Legibility: I want to take a quick glimpse at e.g. a code block in a
     terminal window, and immediately notice the bug in there
 - Legibility: The text "breaks up" for me if there is too much space
     between characters or lines
 - Compact: No need to waste desktop space

That wasn't very long...

I don't care so much about speed.  I don't think I'll ever notice much
difference. I am extremely conservative in the sense that I don't like
to change things that works for me.  But not in the way that I believe
older stuff always is better. The environment is changing. The screens
we have now weren't in our wildest dreams 20 years ago.  That might
require a change or two in fonts as well.  As for coverage: I work
mostly in latin1, but sometimes need to cut and paste some Chinese or
Japanese names (for e.g. tags in kernel changelog entries).  So the
ability to view letters I don't necessarily read or understand is on my
wishlist.  But it is not the highest priority.  Most of the time you get
it right if you cut and paste a few squares instead ;)

>> > What I found that seemed reasonably active maintained and 
>> > comparative (i.e. not slashdot-style) was 
>> > https://github.com/powerline/fonts which doesn't even mention tty0.
>> Yes, there are lots of such good lists.  The problem for me was that 
>> they "only" recommend Xft solutions.  Which is natural since most use 
>> cases are limited to the client and server running on the same host.
> Your ruling out Xft sounds like our needs are related.  I am eager to 
> learn more!

I don't know if I'm able to describe it in words.  It's an extremely
subjective "this looks good to me". terminus is an usable alternative.

I want to fit as much as possible into a relatively small 14" laptop
screen. So terminus-16 would be the size I preferred with a 2560x1440
resolution.  And that is sort of usable.  But I think
-uw-ttyp0-medium-r-*-16-*-iso10646-1 is even better.  It looks less
"messy". I think some of that comes from different digit design, where
terminus digits have more "square" corners.  And the terminus 0 looks
similar to Ø instead of O.  I believe the / only add noise in a small
font.  Details.

In a way, all the terminus glyphs seems to be constructed as "rectangles
with rounded corners.  Look at the V for example.  It's almost U in
terminus, while it is two straight lines in ttyp0. Being a complete
amateur here, but I'd say that emphasizing the natural differences
between glyphs helps a lot if you want to make a font that is easy to
read. I understand that you have to apply some common pattern to make a
font a font, but there is a very fine line between applying the common
pattern and making every glyph look the same...

FWIW:  I am using Inconsolata-12 in emacs, where I don't mind freetype.
I'd use it in terminals too, if I only did local terminals.


More information about the Pkg-fonts-devel mailing list