Monaspace - Microsoft presents a new font family for code
3 years ago by GnuLinuxDude to c/technology
The way they talk about it makes it sound like they invented the written word, but that notwithstanding the fonts actually look really nice in my opinion.
I'm a big fan of Fira Code! I haven't found any others I like more.
Love Fira Code but recently switched to https://typeof.net/Iosevka/ and it’s equally great.
You just made my day. Thank you.
It is the default font. At least in all the JetBrains IDE
What makes this unique is that they're saying this allows for different fonts in the same piece of code. So you could have comments in one font, your code in another, AI written code in another, etc. Looks like all the fonts are the same size, so everything still aligns nicely.
I'm an Envy Code R fan myself.
some people even change default system fonts used in the deskop environment (menu's, filemanager etc) 😎😁
I've always preferred IBM's Plex Mono, specifically the Nerd Fonts version.
Honestly I could see radon for comments only. It makes it clear that it's a comment by the font alone.
I can too. I’ve seen something like that before. It was interesting, but not interesting enough for me to care about it as a feature.
I mean, Comic Code is pretty damn good.
That was interesting how they adjusted sizes based on adjacent letters. Good idea
Great idea but the name texture healing is terrible. It’s not healing anything and there are no textures with fonts. Dynamic or flexible weight makes a lot more sense.
I agree that texture healing is a bit too vague about that they’re really using it for. Its really for kerning pair without disrupting the monospaced grid. Maybe, since the audience for these fonts aren’t usually typographers, they should have called it Monospaced Kerning Pairs?
Texture is a term and feature of typefaces in design however. Usually described for fonts used in body text, or larger blocks of text.
While it probably doesn’t affect shorter lines of text used in most coding languages, it can be harder to read when smaller sizes are used. Monospaced MmWw are the worst culprits.
One memorable observation on typographic texture was made by Heinz Peyer, a Swiss poet, who said that reading a text composed in Helvetica was like walking through a field of stones, whereas reading a text in Syntax was like walking through a field of flowers. (23)
Form is often susceptible to logical analysis, and pattern somewhat so, but texture evades precise description because its repetitions are so numerous, its features so small, and its interactions so refined, that the multifarious complexity of the emergent image resists orderly analysis. Texture requires a holistic more than an analytic under standing.
Ironically the second paragraph is turning out to be largely incorrect with smarter ways to analyze blocks of typeface texture. Also this second paragraph nicely illustrates the utter wankery present in a lot of typography circles and analysis.
Gotta justify that grad school bill somehow (pun intended).
Edited for spelling
Oh interesting! In that vain, it does make sense. Thanks for taking the time to explain that.
Could elaborate on what the "dynamic width thing" means?
I like Hack as my font of choice, but I will probably give this a shot. It's a font, there is no risk of data collection, Microsoft style bugs, or other Microsoft-associated product issues.
It's a font, there is no risk of data collection...
TeamViewer checks for a font their app installs when visiting their website to fingerprint you.
In my web browser I personally use uBlock Origin to just block all remote fonts and browse with a JS disabled by default policy. It's an annoying but necessary compromise, in my opinion.
Also, in Firefox v118 a new feature was introduced to curtail the font fingerprint route as well: "The visibility of fonts to websites has been restricted to system fonts and language pack fonts to mitigate font fingerprinting in Private Browsing windows."
I'm sure you know this, but for anyone else scrolling through the comments it is actually ridiculous how much data websites can query and receive to fingerprint users from the web browser. Just look at https://amiunique.org -- "WHY IS THIS ALLOWED?" is the question I have asked for many years now.
"WHY IS THIS ALLOWED?" is the question I have asked for many years now.
Because people want to have features in their web browsers and originally no one really designed the web with security in mind.
Some of it is incredibly difficult to imagine how to do in a private way, too.
For example, my browser can display AVIF images. If my browser announces in the Accept "hey, I'm able to display AVIF images. Please send me AVIF images if you have them rather than JPEG", that helps to identify me, since most browser don't display AVIF, which sucks. But I really want to get AVIF images: they're efficient. So how do I announce that I want AVIF images without announcing that I want AVIF images?
Some of the other web features were well-intentioned but have just ended up being useless. Like your browser also announces what language you prefer. Like "hey if you a German version of this text, please send it to me in German, thanks". But for some reason EVERY WEBSITE IGNORES THIS and just says "oh you speak Spanish and English but you're travelling in Russian right now? HOPE YOU LIKE READING RUSSIAN FUCKER". So it's 100% only used for invading privacy now.
Some of the tracking mechanisms never should have been allowed in the first place (like timezone and which fonts I have installed), but some of them (like Accept) I can't think of how to do in a secure way.
Could be used in combination with other metrics to identify a specific user's movements through a site over time, if the other metrics aren't unique enough.
https://security.stackexchange.com/...
Not a serious rebuttal. But yes, MS has found a way for Windows to be vulnerable to attacks using fonts.
What the....
I meant to link the CVE sorry. https://cve.mitre.org/...
I'd never bother changing whatever default font the editor comes with and I don't understand why anyone would care to
Some people care more about having fancy tools than actually doing work with them.
On reddit, I used to subscribe to the VS Code subreddit. A lot of posts were just about themes, people asking "what theme is this" or posting their latest minor recolor. Meanwhile, I'm there for posts about actually using the damn thing.
sorry i already have comic shanns for that
Thanks I hate it
I've used a similar comic-mono font for a while and it was really good! I don't like how lots of mono typefaces are angular or sharp.
That doesn't look half bad, actually!
i use it in visual studio code and it looks really nice!
Looks lovely! The art of fonts is something I will never understand but always appreciate. This website is also brilliant in showing everything dynamically and explaining why it all matters. Safe to say Github will start using it everywhere? It's also open source, which is nice (and makes sense considering what Github is striving for).
Edit: Not 100% sure on texture healing though. Toggling it on and off in the example makes me feel like texture healing makes everything look weirder. It makes the font look less monospace which should be good, but it just messes with my mind when some letters look slightly different in different contexts. Like the spacing is not immediately obvious to me and having the same letters look different is throwing my mind in a loop. I guess I'll need to try it to see if it's comfortable.
Very interesting technique to get the widths of the glyphs uniform without them looking ugly in most cases. OK, one can make it look bad if you know the "pain points" of the system, but in normal flowing texts, the fonts do look good.
That Krypton font do looking nice
Yeah, like, since when does Microsoft put out something both functional and cool, ya know?
https://www.programmingfonts.org/#hack
You can check out fonts here and filter based on mono spacing, ligatures, etc. Hack is by far my favorite font but I just wish I could use it with nerdfont/jetbrains ligatures. It just has this beautiful way of being able to look open and readable while taking up less space than fonts like fira or jetbrains.
Cool for them for making a font, but personally don't think it's up to firacode, hack, jetbrains or many other fonts out there
Wait, why did they invent the phrase "texture healing" for literally what all mono space fonts try to do: make a monospace font that doesn't look like cluttered shit.
Wait, why did they invent the phrase “texture healing” for literally what all mono space fonts try to do: make a monospace font that doesn’t look like cluttered shit.
They explain it as the same way cursive fonts can have variations on the letters so that they match up (the loop of the y into the e for example). I think it works by having various versions of each glyph: normal, wider to the left, wider to the right, etc) and then pick the glyph based on the surrounding ones.
Pretty cool actually, though I highly doubt this is an innovation. Good for them if they’re actually the first font to do this
Because otherwise they couldn't justify their continued work on things nobody asked for.
Also, those letter combinations are called ligatures, and are generally a bad idea in monospace fonts. The point of them is to make it very clear where one character ends and the next one begins.
Not sure if you misspoke or are just unaware of it, but Hack is one of the prepatched nerd fonts: https://github.com/.... Also, for any fonts that aren't prepatched, there's a patcher in that repo to make any font a nerd font.
oh wait you're right. I wasn't having luck with the nerd fonts on windows but on linux it was somewhat better. what I was thinking about was having Hack with nerd fonts and Jetbrains ligatures patched in. I found a couple repos that purported to do that except the ligatures never worked.
Such a subjective thing and often heavily based on familiarity, but looking at that solidifies my appreciation for Ubuntu Mono
That’s a nice one!
Having different font styles depending on the context is a really nice feature. I'll definitely give it a try.
It's a cool idea and the example they gave actually seemed pretty neat.
I'd (somewhat perversely) love to see this feature tried in a terminal emulator. ANSI does actually define escape codes for switching to alternative fonts (ESC [ 10 m through ESC [ 19 m) though I don't know of any software or even term drawing library that uses it.
That would really be neat.
A lot of code editors support that without the weird "healing" features they laid out here.
VSCode has pretty decent semantic based formatting options.
I didn't think I had strong opinions on fonts.
Turns out I viscerally despise "handwriting" fonts. They're harder to read. It just makes me recoil.
I also intensely dislike "ligatures " that turn like == into a separate glyph. Or the one that turns >= into the > with the line under it. No. Stop. That's not what I typed. That's not what I'm looking for when I scan the text.
Side note: I assume someone is feeling clever and is thinking of replying with a handwriting font message with ligatures. You don't have to. I already imagined it.
The texture healing seems cool though, but I didn't immediately notice or understand until I read through the detailed section on it.
I personally like ligatures when I'm programming. It took me some getting used to, but now I can't live without them due to how distinct it makes the code segments. I fully understand disliking them though. Thankfully fonts like source code pro allow disabling features like ligatures and their godawful handwriting styled italics, so you're able to use just the parts you like.
This "texture healing" seems to be based on commit mono's smart kerning https://commitmono.com/ although it only shifts letters around, it doesn't change the characters.
Will they replace Consolas in Windows with this one or is it a GitHub-only-thing?
In Consolas the characters 1 and l look very similar, making the font unsuitable for coding and terminal use, so it would be good if they replaced it with something else.
I hate Arial as much as a person could possibly hate a font for this exact reason.
Unfortunately this new font family still struggles with the l1 issue,in all but the last two typefaces. There's a lot of good ideas here, and the Krypton version isn't too bad, but I still struggle to see why they haven't figured out that gaping issue on most of the styles here.
The texture healing technique is technically brilliant, but imho looks weird.
I will stick to Source Code Pro.
I want to make a joke about how terrible the name is with just throwing in an 'a', but I don't think it would be right since I'm using Fira Code.
So I agree with OP on the style of the press release being infuriating.
It seems like a lot of tech releases these days are written for non technical journalists (ie The Verge), "tech influencers", and cargo cultists. They always read in a way that's super overhyped to the point where you almost want to be dismissive of the end product as a form of protests.
However the tech seems cool. Between VSCode and GitHub we'll be seeing a lot of feedback sooner or later.
I use Comic Mono and love it. Code is 100% easier on the eyes and to read.
I mean, they look nice, but I don't dislike whatever the default font that I use is, and I'm definitely not going to go out of my way to change a font. As long as it's legible, I don't really give two shits what the font is.
Love Neon. Very easy to read.
Seems neat, I do love Sauce Code Pro though.
I was talking about this...
Looks nice! Is this going to become the default font in GitHub and VSCode?
I also like working with that font.
I'm all about MonoLisa, but I'll give this a look
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
I was actually gonna ask about this point, thanks for the context.
Do modern IDEs allow for setting different fonts for comments, human written code, Copilot written code, etc? I don't do much actual coding these days, so it's been a while. I'm used to just seeing different colors but for things like comments and reserved words, but not fonts like they showed in the examples.
More fonts is nice, I'll give it a try
Looks really good, but I'll stick with my favourite M+ Code, which I use in iTerm2, Emacs, and VSCode.
https://www.programmingfonts.org/#mplus
Also in https://www.nerdfonts.com/
Edited to add: they have semiwide and wide, but no condensed? Weird. That contextual resizing is pretty cool though!
I do not like the “C” in that font.
Another one? Why didn’t they contribute fixes to an existing font family? 🙄
Neon looks good. The rest are awful.
Terminus is still my favorite monospaced font followed by Roboto Mono, so ignore me.
Great, now whenever I want to talk to someone about Mona Font, they're going to get confused.
I can't shake this feeling that these are lacking something, like I remember looking at Fira for the first time and being like wow, even jetbrains mono had a sort of generic charm. These on the other hand, are just meh.
Maybe they are someone's cup of tea though. I am sure in 6 months I will be hearing about how GitHub invented the developer font of some rubbish like that.
This is pretty cool. But I'll stick with Anonymous pro.
Did you read it?
@lemmy.ml
This is the official technology community of Lemmy.ml for all news related to creation and use of technology, and to facilitate civil, meaningful discussion around it.
Ask in DM before posting product reviews or ads. All such posts otherwise are subject to removal.
Rules:
1: All Lemmy rules apply
2: Do not post low effort posts
3: NEVER post naziped*gore stuff
4: Always post article URLs or their archived version URLs as sources, NOT screenshots. Help the blind users.
5: personal rants of Big Tech CEOs like Elon Musk are unwelcome (does not include posts about their companies affecting wide range of people)
6: no advertisement posts unless verified as legitimate and non-exploitative/non-consumerist
7: crypto related posts, unless essential, are disallowed
go to feed...
@lemmy.ml
This is the official technology community of Lemmy.ml for all news related to creation and use of technology, and to facilitate civil, meaningful discussion around it.
Ask in DM before posting product reviews or ads. All such posts otherwise are subject to removal.
Rules:
1: All Lemmy rules apply
2: Do not post low effort posts
3: NEVER post naziped*gore stuff
4: Always post article URLs or their archived version URLs as sources, NOT screenshots. Help the blind users.
5: personal rants of Big Tech CEOs like Elon Musk are unwelcome (does not include posts about their companies affecting wide range of people)
6: no advertisement posts unless verified as legitimate and non-exploitative/non-consumerist
7: crypto related posts, unless essential, are disallowed
go to feed...
People actually change fonts in their IDE? I've always used whatever the default is and never even thought about it.
save