Live data from Hacker News

Almost monospaced: the perfect fonts for writing

blakewatson.com

31–40 of 174 posts

Re: Almost monospaced: the perfect fonts for writing

#31
I’ve thought about ideal fonts for both writing/reading and programming quite a bit, and have been let down at the choices out there. It seems most popular monospace fonts (Fira Code, Iosevka, Ubuntu Mono, etc) attempt to either fit as many characters on the screen as possible, or are so wide, that larger sizes make it impossible to fit even a function on screen; both design choices hurt overall readability and end up forcing me to fiddle with line spacing, sizing, and custom font versions just to be somewhat happy. At this point I’ve just stuck to putting consolas on virtually every machine I use, but that’s also not great.

I really hope some font foundry out there focuses on designing something specifically for readability of large bodies of monospace/duospace text.

It’d also be nice to have a provable metric for readability, rather than the anecdotal evidence I tend to see, but I suspect this is hard in and of itself.

Re: Almost monospaced: the perfect fonts for writing

#32

Isn't the whole point of monospaced fonts columnar alignment (e.g. the table in the article)? Seems like "almost" defeats the point. Then again, I don't see values lined up much these days: { "someKey": "someValue", "someOtherKey:" "someOtherValue, and if you only care about leading whitespace (that is, the whitespace before a character appears on the line), maybe it doesn't matter how your font is spaced. I suspect…

I long ago concluded that trying to line stuff up in columns like this in code is a mistake. It often results in realignment of blocks for small changes so what should be a small diff in the git history ends up being big.

Only rarely is the vertical alignment useful because mostly code isn't read vertically. Used in moderation, the reverse Christmas tree style used in the Linux kernel can be as good for readability (sorted longest to shortest). For some constant structures a reordering of fields to put the variable length element at the end of the line removes the need for padding space (like in the output of `ls -l` where filenames come last).

A common indentation style for continuation lines is to align with the start of arguments to the function. I've never seen the sense of this variable amount where indentation after a while is much more than after an if. Double the normal indentation for continuation works well in languages where line continuation isn't otherwise distinct from normal blocks.

Re: Almost monospaced: the perfect fonts for writing

#33

I think when a font has all the characteristics of being monospaced like large serifs etc., but actually isn't, it looks subtly "off". I remember distinctly the user manual of a motherboard I had near the turn of the century somehow had screenshots of the BIOS setup utility rendered in almost-monospaced Courier New, and it looked sufficiently weird that it was distracting.

Courier New is monospaced. https://support.microsoft.com/en-us/topic/microsoft-supplied... .

I know it is; but they had somehow managed to change the glyphs spacing so that it isn't, yielding the same odd effect that I see in the sample in this article.

Re: Almost monospaced: the perfect fonts for writing

#35
I use iA Writer Duo for writing prose and fiction a lot.

If you're willing to pay for typefaces, though, there's a really good "almost typewriter" font called Triplicate, which comes in four versions -- the original, a slight variation with the same metrics as Courier, a "code" version that has a few characters changed to be better for coding (this is a great alternative to the more expensive Operator Mono, in my experience), and a proportional one which fits the "almost monospaced" idea. (It's not designed for coding, but I don't think proportional fonts work for coding in most editors.)

Re: Almost monospaced: the perfect fonts for writing

#36
post #28

See also: Duospaced font https://en.wikipedia.org/wiki/Duospaced_font

That article is strange. I was of the belief that most western "monospace" fonts were in fact "duospaced" under their definition. This distinction isn't apparent for normal writing, but such fonts usually make most emoji two chars wide. This is true at the very least for Adobe's "source code pro", which I typically use. It mentions the OP font as the only western example of such a font, but iA writer doesn't use inte…

IIRC it's not that monospaced fonts have double-width emoji; monospaced fonts just tend to not define glyphs for emoji at all, and instead allow the renderer to fall back for rendering of those glyphs to a non-monospaced font in the stack. This may result in emoji taking up basically-arbitrary width in text edit fields, breaking the monospacing.

Terminal emulators, however, have a model on which glyphs are always placed onto a visual grid (the PTY render-model grid, emulating text-mode VRAM); so in a terminal emulator that supports rendering Unicode at all, any glyph will have its visual width "snapped" to an integer multiple of the grid spacing, and will be considered to take up that many grid cells. It is up to the particular terminal emulator where it places the glyph within that array of grid-cells; some left-align glyphs, others center-align.

Re: Almost monospaced: the perfect fonts for writing

#37

Earlier quoted context omitted.

Don’t misread what I am saying: I am not judging you for finding something that works for you, or attacking you for sharing. I’m bummed out to see an article about “a perfect font”, especially being a monospaced one (or nearly), but that does not use said font throughout. I was sort of hoping to be immersed in this font for awhile, but wasn’t. I use fira+ligatures. I am a monospacer too.

I think the point of the article is that monospaced fonts, or near-monospaced, are good for production (writing), though arguably proportional fonts are better for consumption (reading).

I must be misunderstanding your meaning, what forms of writing don’t also require reading in the form of rereading?

Re: Almost monospaced: the perfect fonts for writing

#38

Two big reasons for continuing to use monospaced fonts in programming: 1) Support for vim navigation, where hjkl move you one character in a direction on an evenly spaced grid. Remove that uniform spacing and up ceases to be “up” 2) Legibility for formatted comments and ASCII art (could argue these should be avoided but I’ve seen some magical ASCII art in code) //////////////// // My Comment // ////////////////

I both use vim movement and a proportional font for coding.

1/ That’s already broken by line wrapping. gj is the command moving up in the grid not j. The fact you are confusing the two should tell you how little of a difference some sideway movement makes.

2/ Don’t use ASCII art in code. It’s annoying for people not using monospaced font and I’m not alone.

Re: Almost monospaced: the perfect fonts for writing

#40

I use iA Writer Duo for writing prose and fiction a lot. If you're willing to pay for typefaces, though, there's a really good "almost typewriter" font called Triplicate, which comes in four versions -- the original, a slight variation with the same metrics as Courier, a "code" version that has a few characters changed to be better for coding (this is a great alternative to the more expensive Operator Mono, in my exp…

I love Matthew Butterick's fonts (eg, Triplicate). The license for his fonts is perhaps the most generous I've seen when it comes to commercial fonts.
Post reply on HN