Why Meslo Why?

Disclaimer

This is a very long post about something that super does not matter. I am taking this way too seriously just for fun and in no way really care about what other people choose to make font-wise or what they choose to do with their asterisks. Please keep that in mind as you read

History and Introduction to Why I Like Menlo

I do a lot of coding and I learned to program on a MacBook Pro. I have always loved the Mac for its software above all. Yes, a lot of the hardware was good most of the time (not including the 2015-2018 MacBooks), but it was always the software that brought me to the Mac. Even before Apple had Continuity and Handoff and iCloud Drive, they had UNIX. I have always expressed my great admiration and love for the UNIXes and their philosophy and it is one of the many things that makes Linux so appealing to me (even though Linux is not technically a UNIX). Mac OS X is a UNIX based operating system, and they have been UNIX certified since 2007ish (almost the entire time). When Apple had no "ecosystem" and you were lucky to have an iPhone never mind watch, tablet, or headphones I still thought Mac OS X was the best because it brought you the ease of use of Mac OS—like universal font panels, proxies, drag & drop, Aqua—but the power of UNIX.

Anyway, that's true but not the point. Though it seems I cannot really post on this blog without gushing about Mac OS X for a bit. The point of this article is Menlo or, more specifically, a particular feature of Meslo Since I have been a developer on the Mac since 2011, I have grown a particular fondness for Menlo (the font). Not only is it my favorite Coding font, I find it to be a pleasant and balanced typeface overall. I cannot say whether this is due to the influence of Mac OS X or if Menlo is just naturally a really nice font that I like, but I can say—for whatever reason—I do love it.

Why You Should Also Like Menlo

Many things about Menlo are appealing: it has very distinct l, i, and 1 characters (unlike Consolas for example). It has very nice metrics (in my opinion), and I think the a, l, M, and 0 are among its best features.

"Ok, so that's great, but what is the point of this post?" I hear you cry.

Well just be patient, we're getting there.

Background on What Meslo is and Why It Exists

First you need to know that Menlo was crafted for Apple by Jim Lyles (you can see this in the Metadata for Menlo on Mac OS X). That said, it is nearly identical to the public domain font DejaVu Sans Mono itself being based on the Vera font by Bitstream. The main differences that Menlo brings are a slashed, not dotted zero; thicker and longer dash; thicker underscore which sits on rather than under the baseline; and an asterisk which is size to the height of lowercase letters but centered above the baseline. This last feature is particularly iconic and sensible for Menlo since it was Apple's default monospace font since 2009 (with the release of Snow Leopard) until around 2016 (with its replacement by San Francisco Mono) and Apple—in most of that time—used Objective-C for its entire application development stack. Objective-C being a C superset and Pointer-heavy language there were asterisks everywhere and Menlo was fantastic at making these asterisks flow seamlessly in the text. Despite being nearly identical to a public domain font, it was a great example of the unique and functional design that Apple brings to things. Take for example this sample method signature and notice the position and frequency of asterisks:

-(NSData*) someInstanceMethodTakingANumber(NSNumber*) aNumber withError(NSError**) error;

I realize this is a small and insignificant example, but rest assured, Menlo was a very good font for this particular language.

The next thing you have to know that until like 17 minutes ago, Xcode lacked the ability to change the line height of the font in the editor. This lead many people to be dissatisfied with Menlo for its tight line spacing. Luckily, along came Meslo which is—essentially just Menlo—with 3 options for line height. This is accomplished by baking in space in the font rather than relying on the editor settings.

Why Meslo Why? Finally

So that brings us to the point of this post: Meslo. The font Meslo is, as I have stated, basically just Menlo but with wider lines. Except, there is one other little change. They moved the asterisk back up to be top to top with the capitals. It is no longer sitting between the line flowing evenly with the text. Now you have this constant disruption of asterisks floating far above the baseline and well out of range of their adjacent lowercase letters.

The reason I felt the need to post about this is because this particular choice is not unheard of. Hack is another open source derivative of DejaVu Sans Mono and it tweaks many things including the 0, i, *, among others. This is done for stylizing and because Hack is its own font for its own purpose. Why I am writing about this particular part of Meslo is because the only character that they changed is the asterisk. Everything else is the same. Not only that, they claim to have done this expressly for the purpose of changing the line height in Xcode, so it is clear that the person who undertook this sees a lot of Objective-C and still felt this was an appropriate change to make.

Some Self-Awareness

Now does any of this matter? Not really. I love the original Menlo just fine and it is—to me—the most superior form of the Vera/DejaVu/Hack/Menlo/Meslo collection of fonts. Unfortunately, like many Apple fonts, Apple commissioned it for them and we cannot have it unless we buy Apple things and Apple is gracious enough not to revoke our access to it.

Also a single asterisk does not really affect my use of the font as every other character is still great.

Also the person who made Meslo is entitled to their opinion regarding the look and placement of asterisks. Obviously I am taking this too seriously, and I just find it interesting that a person would be motivated to specifically go out of there way to make—what I think of as—a completely backwards change to a perfect font.