✨ Monaspace v1.2 has so many new features. It's time to get 🤓 nerdy. Nerdier than science thought possible. Buckle up. ✨
Key Updates
- ✅ 1.2 will close out over 70 issues.
- 🧑💻
Frozen
fonts: don't worry, this won't be like the road trip where you had to listen to Elsa sing "Let It Go" on repeat or face the wrath of the kids in the backseat. We've done more to make Monaspace behave well across editors and platforms, and we've also added the 🧊frozen
variants which ship with stylistic sets "baked in". Use the frozen formats to enjoy Monaspace to the fullest in environments which might not let you configure OpenType features, like XCode or JetBrains IDEs. - 🤓 Nerd Fonts support! While there has been a community-built version of Monaspace with Nerd Fonts, you know what would be better? Not needing to go get that other font. Now you don't. The static fonts (otf and woff/woff2) now include Nerd Fonts symbols by default! Note that they are not included in the variable or frozen formats. If you're building for the web, you probably want to use the variable woff/woff2 files because they're well supported, and also, they don't include a megabyte of Nerd Font data.
Improvements
🧊 Frozen Fonts
Monaspace uses OpenType features to enable and configure coding ligatures, character variants, and other typographical settings.
Unfortunately, not every application exposes these settings to the user. This was a particular pain point for users of XCode and JetBrains IDEs — even if you choose Monaspace, you can't turn on ligatures, texture healing, or control the active stylistic sets/variants.
We'd prefer that applications do the right thing and expose those controls, but in the meanwhile, we'd like you to enjoy everything Monaspace has to offer. The frozen formats are just like the static builds of Monaspace, but with the various OpenType features turned on by default. When using the frozen builds of Monaspace, you get texture healing and all the ligatures on by default, but you give up the fine-grained control of enabling specific stylistic sets and character variants. Computers are hard.
🤓 Nerd Fonts
It took you all roughly 80 milliseconds after the initial launch of Monaspace to ask for Nerd Fonts (#24). We get it, pretty symbols in terminals is awesome!
After Cascadia Code added support for Nerd Fonts, we reached out to our colleagues at Microsoft to learn how to do it for ourselves. The key blocker was always legal, not technical. Nerd Fonts contain logos for a variety of companies — there are 11 glyphs which contain an Octocat or the GitHub wordmark across the various Nerd Fonts icon sets!
We're shipping Nerd Fonts with the same understanding as everyone else in the industry: if someone makes a legal fuss about Nerd Fonts, we would be forced to remove them. Given the broad usage of Nerd Fonts, any shenanigans would be a problem for many typefaces, not just ours.
Nerd Fonts is composed of several overlapping icon sets (hence, eleven Octocat glyphs). Those icons were all designed at slightly different sizes, and vary greatly in quality. Some glyphs are great, but others are an unoptimized mess of control points. And there are about ten thousand total glyphs which Nerd Fonts contribute to each font, dwarfing the total number of glyphs in the actual typeface. 😳
The font patcher which ships with the Nerd Fonts project doesn't get particularly clever with the placement of each Nerd Font glyph within the monospaced "box". The folks at Lettermatic care so much about their craft that they figured out heuristics for the best placement and scaling of icons in the Monaspace fonts. Nerd Font glyphs are not texture healed, but they also do not break texture healing for other glyphs. With such a broad variety of icons, placement and scale are never going to be perfect for every icon and every situation, but we're happy about it being better than the baseline.
However, adding a few thousand glyphs has one big downside: it's adding a ton of data to each font file!
And of course, a big shoutout to the Cascadia Code team, whose implementation we used as the starting point for our own effort.
We'd also like to thank the folks behind Monaspice, the community-made Nerd Font for Monaspace. Not all heroes wear capes.
📦 Box Drawing Glyphs
Monaspace v1.2 includes a full suite of box-drawing glyphs now:
They also obey the the width axis, so if you use the wide variants, box drawing characters will still work:
✨ New Characters
1.2 adds a lot of special characters across many categories, not just box drawing:
🍎🍏🍍 Character Variants
Many of you asked for stylistic variations on certain glyphs, like slashed zeroes. We now have a range of character variants that you can set to fine-tune the appearance of glyphs in Monaspace.
Check the README section on character variants for the full listing of variants you can enable.
✅ New Options
cv01
: alternate0
(zero) designscv02
: alternate1
designcv10
: alternatel
and i` (all designs except Krypton)cv11
: alternatej
,f
,r
,t
(in Neon), alternatef
,r
(in Argon)cv31
: alternate*
with six points instead of five (replaces both regular asterisk andcv30
raised version)cv32
: alternate≥
≤
with angled lower line
🖇️ New Ligatures
ss01
:~-
-~
&=
ss05
:<|>
{|
|}
ss10
:#[
#(
liga
:;;;
cv62
:@_
case
::
¡
(shift vertically when next to a capital letter or number)
No improvements to installer scripts... yet
There are a bunch of issues for this, but we just didn't get to it in 1.2. We'll try to take a stab at it before 1.3!
✌️❤️ GitHub Next