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.
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.
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).
Like kerning pairs, but with character swapping instead of kerning adjustments. It’s a really clever use of the language features available in Unicode.
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.
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.
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.
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.
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.
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.
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.
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.
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.
At least 1Il & 0O are different and (mostly) easily distinguishable in all the variants. Only exception is in the Argon variant 1 and l are too similar IMO.
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.
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.
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 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.
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.
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.