ZeroPhone / ZPUI

Official ZeroPhone UI framework, based on pyLCI
http://zpui.rtfd.org/
Apache License 2.0
79 stars 19 forks source link

[Discussion] Font selection #41

Open CRImier opened 6 years ago

CRImier commented 6 years ago

Current fonts might not be the best for ZeroPhone, and ZPUI in general. This issue is the place for storing links to suggested fonts, posting screenshots&photos and discussing ZeroPhone font choices.

Related:

3

CRImier commented 6 years ago

NerdFonts - suggested by @BeauSlim

CRImier commented 6 years ago

Fonts for the framebuffer, suggested by mozzwald on ZeroPhone IRC:

<mozzwald> heres some other tiny fonts: https://github.com/josuah/miniwi
<mozzwald> https://github.com/sunaku/tamzen-font
<mozzwald> http://mozzwald.com/raspi/fonts/5x8iz2s.psf
<mozzwald> http://mozzwald.com/raspi/fonts/thumb4x6.psf
BeauSlim commented 6 years ago

So, I'm still chugging away, learning python while I create my onscreen-keyboard for everyone's favorite 128x64 display. Of course, as I learn, I end up starting over on pieces, so it will be a while yet.

Font choice is hard on these tiny screens because there are compromises.

Proportional fonts let you display more information, and look more natural, but you can't know how wide any piece of text will be without actually rendering it in a specific font. Coding around that makes extra work (rendering to larger-than-screen images and cropping, for example), but I think it's worth it. Others may disagree.

Pixel fonts, the ones with bitmapped glyphs for small sizes, look much better and are more readable and this is particularly true on 1-bit displays. But they only work at the sizes provided, unlike TrueType fonts. Using Truetype fonts, you'll know that you can scale to larger screens and expect things to look similar. And I understand you can add those "Nerd" glyphs to any TrueType font.

The ideal font would have monospace and proportional variants, and be available as Truetype with embedded bitmap "strikes" for the smaller sizes. This is assuming that Pillow uses embedded bitmaps. It seems to but I haven't double checked.

A really tiny font is definitely a special case. miniwi looks great for that. 32 colums x 8 rows!