Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

> Atkinson Hyperlegible Mono lacks programming ligature support.

Good. That's a feature, not a bug. I want -> to render as a dash and a greater than sign. Not an arrow. I can't even articulate why, other than a deep seated distrust of magic.



For me, it's because it messes with my expectations of where my cursor will go when I move it over the ligatured characters and what will happen when I edit them. It's very jarring to delete one character and see the character(s) next to it change.

There is also something to be said for each character being the instructions for how you type it. How to type “->”? Press - then >. With ligatures, that goes out the window, and at least for me, I have to quickly look up in my memory how to type ≥ or ⟹.

That said I do very much like Commit Mono’s “smart kerning”, where characters are adjusted slightly based on the characters surrounding them. I guess you could call it a soft version of ligatures. For instance, when an m is between two i‘s, the i‘s get pushed away a tad to give the m a bit more room to breathe. Similarly, when you type an ellipses (...), the dots get pushed ever so slightly closer together than they would be naively.


Nothing stops you from simply not enabling that font feature, user config is also not a bug


Configurable fonts are a thing? Never configured a font beyond size/weight/colour. Intetesting.


Yep, modern fonts have features that can be enabled or disabled, depending on client support. IDEs typically allow to enable/disable ligatures and you also can control font features with CSS (see: https://developer.mozilla.org/en-US/docs/Web/CSS/font-featur...)


How?

Which editors on which OS's provide a toggle for that?


Jetbrains IDEs: Settings > Editor > Font > Enable ligatures

Sublime Text: Set "font_options" to "dlig". There are other settings to choose which character tables are allowed to use ligatures or not.

Visual Studio Code: Set "editor.fontLigatures" to "true". You can also put CSS font features to choose which ligatures you want to enable.


Thank you so much, I had no idea! Very helpful.


Dunno about toggle in an editor but fancy terminals have config flags for stuff like that (Kitty, Wezterm, Ghostty, etc...).

And then you run Vim or Emacs in said terminal...


This is why I like 0xProto font. It has ligatures for a nice clean look, but preserves a little bit of spacing between characters so they're still legible as individual characters. It's also very readable and legible overall, with nice proportions.

And ligatures are a must for me because I find that symbols don't line up nicely in a ton of fonts and it annoys me a lot.


wezterm gives you the option to ligature or not to ligature.

  config.harfbuzz_features = { 'calt=0', 'clig=0', 'liga=0' }




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: