This is fun. As I’m working on my little hobby project that is custom air quality meters I am using 128x64 screens that are about an inch on the diagonal. I ended up having to create a custom pixel font that would work for both 6pt and 8pt height plus some icons in each. It’s been a really fun experience and rewarding too.
Exactly. They were trying to better differentiate from H but it just makes it more confusing. I saw a similar font with middle pixel gone from M wuth no problem telling it apart from H.
That's a good looking for for how narrow it is. Too small for my old eyes to make out clearly enough for regular use, but if your vision is sharp I can see the beauty of it.
There are a fair amount of what you'll see described as 5px wide fonts, but are actually 4px wide. Just that every character has a blank column on the far right so that you can simplistically put chars one after the other.
So you sometimes have to actually look at, for example, the H or W glyph to see if they really mean "5px wide" or not.
Sorry, I actually meant 5px without the space, because the HN title here says 4px despite it actually being 5px if you include the space. The font I use is actually 6px wide (the 6x9 version).
Yes, as well as for the window titles and panel bars for system status and other things. The resolution I'm mostly using right now is 1366x768.
When I decided on that font I was using a netbook though, so the screen was quite smaller. The 5px font[1] allowed me to have terminals side-by-side on a tiling WM and still get 75 columns. Without it, I probably would have had to stick to seeing just one window at a time.
I've since stopped using a netbook, but I still like maxing out my screen/terminal real-state with it. Right now on the resolution I said it's letting me have 3 terminals of 75 columns side-by-side. Although, I normally just stick to 2 terminals of 113 columns for those times when lines go over 80.
Anyway, I find the font so crisp and readable that I've never felt a desire to change it. I'm getting a bit tempted by the font of this post, though.
[1] It's actually one of the 6px-wide ones, the 6x9 version, but that includes the space to separate characters. I said 5px to compare with the HN title which says 4px despite that not including the spacing.
Surprisingly readable! It seems quite usable if I move the screen a bit closer (at the wrist of my extended arm), but it gives me eyestrain at my preferred distance (at the tip of the fingers). Maybe I need better glasses... or better eyes. :/
Nitpick though -- by standard convention for terminal fonts shouldn't it be called a 5px wide font? (4px for the letterform, 1px in between.) Since they're sized according to the pixels available for each character.
I was really wondering how on earth letters would be clear with just 3px left for the letterform... :S
The $ is 5 pixel points, so I think this is a case of "px" being more of a term of art rather than actually being 4 pixels wide per letter. I think. Would appreciate clarification.
Honestly, this sucks and it renders the font useless for a lot of purposes. I wanted to use it in an embedded system, but that seems out of the question now.
It's just not mathematically possible to draw a proper "$" 4 pixels wide, since you need at least 2 pixels one each side of the vertical line to draw the enclosed areas.
Some of these can look like $ if they're really tiny, but generally you'll need a while to figure out what's they're supposed to mean if you don't know what you're looking for.
…and now I realized that even the ubiquitous IBM VGA 8x16 font does this! Single-pixel-wide counters would just look really bad, and even more bad on CRT monitors.
It's definitely niche, and I seem to recall some really interesting fonts that did interesting things that encouraged some really wacky and neat projects, but I can't recall names...
If anyone's looking for a bitmap/pixel font that covers many symbols, including all necessary powerline symbols and a large portion of the various nerd font symbols, I can't recommend Cozette[0] enough. Recently the author has began updating and releasing new versions after a hiatus. Also, if you use the otf version of the font instead of the bitmap/otb version you can still get it to look like a pixel perfect bitmap font by setting the font to a specific size in the application, usually size 9 or 9.5 depending on the app or terminal.
This is great! Unfortunately, it hasn't been updated since 2016 and isn't suitable for applications outside Terminal.app. But apparently someone else took up the mantle and rebuilt it to solve those issues and published it as creep2:
> I love romeovs's creep font, but I think you could only use it well in Apple's Terminal.app because it has negative line and character width spacing, which the font requires to be spaced correctly. The root cause of this appears to be because some glyphs are bigger than the 5px by 11px bounding box, causing most terminals to think a much bigger box is necessary for the general ASCII glyphs.
> In order to fix this issue, I manually hand painted all the glyphs from the 'creep' font in fontforge.
Awesome! I just wish creep2 added some of those sweet demo photos that are in the creep README.
2038: Fonts have subscription models. Times New Roman is a Windows exclusive and costs $12/month. There exists an open-source alternative to subscription fonts but it hasn't been updated in 2 years because the guy maintaining the repository is in jail for pirating Fast and Furious 18.
The Spleen font has, among other sizes, the 5x8, which is pretty similar. It's the default for OpenBSD drm console, although using a different size. It's constantly being updated.
With some VR HMDs, like Lenovo Explorer WMR, the strong lenses magnify pixels big enough to 'easily' see separately, in the clear center of the field of view. But don't provide many such clear pixels. So for editing code, using an HMD as non-VR terminal, I used tiny fonts (before switching to subpixel rendering of slightly larger fonts).
108 comments
[ 2.7 ms ] story [ 192 ms ] threadFor example:
https://hea-www.harvard.edu/~fine/Tech/font-howto.html
Of course in modern applications, the client renders the font, so see e.g. https://gabusc.us/posts/bitmap-fonts-on-linux/ for how to set that up
https://worldofspectrum.org/archive/software/utilities/taswo...
[1] https://en.wikipedia.org/wiki/Fixed_(typeface)
So you sometimes have to actually look at, for example, the H or W glyph to see if they really mean "5px wide" or not.
This image, for example, is the "5x8 Spleen" font. If you zoom in, though, you can see it's really a 4px wide font: https://camo.githubusercontent.com/b2fa71fde615bd5510b5e9cb9...
When I decided on that font I was using a netbook though, so the screen was quite smaller. The 5px font[1] allowed me to have terminals side-by-side on a tiling WM and still get 75 columns. Without it, I probably would have had to stick to seeing just one window at a time.
I've since stopped using a netbook, but I still like maxing out my screen/terminal real-state with it. Right now on the resolution I said it's letting me have 3 terminals of 75 columns side-by-side. Although, I normally just stick to 2 terminals of 113 columns for those times when lines go over 80.
Anyway, I find the font so crisp and readable that I've never felt a desire to change it. I'm getting a bit tempted by the font of this post, though.
[1] It's actually one of the 6px-wide ones, the 6x9 version, but that includes the space to separate characters. I said 5px to compare with the HN title which says 4px despite that not including the spacing.
Nitpick though -- by standard convention for terminal fonts shouldn't it be called a 5px wide font? (4px for the letterform, 1px in between.) Since they're sized according to the pixels available for each character.
I was really wondering how on earth letters would be clear with just 3px left for the letterform... :S
Some of these can look like $ if they're really tiny, but generally you'll need a while to figure out what's they're supposed to mean if you don't know what you're looking for.
> Here's some options that fit in 4 pixels
So which is it?
See the software "Supertext 40/56/70"
https://books.google.com/books?id=ATAEAAAAMBAJ&pg=PA46&lpg=P...
[0] https://github.com/slavfox/Cozette
So, here is comparison of minimal LCD width required to print "Hacker News" (without quotations marks):
- in Cozette: 65px
- in Creep: 54px
https://github.com/kreativekorp/bitsnpicas
[1]: https://github.com/andrewshadura/gbdfed
[2]: https://fontforge.org/
[3]: https://github.com/kori/lavender-font
[4]: https://github.com/kori/metis-font
Or rather, do people have general recommendations for good, open source, font designing software on a standard Linux machine?
[0] https://fontforge.org/en-US/
https://github.com/raymond-w-ko/creep2
> I love romeovs's creep font, but I think you could only use it well in Apple's Terminal.app because it has negative line and character width spacing, which the font requires to be spaced correctly. The root cause of this appears to be because some glyphs are bigger than the 5px by 11px bounding box, causing most terminals to think a much bigger box is necessary for the general ASCII glyphs.
> In order to fix this issue, I manually hand painted all the glyphs from the 'creep' font in fontforge.
Awesome! I just wish creep2 added some of those sweet demo photos that are in the creep README.
Out of curiosity, which ones? Did anyone find them?
But it's probably possible to convert Mac fonts somehow
https://github.com/fcambus/spleen
My vision isn't even bad and I don't require glasses, but I have turned 40 and I want retina monitors and a 18pt font.
Thank goodness the era of using tiny fonts in UI design is mostly over and people have realized that us visually impaired folk still need to work.
Still, a nice project
With some VR HMDs, like Lenovo Explorer WMR, the strong lenses magnify pixels big enough to 'easily' see separately, in the clear center of the field of view. But don't provide many such clear pixels. So for editing code, using an HMD as non-VR terminal, I used tiny fonts (before switching to subpixel rendering of slightly larger fonts).