zlacker

Monaspace

submitted by davidb+(OP) on 2023-11-09 20:16:34 | 651 points 199 comments
[view article] [source] [go to bottom]

NOTE: showing posts with links only show all posts
◧◩
9. idan+Bg[view] [source] [discussion] 2023-11-09 21:27:20
>>turnso+B7
It really is super clever! And the crazy part is that it's been possible for a super long time, just nobody thought of the technique. Mad props to Riley Cran and the entire crew at https://lettermatic.com for devising this technique as a part of this project.
◧◩
15. nvarto+Fo[view] [source] [discussion] 2023-11-09 22:11:44
>>turnso+B7
Commit Mono font does something similar and calls it “Smart kerning”. Visit https://commitmono.com/ and click on the “04 Intelligent” tab for details.

In practice this is unusable. Because the width of the letters now depends on the succeeding character, the text jumps as you write it. Super annoying.

Cool for reading. Awful for writing.

22. bsder+ww[view] [source] 2023-11-09 22:58:09
>>davidb+(OP)
Can we please stop with abusing ligatures for things like != into ≠? If you want APL, please use APL and leave the rest of us alone.

!= is two bloody characters not one.

And now people are doing it for 3 characters.

With this kind of thing, you get all the text editing idiocy of combining characters (like emojis) for no benefit at all.

See: Text Editing Hates You Too https://lord.io/text-editing-hates-you-too/

◧◩
26. Kiuhrl+Xz[view] [source] [discussion] 2023-11-09 23:19:55
>>zaps+Cs
I have a love/hate relationship with that song. I hate it because some guy used to play it on repeat on a server-wide radio on an old Garry's Mod surf server I frequented... On the other hand, I love being reminded of those times.

for anyone unaware, Marvin Gaye - Sexual Healing https://youtu.be/fn4i8bAfnMY

◧◩◪
32. csande+fC[view] [source] [discussion] 2023-11-09 23:39:04
>>TheCon+jA
IntelliJ IDEA has this feature: https://www.jetbrains.com/help/idea/reader-mode.html

In addition to ligatures, you get IMO a better version of the "Mix & Match" idea: doc comments are rendered as normal proportional text.

◧◩
34. pie_fl+BC[view] [source] [discussion] 2023-11-09 23:40:55
>>redder+Ju
Some other fonts use character variants for this, so you can personalize your own setup. For example, with Fira Code[0], if you want to tell VS Code to not use the long = for == but still space it in a less ugly way, instead of setting ligatures to true, you set it to "'ss08'", which will then do the same thing to === and != and !==. This is also where they can hide their 'overthinking' glyphs, so the discerning user can enable them but they won't disrupt you if you just install the font normally. For example I have ss06, ss07, and cv27 enabled, for distinct escaping backslashes, =~ and !~ operators, and smooth-square [].

[0]: https://github.com/tonsky/FiraCode

41. wolver+4F[view] [source] 2023-11-10 00:01:45
>>davidb+(OP)
Is there a functional purpose to Krypton? If it just looks cool, that's fine; I just wonder what I don't know about mono fonts.

Edit and OT: Interesting HN algorithm behavior: I just wrote two posts in this thread (on different topics). The first appeared at the top of the page, as usual for new comments. When I clicked "Submit" on the second one, it appeared below the first one. My guess is that it was because it's much shorter. (First comment: >>38213113 )

46. awnion+SJ[view] [source] 2023-11-10 00:38:45
>>davidb+(OP)
I want "m" with a short middle leg. Can I have it? E.g. in Iosevka (https://typeof.net/Iosevka/) I can choose.
51. mzs+FN[view] [source] 2023-11-10 01:07:52
>>davidb+(OP)
It does not set the mono flag, so I had to try it with GTK2 gvim to even load the font:

  % ttfmono MonaspaceArgon-Regular.otf 
  monospaced flag = 0
  (0 = variable-width, otherwise = monospaced)
Sadly I think that because of that flag it does not enable ligatures.

I was able to see ligatures and text healing in vim running in a patched st* though. I really like it thanks! The text healing only moves the line subtly as I type and when I cursor over there are no droppings from the widened 'm' for example. It's well thought-out for code.

If I could ask for a feature it would be to select some variants, like angular 0 with reverse slash or to leave the ! in the != ligature. To see what I mean: https://github.com/be5invis/Iosevka/blob/main/doc/stylistic-...

* https://st.suckless.org/patches/ligatures/

◧◩
58. inferi+lQ[view] [source] [discussion] 2023-11-10 01:21:58
>>cflewi+JG
I just discovered M+. I rather like the "60" variants, and found the default (50) width is too narrow for me. For my tastes legibility seems to suffer with the 50 variants. However, that might be narrow enough for you.

https://mplusfonts.github.io/

◧◩
73. matthe+S11[view] [source] [discussion] 2023-11-10 02:53:37
>>SteveP+MY
From https://github.com/githubnext/monaspace?tab=readme-ov-file#v...

> If you want coding ligatures but do not want texture healing, you can elide the calt setting:

79. BD103+G51[view] [source] 2023-11-10 03:33:50
>>davidb+(OP)
This looks really cool! I personally use Jetbrains Mono [0] as my goto font, but with the different-fonts-per-context and texture-healing features I might switch to this.

0: https://www.jetbrains.com/lp/mono/

◧◩◪
81. venice+M71[view] [source] [discussion] 2023-11-10 04:01:39
>>thrtyt+vo
there are still people using it---a few examples of being used in Malayalam: https://typedrawers.com/discussion/4912/metafont-in-2023-nup... (the paper linked there has more information); the comments have work by another group which was presented at the TeX Users Group conference a few months ago.
◧◩◪◨⬒⬓⬔
95. chrism+Th1[view] [source] [discussion] 2023-11-10 05:55:08
>>uxp8u6+lh1
A paragraph from a draft I wrote a couple of years ago (which I should probably finish off and publish):

> Here’s a concrete example of the mess that it is: <https://www.youtube.com/watch?v=OSgIEDMekSg&t=157>. He says, “so we can write an if statement, so we can say ‘if want is not equal to got’”, with the character `!` briefly visible on screen, then a ≠. Fortunately he was aware enough to put text over the video “I’m using the ‘Fira Code’ font, which shows ‘!=’ in this neat way. Try it!”, so the beginner (since this is designed for beginners) at least gets some hint—but I bet that more than a few will forget and find it difficult to figure out what it is again, and anyone that’s skimming may just miss that part altogether.

In education material in particular, coding ligatures are emphatically not OK. How on earth is the user supposed to figure out that that wide ≠ is actually typed !=? So you’re putting a stumbling-block in their path.

103. nielsb+tn1[view] [source] 2023-11-10 06:48:29
>>davidb+(OP)
Seems like in modern times, on modern systems, we can move beyond monospaced fonts for code.

I have recommended this many times here, but I use a proportional coding font: Input Sans

https://input.djr.com

◧◩
104. mcny+4o1[view] [source] [discussion] 2023-11-10 06:53:18
>>nielsb+tn1
Does it support ligatures such as >= to ≥? I tried the web preview on a phone maybe it is a limitation of Firefox on Android?

For others, this is ligatures https://fonts.google.com/knowledge/glossary/ligature

◧◩◪
107. a_e_k+fq1[view] [source] [discussion] 2023-11-10 07:13:04
>>Diablo+w41
If you're interested in a free, but carefully hinted coding font, my Luculent font [0][1] may be worth a look. The hinting is its defining feature, since I hate fuzzy font rendering. I wrote every line of TTF hinting code in it myself (no autohinting), and it is legible down to 5x11 pixel sized characters even if you disable antialiasing, so long as your font engine interprets the hints.

[0] http://eastfarthing.com/luculent/

[1] https://fontlibrary.org/en/font/luculent (live example in browser)

◧◩
120. tlh+Iu1[view] [source] [discussion] 2023-11-10 08:02:36
>>fomine+Jt1
I’ve not seen it in code, but if you were writing prose you might use it as a section break.

https://en.wikipedia.org/wiki/Asterism_(typography)

Edit: it’s called an Asterism

◧◩
125. phuneh+XA1[view] [source] [discussion] 2023-11-10 09:07:34
>>cflewi+JG
Have you tried Quinze? https://www.programmingfonts.org/#quinze

I was on a quest to find the narrowest font and Quinze was the answer. It's something like 20% narrower than Iosevka and M+. I can't find an easy comparison with PragmataPro but if Iosevka is a free interpretation of PragmataPro like you mentioned then Quinze should be narrower as well.

In fact Quinze is so narrow that when I attempted to force its use in all monospace text in the browser, readability took a hit instead of improving. This is because at the same height it is much smaller than "normal" fonts. In my coding setup I use a huge font size which works great with the narrow width.

I guess the downside is that Quinze is very minimal: pretty much only ASCII, no ligature, no customization etc. None of those bother me.

136. tempod+nK1[view] [source] 2023-11-10 10:43:29
>>davidb+(OP)
I'm staying on BitstromWera Nerd Font. Works great with Starship.

https://www.nerdfonts.com/font-downloads

https://starship.rs

◧◩◪
139. sph+hL1[view] [source] [discussion] 2023-11-10 10:51:12
>>orev+EJ
I am a big fan of Protesilaos Stavrou's custom "Iosevka Comfy" build (https://github.com/protesilaos/iosevka-comfy). This is probably the best font ever designed to my eyes, even more than my paid version of PragmataPro.

Here is a screenshot of Iosevka Comfy in action: https://share.combo.cc/-bN9f8hAiiG

and Iosevka Comfy Motion, with tasteful serifs: https://share.combo.cc/-BNHfhV4zgu

◧◩
147. 783928+gP1[view] [source] [discussion] 2023-11-10 11:26:14
>>mzs+FN
I am having the same issue in KDE Konsole: https://imgur.com/a/Dj1HZiu

I have to explicitly set the "Show all fonts" checkbox which shows all "non monospaced" fonts.

164. amai+8t2[view] [source] 2023-11-10 15:31:34
>>davidb+(OP)
My monospace font is https://tug.org/FontCatalogue/latinmodernmonolight/
◧◩◪
169. graype+pm3[view] [source] [discussion] 2023-11-10 19:38:33
>>whales+6A
I've loved Victor Mono [0] Italic for this reason for years! I find prose much easier to read with some slight joined-up lettering, which I totally concede is a 100% personal. Worth a look as well though!

[0] https://rubjo.github.io/victor-mono/

◧◩◪◨
176. inferi+MS3[view] [source] [discussion] 2023-11-10 22:36:32
>>mzs+0K3
On Sonoma:

https://i.imgur.com/AMspnPN.png

◧◩◪◨⬒
180. svat+wt4[view] [source] [discussion] 2023-11-11 05:04:32
>>bitwiz+xs1
Who are these typographers, any examples? Considering:

• The design of Computer Modern was based on Monotype Modern 8A, which was made by a "real typographer" for Monotype corporation and used for decades in several textbooks by Addison-Wesley, including the first editions of TAOCP volumes 1–3 (and 2nd ed of vol 1).

• Knuth got close feedback on the font specimens at various steps of the process (and incorporated the suggestions) from many of the world's top font designers, in particular Hermann Zapf, Matthew Carter, Richard Southall, Charles Bigelow and Kris Holmes, who between them are behind such typefaces as Palatino, Optima, Verdana, Georgia, and Lucida. (Zapf and Southall visited Knuth at Stanford and spent weeks working closely with him on the fonts.) I imagine they wouldn't have spent so much time on it if they thought it was "garbage".

• Of course, Computer Modern, and Monotype Modern before it, are (intentionally) boring "workhorse" fonts for textbooks and won't win any points for being stylish or novel or a work of typographic genius — but within that category, CM is AFAICT something close to the best possible rendering of the basic design, very far from "garbage". I'm curious who thinks otherwise. (I've read a few reviews from typographers and no one said the font was bad; one I remember praised the even "texture" of the page, though that was more a result of TeX's Knuth–Plass line-breaking rather than the font itself.)

• (There is also a well-known issue with CM's appearance on low-resolution devices like computer screens rather than print, and especially the "spindly" appearance of the vector font that usually ends up getting used today if one asks for Computer Modern—see my answer at https://tex.stackexchange.com/a/361722 and links in the comments on it—but those have nothing to do with Knuth's design; in fact Knuth personally still uses the Metafont-generated bitmap fonts unlike everyone else. And there are now "newcomputermodern" and "mlmodern" to remedy this.)

◧◩◪◨
195. matj1+nRc[view] [source] [discussion] 2023-11-14 07:04:42
>>chrism+Gu1
I agree with that many present tools expect character grid, but moving away from character grid would be not as much work as it seems IMO.

Code can be aligned with elastic tabstops ( https://nickgravgaard.com/elastic-tabstops/ ) or virtual formatting (that things are aligned according to syntax regardless of whitespace).

Things to align in terminals are mostly tables, and they could be rendered as tables if the terminal supporting that knew that they are tables. Nushell natively supports tabular data structures, so rendering them as proper tables would need just one change – the table renderer.

◧◩◪◨⬒
196. matj1+hSc[view] [source] [discussion] 2023-11-14 07:14:03
>>zokier+R32
I got an answer to a similar problem that VSCode needs working cursors out of the view where the text is not rendered. That is why it relies on the text grid for all layout and movement. https://github.com/microsoft/vscode/issues/142738#issuecomme...
◧◩
198. ar0n+yhh[view] [source] [discussion] 2023-11-15 14:37:50
>>anasri+KN
FWIW you can tweak the line height in kitty, see https://sw.kovidgoyal.net/kitty/conf/#opt-kitty.modify_font
[go to top]