return to table of content

Server Mono: A Typeface Inspired by Typewriters, Apple's SF Mono, and CLIs

deathanatos
21 replies
21h47m

So, if you're going to demonstrate the box drawing characters — and in a monospaced font, I would — they should line up?

E.g., under "lines", the rows are overlapping; https://i.imgur.com/KnOP2Wu.png ; I would think they're only supposed to just touch, with no gap, no overlap.

The boxes, similarly, don't quite line up right. https://i.imgur.com/6pVYh9a.png (Even the 100% box isn't lining up right, although somehow what FF screenshotted != what it rendered. sigh.) The point being, you want these to tile seamlessly. Oddly, they tile differently in the pictures-of-font that break up the page. (Which I'm not sure what they're supposed to be? One is called "5af1d7a5-fa60-4827-9b4f-808cdb635d59" and has no alt text. They remind me of Dwarf Fortress though.)

As other people hint, this seems like the line height is cramped. I/l/1 ambiguities is a deal breaker for any terminal font, though.

worewood
13 replies
19h48m

Number One, Pipe Character, lower case L, upper case I, zero and O, Parentheses and Brackets, are so common pain points on coding and terminal fonts. Those should be painfully distinct.

bobbylarrybobby
5 replies
15h41m

I've never understood why the lowercase l and 1 so often look the same in monospace fonts. It's not like anyone actually writes an l like that — why not just a small bottom right hook? And maybe a top left hook as well? But a whole base is insanity.

geocar
0 replies
12h1m

Because of the positioning you can press "l" then backspace then "." and get a serif on the bottom which makes it look a little-more one-like.

Similarly you get a "!" by doing "'" backspace "."

Someone
0 replies
7h13m

It's not like anyone actually writes an l like that

Counterexample: looking at https://www.nist.gov/srd/nist-special-database-19, the example in the manual has a lowercase L that’s just a vertical line.

InsideOutSanta
0 replies
8h41m

I agree that this is a bad decision for programming, but the reason most fixed-width fonts do that is that they can look visually uneven if they don't use exaggerated serifs on narrow characters. It can even get to the point where words look like they have spaces in them if the wrong characters are next to each other.

Monospace (https://monaspace.githubnext.com/) has a feature that dynamically changes between different versions of characters and moves them inside their space in the font grid to make up for that. But even so, its bottom serifs on 1, I, and l extend to both sides.

Cascadia Code (https://github.com/microsoft/cascadia-code) has a lower-case L whose bottom serif only extends to the right. It's the typeface I use for writing code, and IMO, it's currently the best option available.

7bit
0 replies
12h19m

It's not like anyone actually writes an l like that

Excuse me?!

DidYaWipe
5 replies
19h28m

The first thing I look at on ANY font is the capital "i." No crossbars? No dice.

This one has those and a distinguishable zero vs. O, so far so good.

Whoops; someone pointed out that 1 and l are indistinguishable. That's a major failing.

rob74
2 replies
11h56m

Maybe that's what they meant by "inspired by typewriters" (on many typewriters there was no 1, you had to use lowercase L)? But I agree that this is not a "feature" you want to have in a font that you use in terminals and/or for programming.

fouc
0 replies
1h13m

I kinda feel like the difference between the 1 and l is still reasonably obvious, the top serif is significantly different. But it could be improved by removing the bottom left serif from the l.

PontifexMinimus
0 replies
18h41m

Whoops; someone pointed out that 1 and l are indistinguishable. That's a major failing.

Agreed.

criddell
0 replies
6h49m

Is that page showing the complete set of glyphs? I assumed it was a subset because I didn't see the degrees symbol ° and surely they have that.

bbor
2 replies
17h0m

Yeah it's driving me crazy honestly -- why put art on there if it's not recognizable as anything?? It does indeed look like the overworld from DF, but not quite coherent enough...

FWIW everyone's complaining about this so I'll throw in the recent monospace release that absolutely blew me away: https://monaspace.githubnext.com/ Who needs hackers when you have Microsoft the evil tech conglomerate pumping out fonts, anyway?

bitvoid
1 replies
16h47m

Another good Microsoft monospace font: Cascadia. Something about it just makes it super legible for me when coding in it, plus it has nerd fonts built in without needing to be patched.

https://github.com/microsoft/cascadia-code

InsideOutSanta
0 replies
8h55m

I use this one, too. I also love the (optional) ligatures for things like boolean comparisons.

zerocrates
0 replies
13h14m

To me the "art" blocks look like converted stills from a movie or TV show, or from existing artwork: two figures facing each other in the first, three figures in the second, a... galloping horse with a cloaked rider in the third? But I could be completely wrong on all of that.

sylware
0 replies
7h44m

Which OTF renderer? freetype?

rbanffy
0 replies
7h36m

I would think they're only supposed to just touch, with no gap, no overlap.

Because of variations on how software terminals and GUIs render fonts, this is very tricky. That’s why so many terminal programs take over box-drawing characters and implement the glyphs themselves. This way the glyphs defined by the font are a rendering failsafe and it’s sometimes better to not even implement them and leave it to the systems font substitution mechanisms.

Hardware terminals had fixed vertical spacing, which made alignment much easier.

LoganDark
0 replies
20h16m

They do line up, if you install and use the OTF version:

https://imgur.com/a/N2tNaiO

although some characters still seem to be missing, most of them work as intended.

edit: nevermind, looks like it was using Lucida Sans instead! what is going on? does the OTF only include ASCII or something?

malodyets
16 replies
23h33m

Much good there but l and 1 are identical.

queuebert
7 replies
22h45m

To be fair, they did say it was inspired by typewriters, and most old typewriters don't have a '1', so you type a lowercase 'l' instead.

irundebian
3 replies
21h41m

That are really old typewriters.

fsckboy
1 replies
19h25m

not really, in the sense that it would be a really old typewriter, there aren't any new typewriters. I'm not super old, and typewriters I used in high school did not have a one. Nobody had an IBM Selectric at home.

BTW on the same subject of fonts, you want to be able to distinguish between 1, l, and I which are not always distinguishable.

irundebian
0 replies
11h24m

I just googled for some typewriter pictures and only really old typewriters didn't have a "1".

pwg
0 replies
14h15m

Actually, it was /most/ typewriters. Having a numeral one (1) key on a keyboard was something brought about by computer input keyboards (where there did, indeed, need to be a distinct numeral one separate from lower case-ell (l)).

But for most typewriters, the ell (l) key also served as the numeral one key.

rjmorris
1 replies
18h5m

How did they type '2' on those old typewriters?

hoppyhoppy2
0 replies
17h32m

There was a "2" key, just no "1" key on some models.

amelius
0 replies
21h28m

Then don't call it "server". Call it "typewriter".

TacticalCoder
2 replies
22h42m

Yeah it's annoying in several fonts, not just that one. So I simply modify the font I'm using: one thing I do is I remove the lower left horizontal bar from lowercase 'l', that way it cannot be mistaken from a '1'.

Basically changing what's on the left to what's on the right:

    ***         ***
      *           *
      *           *
      *           *
    *****         ***
It's a little trick I've been using since so long I don't even remember since when I'm doing that.

m463
0 replies
22h34m

I simply modify the font I'm using

One of those minor nudges in life...

EDIT: and also a monospaced comment on hn to describe it :)

vmladenov
0 replies
23h2m

Not quite, the 1's top serif extends to the left edge. https://postimg.cc/nXMt2qhx Still way too close for comfort.

seanmcdirmid
0 replies
21h45m

I use proportional fonts for coding that don’t really distinguish between 1 and l, it doesn’t seem to matter in practice.

mroche
0 replies
23h24m

I'm really surprised this made it through, it's one of the handful of character sets that require distinct glyphs to prevent confusion/mixups.

m463
0 replies
18h6m

yeah ibm's courier has a horizontal top line for 'l' and a slanted top line for '1'

ezekg
0 replies
22h16m

Love the zero, but agreed.

lycos
11 replies
22h11m

I can't put my finger on it but I don't find this enjoyable to read at all.. so I don't know much about readability claims here. Maybe I'm an outlier.

ecjhdnc2025
5 replies
21h35m

The line spacing is way too tight (this is line-spacing: 1).

Obviously that is beneficial for ASCII-art (smaller vertical gaps), but plain text would benefit from at least 1.1 and maybe 1.2.

I am not a typographer but the cap height of this font (I think it's the cap height) appears quite large, when perhaps it would be better to have a slightly smaller cap height so the ASCII-art features would work well at line-height 1.0 without the letters feeling so vertically cramped.

Basically, slightly less-tall letters.

But as I say, not an expert.

ecjhdnc2025
0 replies
7h54m

It does have that feel, but it's decidedly cramped compared to, say, the VT100's font, or even that of the VT52, which are both a bit closer to the "server" heritage they are alluding to.

Many other "code page 437" (console graphics fonts) do much better than this for readability at base line-height.

fsckboy
1 replies
19h31m

line spacing beyond minimal ought not be an attribute of a font. I can see a "recommended" line spacing for some type of "vertical as well as horizontal beauty", but drives me nuts when choosing a font also chooses scads of whitespace.

I like to squeeze a lot of info on a page, why do other people get to say "no". Sure, space out your wedding invitation, I can deal, but on the daily text on my screen, that should be up to me.

I do prefer "typewriter" fonts that are more squoze horizontally, this one seems to have loosened the ol belt a little, maybe for more "squareness".

ecjhdnc2025
0 replies
18h7m

Oh I am not saying it should be.

The problem is that to resolve the readability issues many people seem to be observing on that page you need to set it to 1.1 or 1.2 (try it!)

But that will break the console pseudographics.

Part of the problem with this font appears to be large, space-filling (yes, squareness is another way to put it) glyphs, when if they had a bit more of a difference between the cap height and the ascender height the full-height pseudo graphical glyph stuff would still work without the textual characters feeling so cramped.

At least, I think that is right. I know just about this stuff to be wrong in important ways.

Either way there must be a solution to this; it feels like a missed opportunity.

seanmcdirmid
0 replies
21h48m

Type writer fonts are hard to read in general. Kerning leads to readability in general.

righthand
0 replies
19h13m

For me it’s the weird mix of serifs and san-serif letters. Just off putting and weird it kind of feels like reading a note from a kidnapper made of clipped magazine letters pasted together.

loeg
0 replies
20h35m

I'd describe it as excessively bold/heavy.

copperroof
0 replies
22h3m

I know nothing whatsoever about readability but this almost makes me ill to read. Very unsettling.

HumblyTossed
0 replies
18h47m

I don't like it. As someone else pointed out, the line spacing is too tight and that might be part of it, but I feel like it is too heavy (thick? Something in between bold and regular, whatever that is called).

GlacierFox
4 replies
17h30m

$75? Haha Holy s...

eddyg
1 replies
16h51m

I also highly recommend PragmataPro⁽¹⁾ if you prefer more characters per line. It’s €199 for the complete typeface, but well worth it for something you interact with for many hours per day, every day. More than 9000 characters have been hand-optimized from 9pt to 48pt to guarantee the best possible readability. (You can start off with the “Essentials” variant for only €19, which is definitely a bargain!)

⁽¹⁾ https://fsd.it/shop/fonts/pragmatapro/

grose
0 replies
10h17m

Goes on sale every year during Black Friday. 100% worth it even without the discount. Love Berkley Mono too.

Iosevka (https://typeof.net/Iosevka/) is a good free alternative that I like to use for online IDEs/REPLs and such. (Berkley Mono's contract forbids this kind of usage, which I understand, but I wish I could use it more!)

jen729w
0 replies
10h43m

I presume you’re indicating what an outstanding bargain this is?

For something you look at the entire day? Every day? Seventy five bucks, once?

I have the full licence as I use this typeface professionally. It’s the best money I’ve ever spent.

bowsamic
0 replies
12h1m

Fonts are gear acquisition syndrome for software developers

graboid
0 replies
4h16m

I love this font.

Void_
0 replies
4h31m

My favorite!

pwg
3 replies
14h18m

Given the emphasis on being unambigious, it is interesting that the capital-eye (I) and lower case-ell (l) are the identical glyph in DP Sans Mono.

adiM
2 replies
13h52m

They are significantly different!

pwg
1 replies
1h28m

Here is what their own "Font Sample" page [1] shows me:

https://0x0.st/XWE_.png

This is magnified 2x (to show the similarity). Both the sample alphabet and the "character differences" shows uppercase-eye and lowercase-ell as the identical glyph, for DPSansMono.

[1] https://www.pgdp.net/c/faq/font_sample.php

ghostly_s
2 replies
17h9m

A single weight font doesn't really meet the needs of modern CLI environments does it?

And I don't get what the ASCII art have to do with anything. What does it depict? Screenshots from some scifi movie?

And finally oh god, l and 1 are literally the same.

jmprspret
1 replies
17h2m

Wait what? Do you seriously need bold fonts in your terminal? I find them annoying. I would much prefer a single weight.

nutrie
0 replies
15h42m

It may not be just that. I sometimes end up using the light weight to improve readability, especially on light background, plus in some cases regular is more like semi-bold.

oguz-ismail
1 replies
22h13m

Lowercase f and r are ugly.

hahamaster
0 replies
22h0m

Especially “r”, horrible.

Uehreka
1 replies
20h10m

Not sure what the images on this page are supposed to be, they don’t load in iOS Safari. Also I’m not seeing the 1/I/l confusion other people are talking about, so it’s possible the font isn’t rendering in Safari either and it’s falling back to the default monospace font.

beala
0 replies
16h9m

Here's how it looks on safari mobile for me. The lowercase l and 1 are exactly the same. https://imgur.com/a/I2r2ZQ6

IshKebab
1 replies
23h5m

Line spacing is way too tight.

luluthefirst
0 replies
22h2m

It makes their paragraphs hard to read regardless of the font.

y_fucimo
0 replies
9h43m

It might be better to create a website with a light theme, especially for a typeface inspired by typewriters.

I just can't read it.

voidUpdate
0 replies
11h15m

Personally, for a monospaced font, I prefer Jetbrains Mono. It's free and looks nice to me

vincent-manis
0 replies
20h15m

I'm also not enthralled with this. Mind you, I really like Cascadia Code, which in its 2024 iteration includes NerdFonts characters. Finally, something done by Microsoft that I can recommend unreservedly!

usefulcat
0 replies
18h46m

Tangential, but I quite like this quote: “Just as the scientist must think and experiment alternately, so the artist, the author and the scholar must alternate creation or study with participation in the life around them.”

throwaway81523
0 replies
8h36m

Why do we need another font like this? It looks ugly anyway, plus has the other problems people mentioned about character distinguishability.

riiii
0 replies
21h1m

Moaning about my personal preference, it's not for me. I find the letter shapes inconsistent and line spacing is too narrow. My eyes hurt after reading a few lines.

But hey, well done on getting it out the door!

replete
0 replies
20h25m

line-height: 28px !important

It's not very readable with line-height set to the x-height, ironically. Cool font though.

Find some old demoscene / warez ansi headers and show it put some on the homepage perhaps?

paulcarroty
0 replies
3h33m

Great SF improvements, waiting for Nerd Fonts version :)

morning-coffee
0 replies
6h23m

How far back from the monitor should I be to be able to interpret what the ASCII art blocks are showing? Seems like maybe they were inspired by those 90's "Magic Eye" pictures.

lelanthran
0 replies
3h10m

That image at the top looks like petsci art.

java-man
0 replies
22h13m

As an alternative, I would suggest to consider Iosevka [0]. I am using it in the browser and for coding.

[0] https://github.com/be5invis/Iosevka

inglor_cz
0 replies
33m

Just a comment from behind the former Iron Curtain, I am really happy that you included letters with diacritics.

When it comes to ÁĚÝŘŠ etc., the Iron Curtain still sometimes rears its head from the screen, even in 2024.

h4ch1
0 replies
8h24m

after trying a myriad of "programming" fonts, nothing feels more comfortable than Pragmasevka [0], a mix of PragmataPro and Iosevka.

[0] https://github.com/shytikov/pragmasevka

ddtaylor
0 replies
22h30m

and the Internet Development Studio Company community

This reads very PR-ish and lame.

cormullion
0 replies
2h49m

Font seems to not include the '<', '>', or '=' characters. I sympathize with font designers, there are so many glyphs you have to stare at - hundred if not thousands - for days and weeks on end; eventually you get tired of seeing them...

byte_0
0 replies
14h49m

I am not sure if I like the font or not, but I do like the corpus of text used to demonstrate the character rendering. At first glance, I thought it was Quenya or Sindarin, but I am not too sure.

andyferris
0 replies
14h29m

Nitpick: the acknowledgements make a cute usage of "thy" and "thou hast". However, they actually refer to multiple individuals, and need to use "your" and "you have". Boring, and wrecks the aesthetic, I know...

__mharrison__
0 replies
13h53m

Interesting choices for 1 and l...

YarickR2
0 replies
16h33m

Perfect line spacing, other fonts have it way too wide between lines, screen feels half-empty. Great font, switching to it . Medium weight would be lovely, though

AnthonBerg
0 replies
7h50m

After reading through the thread, I want to show my warm and honest appreciation for Server Mono.

I like the art! I like the feel and… idk, visual rhythm? One man’s inconsistent is another man’s lively. I like the tight linespacing; Am of the opinion that line art glyphs should touch each other across lines – of course! – but it can’t be solved at the font level. We need console-oriented text rendering that knows how to connect those glyps. Could be done automatically but seems awkward. Could be done even better with, say, some kind of anchor points embedded into the font file – in a particular UNICODE location maybe?

And I for one don’t really mind I and l and 1 looking similar. Distinct is better but I am fond of the historic imperfection. O and 0 absolutely need to be distinguishable though! haha