As a software developer I stare for hours on end to code on a monospaced typeface.
I notice that a lot, if not most, of the designs for coding almost pride themselves on the large x-height.
Is it because most are derived from a sans optimized for reading on screen?
The thing is, for many years now there has been a drive towards making code less obscure,
and part of that is giving things descriptive names, which in many popular languages is often done by having compositeCamelCasedIdentifiers.
The large x-height is terrible for the camelCased identifiers.
See this sample where Consolas, Menlo and Input represent, I think, the mainstream trend in coding fonts.
I see few designs with small / moderate x-height.
In the image above, only Red Hat Mono and Intel One Mono.
> ascenders and descenders are longer for more quickly identifiable "word shapes"
So I was meaning to ask about the causes of the large x-height,
and kind of wishing and hoping that more designers pay attention to that.
Comments
I just checked the OpenType feature list, and it says “no” for oldstyle figures.
**
Would it be better to just provide a separate “coding” version?
Any other unusual characters that coding might require?
By using a larger x-height in a fixed-width design, you get a more even texture and design consistency.
I don’t think so.
Large gaps around “i” and tightness around “m” are unavoidable.
However, as i, l and t are such common letters compared to m and w, there is always more gappyness in monowidth text than squishyness.
Therefore, by giving the round letters ample sidebearings, that is actually going to produce a more even texture; the overall tone of the texture will be “staccato”, rather than the mixture of staccato and legato in, say, Courier. Note how close the sequences o-m-e and p-o are in Courier (above) compared with Bodoni Egyptian Mono (below).
Also, with round lower case letters being slightly condensed in the small x-height style, that is consistent with the condensed quality of its capitals.
This is descended from a popular myth about reading, which is mostly (though not entirely) untrue, as far as research has shown. Making letters more distinct from each other is good. But we don’t primarily read “word shapes”—we decipher letters in parallel.
Roman and Italic?
TrueType format should be preferred
Even for me, in a coding context... I think I probably want lining figures, too.
But maybe a letter like monospace /m can't get any more smooshed?
EDIT: Though it occurs to me that a similar effect could be obtained more simply by biasing the caps rightward within their advance width. Or maybe that's already commonly done in monospace designs?
Also, what is the general preference: a dot or a slash in the zero?
I’m favoring dot, to avoid confusion with Ø—but is this even an issue?