Live data from Hacker News

Monaspace

monaspace.githubnext.com

101–110 of 206 posts

Re: Monaspace

#103

Earlier quoted context omitted.

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…

> How on earth is the user supposed to figure out that that wide ≠ is actually typed !=? > 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!” It's not a difficult concept. Nobody gets confused if :) is displayed as an emoji.

:) isn’t load-bearing syntax. != is.

—⁂—

Fun fact: the King James Version of the Bible uses “:)” 37 times (e.g. Matthew 24:15) and “;)” 53 times (e.g. Deuteronomy 4:31).

I’ve had auto-emojification of character sequences like :) cause problems on more than one occasion, e.g. in things like copying logs and getting them mangled. I strongly oppose those sorts of transformations being applied willy-nilly. Converting :) into U+1F642 or similar at authoring time is OK, so long as I can turn it off, but doing it blindly causes enough problems and helps little enough that it just shouldn’t be done any more, not when most devices have ready access to actual emoji input.

Re: Monaspace

#104
post #4

The "Texture Healing" feature is a really smart use of OpenType features to make problematic monospace combinations look much better without breaking the grid at all. One naive way to do this would be to create ligature pairs for difficult pairs (mi, lm, etc). But instead, they seem to be selecting character alternates that fill the fixed width differently based on their surroundings.

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.

If this gets popular, I could see a text editor that lets you use a non-healing version of the font for any text that has been written in the viewport and then swaps it out as soon as you no longer looks at that block of text – or straight up uses a different font for my modifications compared to the committed code.

But even without anything like that, if it’s good for reading I like to use different fonts when reviewing and writing code to help with the context-switch, so I think this could be useful to me. And I guess people in regions where a single keystroke isn’t always a single character such as Korea, China, Japan and the arab world might be used to the jarring effect already?

Re: Monaspace

#105
post #11
post #6

How would you configure a text editor or terminal to use different fonts based on syntax (e.g. neon for code, argon for comments)?

Hi! I worked on this at Next. Unfortunately, it's on the editor to support mixing fonts. There's never been multiple compatible monospaced fonts before so no editors really support this yet. Lots of editors also don't support variable typefaces properly yet (ahem, VS Code) but this is going to change. Ultimately what you're describing is the future! But we have to release the typefaces to bootstrap that future. We ma…

> so no editors really support this yet

Emacs and Vim have both supported this since at least last century.

Re: Monaspace

#106

Earlier quoted context omitted.

Videos?

At some point you'll just have to accept that not everyone has the exact same tastes as you. Initially it was "don't force ligatures on me I want to be left alone", now it's "other people are forbidden from using ligatures because I might be forced to gasp glance at one in a video". Grow up!

They're my retinas and I demand you only show them approved content.

Re: Monaspace

#108

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

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

Re: Monaspace

#109

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

What are the reasons for your recommendations? One problem I might see is that it is even harder to spot a typo with this font.

Re: Monaspace

#110
post #50

In the sample text box, when I enable the grid, sometimes the gridlines pass right through the characters. For example, the default settings (Neon, size 16, weight 300, width 100, slant 0, texture healing on (or off), ligatures on), in the line "// Implement timing", the gridlines encroach on charcters in "Implement" and clearly intersect characters in "timing". If it's just an issue with the textbox, it doesn't matt…

That is a result of texture healing. The page explains how it works.

Texture healing should keep the letters within the grid. Also, it happens with texture healing on or off.
Post reply on HN