this post was submitted on 09 Nov 2023
270 points (95.0% liked)

Programming

17026 readers
288 users here now

Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!

Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.

Hope you enjoy the instance!

Rules

Rules

  • Follow the programming.dev instance rules
  • Keep content related to programming in some way
  • If you're posting long videos try to add in some form of tldr for those who don't want to watch videos

Wormhole

Follow the wormhole through a path of communities !webdev@programming.dev



founded 1 year ago
MODERATORS
top 50 comments
sorted by: hot top controversial new old
[–] sirdorius@programming.dev 44 points 10 months ago (2 children)

Why the fuck is a page about fonts using 50% CPU?! Is it mining crypto or something?

[–] dylanTheDeveloper@lemmy.world 48 points 10 months ago

Average website experience in 2023

[–] dabu@lemmy.world 39 points 10 months ago (1 children)

That's just modern web dev

[–] sirdorius@programming.dev 8 points 10 months ago (1 children)

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.

[–] dylanTheDeveloper@lemmy.world 10 points 10 months ago

No no you see it's the website owners that are the issue because they didn't build the website specifically for chromium browsers /s

[–] elint@programming.dev 32 points 10 months ago

They're pretty fonts and they're released under SIL Open Font License 1.1. I dig it.

[–] jeffhykin@lemm.ee 18 points 10 months ago* (last edited 10 months ago) (1 children)

I like all of it, except for that awful "texture healing". Imagine having words above & below like

i=mins
w=maxs

But the m's just slightly don't line up because the top one is wider than the bottom one. I'd feel like my editor was gaslighting me 🤢

[–] wethegreenpeople@sopuli.xyz 3 points 10 months ago (2 children)

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 9 points 10 months ago* (last edited 10 months ago)

Each line is the same total length but the "m" in "mi" would be wider than the m in "ma"

[–] qwertyasdef@programming.dev 16 points 10 months ago (3 children)

That texture healing looks super nice. Is that something fonts can just do or does it require special editor support?

[–] autokludge@programming.dev 20 points 10 months ago (3 children)

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 https://github.com/githubnext/monaspace#editors or maybe https://wezfurlong.org/wezterm/config/font-shaping.html for the general procedure in a supporting terminal.

load more comments (3 replies)
[–] Die4Ever@programming.dev 17 points 10 months ago* (last edited 10 months ago)

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.

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 8 points 10 months ago (2 children)

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 6 points 10 months ago

Here is the comprehensive editor compatibility list for Fira Code. Should be the same.

[–] aloso@programming.dev 2 points 10 months ago

It is well supported in all browsers and operating systems. At least VS Code and IntelliJ support it, and even some terminals.

[–] murtaza64@programming.dev 15 points 10 months ago* (last edited 10 months ago) (2 children)

I love the idea of using multiple font faces at the same time while looking at code. I wonder if (hope?) terminals will one day soon support switching fonts with control sequences.... Would be pretty awesome!

[–] cd_slash_rmrf@programming.dev 3 points 10 months ago

not sure about escape sequences just yet, but Kitty gives you insane control over font rendering https://sw.kovidgoyal.net/kitty/conf/#fonts

load more comments (1 replies)
[–] muhanga@programming.dev 15 points 10 months ago* (last edited 10 months ago) (1 children)

And sadly one more font I will never be able to use due to missing support of non-latin characters.

Sadly some features are nice.

[–] ultratiem@lemmy.ca 8 points 10 months ago (2 children)

You'd think after that page of "texture healing", alignment, etc. etc., Microsoft would actually make a fully, complete font first and foremost...

load more comments (2 replies)
[–] beeng@discuss.tchncs.de 15 points 10 months ago* (last edited 10 months ago) (3 children)

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 write :)

load more comments (3 replies)
[–] admiralteal@kbin.social 14 points 10 months ago (1 children)

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 2 points 10 months ago

I used to use Fira Code, but my new personal favorite is MonoLisa

[–] Pyroglyph@lemmy.world 12 points 10 months ago* (last edited 10 months ago) (2 children)

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"

Overall, none of these are compelling enough to make me want to try them. I quite like the Texture Healing feature, but it's not enough to make me want to move to it.

Also, using multiple different fonts in one code file sounds horrendous.

[–] suy@programming.dev 11 points 10 months ago (2 children)

Radon, the "handwriting" one, seems like if someone wanted to have Comic Sans but for code.

[–] cashew@lemmy.world 6 points 10 months ago

Comic Code is a thing and it's 10/10. It's proof that handwriting style fonts for code is possible.

[–] nameisnotimportant@lemmy.ml 2 points 10 months ago (3 children)

That's exactly how I thought, I'm not a dev myself but are there really people who might use a font like this to code?

[–] Pyroglyph@lemmy.world 2 points 10 months ago

It's a stretch, but the only thing I can think of is that it might be a bit better for dyslexic people because the letters are a bit more diverse, but I don't think it's nearly enough to be considered an actual dyslexia font.

load more comments (2 replies)
load more comments (1 replies)
[–] codemonk@programming.dev 12 points 10 months ago (4 children)

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 2 points 10 months ago (3 children)

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.

load more comments (3 replies)
load more comments (3 replies)
[–] yoevli@lemmy.world 12 points 10 months 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 11 points 10 months ago (1 children)

The fonts are nice but I absolutely hate the "copilot voice" text moving around idea, it's absolutely terrible to read.

[–] JakenVeina@lemm.ee 11 points 10 months ago (1 children)

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 3 points 10 months ago

I hope you're right

[–] cashew@lemmy.world 10 points 10 months ago* (last edited 10 months ago) (1 children)

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.

Edit: Actually I've changed my mind. Texture healing would introduce too much variation in similar texts. If spacing is a problem then maybe the font is simply no good.

[–] ultratiem@lemmy.ca 4 points 10 months 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!

[–] Carighan@lemmy.world 8 points 10 months ago (1 children)

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 3 points 10 months ago

There's Iosevka Extended

[–] Kolanaki@yiffit.net 7 points 10 months ago* (last edited 10 months ago)

Ooo... I like the purple one (Krypton). Very space-aged.

[–] simonced@lemmy.one 6 points 10 months ago (1 children)

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

load more comments (1 replies)
[–] GarytheSnail@programming.dev 5 points 10 months ago

I'm still loving comic code.

[–] Zezzy@hexbear.net 4 points 10 months ago

Looks nice, but it fucks up the ligatures in a lot of functional languages other than pipes |>. Poor <$>, >>=, *>, >>>, and all their friends

[–] blakeus12@hexbear.net 4 points 10 months ago (1 children)

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 4 points 10 months ago

There's even caskaydia cove for nerd fonts.

[–] choroalp@programming.dev 3 points 10 months ago* (last edited 10 months ago)

I cant believe they gave the cool name of Radon to the shittiest font of the group

[–] killeronthecorner@lemmy.world 2 points 10 months ago

I'm a huge fan of Cascadia Code so definitely gonna check these out.

[–] ironeagl@sh.itjust.works 2 points 10 months ago

Hope this isn't another half-finished Bahnschrift situation.

load more comments
view more: next ›