\

GitHub Monaspace Case Study

86 points - today at 3:01 PM

Source
  • evanjrowley

    today at 3:42 PM

    I like the way the problem of "m" is solved by Ubuntu Mono: https://fonts.google.com/specimen/Ubuntu+Mono

    It's what I landed on after completing the Coding Font game submitted to HN yesterday: https://news.ycombinator.com/item?id=47575403

    • ben_pfaff

      today at 4:44 PM

      I decided to try using proportional fonts for coding starting a year or two back. It worked out well and I stuck with it, because proportional text is easier for me to read on the whole, and because it allowed more characters to fit comfortably on each line on average. I did find after a while that occasionally the lack of alignment between characters on two subsequent lines was a problem, but then I configured my editor so that it showed comments and text strings in a monospace font and that fixed the problem for me.

        • CharlesW

          today at 6:03 PM

          This seems a great solution, and I'll definitely be trying it. I feel like monospace fonts are the Roman roads → horse ruts → rail gauge of our industry.

      • endunless

        today at 4:16 PM

        I do like these fonts, but DJR had this idea with the (excellent) Input family of fonts years ago:

        https://input.djr.com/

        A bit weird to not mention that.

        Unfortunately until editors start supporting this (and I’m not sure what would motivate them to), these remain great ideas only.

          • sheiyei

            today at 4:38 PM

            Input's method seems to be fundamentally very different to this. Monaspace keeps the grid intact and only changes the characters visually (situationally overlaps wide letters to neighbouring narrow characters' spaces). Input just pretends to be monospace in its aesthetics, I don't really understand what's supposed to be special with that.

              • endunless

                today at 5:07 PM

                Fair points on the technical implementation.

                I more meant the idea of using different fonts in the same buffer to represent different kinds of text.

            • asibahi

              today at 5:37 PM

              Input is a proportional font.

              Monaspace is a monospace font that uses contextual alternatives: it changes how letters look depending on surrounding letters.

              They are nothing alike in their approach to this problem.

              (Also this is a marketing piece. Contextual alternatives is not a new tech.)

                • naikrovek

                  today at 6:44 PM

                  > Input is a proportional font.

                  it is also a monospaced font

              • pfortuny

                today at 6:27 PM

                Honest question: does emacs (GUI) not support this?

                • actionfromafar

                  today at 4:43 PM

                  Which editors?

                    • endunless

                      today at 5:15 PM

                      Given GitHub is owned by Microsoft, I think VS Code supporting mixing fonts in a buffer would be a good start!

              • sombragris

                today at 4:52 PM

                When I saw the Monaspace family linked in a HN frontpage some time ago, I installed the whole family, and now my terminal font is Monaspace Neon. I also type my LaTeX code in Monaspace Argon. They won me over Iosevka.

                • exceptione

                  today at 4:19 PM

                  Very useful to mix and match various fonts based on semantics. I have a problem with Radon's l though, to me it reads like chumiZy and xenoZith. I don't understand how this could have slipped through, I can't be the only one being constantly confused.

                    • kyle-rb

                      today at 5:38 PM

                      Yeah, I think the italics compounds the problem in their comment example: // Notify aZZ Zisteners

                      • sheiyei

                        today at 4:42 PM

                        I feel like that font is a real bad apple. The other ones are decent and I like the "texture healing" (but not its name)

                    • today at 4:57 PM

                      • ferd

                        today at 6:03 PM

                        I really like Monaspace Argon, but even the narrower option looks too wide on my terminal (kitty on macos)

                        • rezmason

                          today at 3:33 PM

                          Were fonts always able to do "texture healing"? Has no one tried this before?

                            • fontain

                              today at 3:44 PM

                              “Texture healing works by finding each pair of adjacent characters where one wants more space, and one has too much. Narrow characters are swapped for ones that cede some of their whitespace, and wider characters are swapped for ones that extend to the very edge of their box. This swapping is powered by an OpenType feature called “contextual alternates,” which is widely supported by both operating systems and browser engines.

                              Contextual alternates are normally used for certain scripts, like Arabic, where the shape of each glyph depends on the surrounding glyphs. And they are also used for cursive handwriting fonts where the stroke of the “pen” might have different connection points across letters. Texture healing is a novel application of this technology to code.”

                              • dhosek

                                today at 4:14 PM

                                Always able to do it? Yes. Even before OpenType alternates, the extended ligature support in TeX 3.x would have also allowed for this sort of thing.

                                Why has no one tried it before? Because (a) nobody thought of it and (2) OpenType alternates, while they’ve been around for a while, have not always been supported in the sorts of programs that use monospace fonts (code editors and terminals)

                                • layer8

                                  today at 5:16 PM

                                  It really only makes sense on high-DPI displays (or large font sizes), which didn’t used to be that wide-spread.

                                  Conversely, nobody seems to be doing pixel-based hinting anymore, which is why all newer fonts tend to look terrible at small font sizes on lower-DPI displays.

                                  • micampe

                                    today at 4:49 PM

                                    There have been other attempts; Commit Mono uses a slightly different approach: https://commitmono.com/ (don’t know which came first)

                                • keeganpoppen

                                  today at 3:36 PM

                                  i do think that the type designers did incredible work with monaspace… i used to be an Operator-exclusive kind of guy (rip hoefler x frere-jones), but i genuinely think they did enough to completely displace it from my font lexicon, which is no mean feat.

                                    • satvikpendem

                                      today at 5:15 PM

                                      I usually stick with Apple's SF Pro Mono but I'll have to try out this font.

                                      • keeganpoppen

                                        today at 3:36 PM

                                        i do prefer neon and argon to the rest, though i see the place for all of them to exist