They’re pretty fonts and they’re released under SIL Open Font License 1.1. I dig it.
Monaspace - Microsoft presents a new font family for code
Submitted 1 year ago by simple@lemm.ee to programming@programming.dev
https://monaspace.githubnext.com/
Comments
elint@programming.dev 1 year ago
jeffhykin@lemm.ee 1 year ago
I like all of it, except for that awful “texture healing”. Imagine having words above and below:
i=mins w=maxs
And the
m
’s being slightly widths and not lining up with each other 🤢OmnipotentEntity@beehaw.org 1 year ago
Here’s your code example in the editor. I don’t personally think the difference between the 'm’s is super noticable. But what did strike me a lot more is the difference between the two 'i’s in the first line.
murtaza64@programming.dev 1 year ago
It looks like it’s not an actual height difference, but the smaller width makes the second i look significantly smaller than the first, also implying a lower height.
jeffhykin@lemm.ee 1 year ago
thanks for rendering that! and yeah that height difference is really weird. That almost seems like a bug.
Also Idk if the ='s make the m smaller or bigger. If the streching is so small as to be unnoticable then I also don’t really understand the purpose.
wethegreenpeople@sopuli.xyz 1 year ago
They would still line up, wouldn’t they? Or am I misunderstanding how the texture healing would work… Would they not take the same total amount of space?
jeffhykin@lemm.ee 1 year ago
Each line takes up the same total space but the “m” in “mi” would be wider than the m in “ma”
qwertyasdef@programming.dev 1 year ago
That texture healing looks super nice. Is that something fonts can just do or does it require special editor support?
autokludge@programming.dev 1 year ago
It’s basically a different type of ligature - it is standard to OTF fonts, but requires ligature support in your editor/terminal. Just need to enable ligatures and/or enable specific ligature sets. See github.com/githubnext/monaspace#editors or maybe wezfurlong.org/wezterm/config/font-shaping.html for the general procedure in a supporting terminal.
jeffhykin@lemm.ee 1 year ago
Is there a way to disable it but keep ligatures?
Die4Ever@programming.dev 1 year ago
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.
basically fonts were already capable of using alternate versions of characters based on their nearby characters, so they used that for these fonts to allow for seemingly-dynamic sizing/spacing
lemmyvore@feddit.nl 1 year ago
It’s an OpenType standard feature but the font rendering system has to support it and the app has to enable it. The page has a link to instructions for enabling it in VS Code but I have no idea about support status on different OS and desktop environments. I could see it working on webview on Android fwiw, I’m guessing it’s either well supported in general or at least by browsers.
admiralteal@kbin.social 1 year ago
aloso@programming.dev 1 year ago
It is well supported in all browsers and operating systems. At least VS Code and IntelliJ support it, and even some terminals.
muhanga@programming.dev 1 year ago
And sadly one more font I will never be able to use due to missing support of non-latin characters.
ultratiem@lemmy.ca 1 year ago
You’d think after that page of “texture healing”, alignment, etc. etc., Microsoft would actually make a fully, complete font first and foremost…
muhanga@programming.dev 1 year ago
And release zip contains a _MACOSX folder which is a clear indication of sloppiness and/or rushed release. … and ligatures don’t work out the box in JetBrains product IDEs.
And if only they slapped beta on this there will be not problem what so ever…
murtaza64@programming.dev 1 year ago
I wonder if terminals will ever support switching fonts with control sequences… Would be pretty awesome!
cd_slash_rmrf@programming.dev 1 year ago
not sure about escape sequences just yet, but Kitty gives you insane control over font rendering sw.kovidgoyal.net/kitty/conf/#fonts
killeronthecorner@lemmy.world 1 year ago
That’s actually a really cool idea. Now I hope this too!
beeng@discuss.tchncs.de 1 year ago
Hmm nothing really jumped out at me at first glance, I don’t mind the ligature stuff, but also love monospace for the aesthetic.
But I am glad they’re experimenting with this stuff. Ive always wanted a sarcastica font, we’re almost there with sArCAsm. But it’s a pain to right :)
g6d3np81@kbin.social 1 year ago
If you use QMK you're in luck
__init__@programming.dev 1 year ago
Holy shit, I never even thought to do something like this. Hahaha. I’m gonna try it later.
beeng@discuss.tchncs.de 1 year ago
ZMK actually… But thanks for the idea.
cashew@lemmy.world 1 year ago
Neon is the only one that I think is passable. The rest are a bit too stylized for code. The texture healing is a great idea though, I would love for that to be common.
ultratiem@lemmy.ca 1 year ago
Yeah texture healing is poorly thought out and will break way more things than it “fixes”. If your font needs that, go in and fix the damn font. A solution to a problem no one asked for, thanks Microsoft!
Pyroglyph@lemmy.world 1 year ago
Neon and Argon: Seem okay. They’re really quite similar though. It’s like the designers couldn’t decide which they liked more and so just decided to release both.
Xenon: It feels alright. The horizontal serifs give everything a more uniform look, but you can also get that with any other serif font.
Radon: Uh, no thanks. It’s like someone took the weird letters from Dank Mono and said “what if we did that but for the whole font?”
Krypton: What if we just took OCR A and added ligatures? Alternatively, “Floating Point Precision Error: The Font”
suy@programming.dev 1 year ago
Radon, the “handwriting” one, seems like if someone wanted to have Comic Sans but for code.
cashew@lemmy.world 1 year ago
Comic Code is a thing and it’s 10/10. It’s proof that handwriting style fonts for code is possible.
Rubanski@lemm.ee 1 year ago
I think Xenon with it’s small serifs looks a bit like SimSun, but with better kerning
admiralteal@kbin.social 1 year ago
I still like Fira Code better. These are really nice and if there was a fast and easy way to implement fonts to my syntax highlighting maybe I'd give it more of a spin, but that seems really annoying to set up and baseline I don't find any of these easier to read than Fira.
silas@programming.dev 1 year ago
I used to use Fira Code, but my new personal favorite is MonoLisa
Patches@sh.itjust.works 1 year ago
Does MonoLisa support all the proper symbols like not equal? Less than equal to? Greaten than or equal to? I love that feature when writing code. It makes it so much easier to understand imo.
codemonk@programming.dev 1 year ago
Technically, font healing is a neat idea. It fails for text that does not meat its requirements, i.e. two ‘m’ next to each other. Depending on the characters around them, this might create two different ‘m’.
This is unavoidable, of course. The only solution are proportional fonts. So font healing is a nice idea. It creates a more consistent spacing at the price of less consistent glyphs. Whether one likes this compromise, is a matter of taste. I personally lean towards consistent glyphs, but I did not try it for an extended period.
BatmanAoD@programming.dev 1 year ago
I’m not sure I’d consider that “failing”. At first glance, I don’t mind the distinct “m” glyphs being juxtaposed. But perhaps I’d find it annoying after a while.
codemonk@programming.dev 1 year ago
Maybe ‘failing’ is too strong. What I mean is that in situations like the one I showed, texture healing cannot solve the problem of uneven texture. Not that they claimed it does. It just eases the problem. I like to know the trade-offs. When does it provide an improvement and when not? What tensions does that create?
From a users point of view, I do not know if it ‘fails’ or not. I totally agree with you. Maybe the I would find to distinct ‘m’ glyphs annoying, maybe not. And example emphasizes the ‘problem’. Maybe, I woukd even notice while coding or writing. To know that, I need to try. I just like to know the trade-offs in advance.
jadero@programming.dev 1 year ago
I’ve long preferred proportional fonts and positional tab stops like what you find in a WYSIWYG word processor. Got a tab position wrong? Drag it as appropriate or, if necessary, add a new one. In fact, during a period where I was doing far more writing than programming, in the days before code completion, I preferred my WYSIWYG word processor to my code editor. I had appropriate scripts and macros for cleaning up imported text files and to always save both native format and a text file with spaces in place of tabs. I also had different templates for different languages so that I could have custom processing for different languages. (It helps that a big part of that job was teaching people how to use word processors as far more than just electronic typewriters.)
Now, of course, the programmer’s editor is an advanced tool tailored to the job, making it lunacy to even consider a word processor as code editor. Which doesn’t mean that there aren’t word processing concepts that might be valuable.
Nick Gravgaard has some good writing on the subject and links to a variety of resources, including to at least one proportional font designed for programming.
codemonk@programming.dev 1 year ago
Interesting. Thanks for sharing. I started with WYSIWYG and did not like editing with proportional fonts. Things do not align, the cursor jumps around and movements have variable distances. But I much prefer looking at beautifully typesetted proportional font (e.g. with LaTeX). While I think, monospaced font are nice for editing, they are okayish to look at.
Thanks for the link. I will look into it and maybe try proportional for coding once more. Another idea I really like are almost proportional fonts. Read about these fonts a few month ago. So far I haven’t tried them.
yoevli@lemmy.world 1 year ago
I don’t think I’ve ever felt the urge to apply an alignment chart to monospace fonts of all things, but Xenon and Radon are basically lawful and chaotic evil respectively.
brunofin@lemm.ee 1 year ago
The fonts are nice but I absolutely hate the “copilot voice” text moving around idea, it’s absolutely terrible to read.
JakenVeina@lemm.ee 1 year ago
I don’t think the intention is that Copilot voice would be animated, I think they just had a dumb idea to highlight it that way in the demo. Look closely, and you’ll see the Copilot voice is the only text there written in the “Krypton” font. The animation indeed looks godawful.
brunofin@lemm.ee 1 year ago
I hope you’re right
Carighan@lemmy.world 1 year ago
Damn, these are pretty good.
I’ve been using Iosevka for quite a while now which is very tall and thin by comparison to most fonts. These are wider, but that makes them more favorably compare to Consolas, still overall my favorite font for the console (Cascadia Code looks weird with Antialiasing IMO).
Going to give Xenon in particular a week to try it out. Love a programming font with serifs.
kogasa@programming.dev 1 year ago
There’s Iosevka Extended
Kolanaki@yiffit.net 1 year ago
Ooo… I like the purple one. Very space-aged.
choroalp@programming.dev 1 year ago
I cant believe they gavr the cool name of Radon to the shittiest font of the group
simonced@lemmy.one 1 year ago
Looks nice, I’ll try it today and see how it goes. At least MS doing something good for a change…unless they added spyware to a font!? LOL
GarytheSnail@programming.dev 1 year ago
I’m still loving comic code.
blakeus12@hexbear.net 1 year ago
they look nice, I especially like Krypton, but to be honest cascadia code was already great. If it ain’t broke, don’t fix it
joyjoy@lemm.ee 1 year ago
There’s even caskaydia cove for nerd fonts.
Zezzy@hexbear.net 1 year ago
Looks nice, but it fucks up the ligatures in a lot of functional languages other than pipes |>. Poor <$>, >>=, *>, >>>, and all their friends
killeronthecorner@lemmy.world 1 year ago
I’m a huge fan of Cascadia Code so definitely gonna check these out.
ironeagl@sh.itjust.works 1 year ago
Hope this isn’t another half-finished Bahnschrift situation.
sirdorius@programming.dev 1 year ago
Why the fuck is a page about fonts using 50% CPU?! Is it mining crypto or something?
dylanTheDeveloper@lemmy.world 1 year ago
Average website experience in 2023
dabu@lemmy.world 1 year ago
That’s just modern web dev
sirdorius@programming.dev 1 year ago
I really hope Chrome gets its shit together and stabilizes the chrome.processes API during my lifetime so I or someone can make an extension that autokills or at least warns you about these shitty pages.