this post was submitted on 04 Sep 2024
355 points (98.9% liked)
Linux
48745 readers
846 users here now
From Wikipedia, the free encyclopedia
Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).
Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.
Rules
- Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.
- No misinformation
- No NSFW content
- No hate speech, bigotry, etc
Related Communities
Community icon by Alpár-Etele Méder, licensed under CC BY 3.0
founded 5 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
The "fi" combination also seems problematic since they seem to intersect.
That's a ligature, it's deliberate.
To me, that's even worse. Ligatures that have 0 separation where it's expected short circuit my reading comprehension.
This looks wonderful. Ima dl this now.
You can turn them off with every font. But you'll be surprised by how much they can improve readability, because they remove optical irritation as shown here.
So what I see there is that badly designed fonts require ligatures to correct interactions.
Like, I get that there are some neat ones, e.g. I have them turned on when writing code for symbols, but they seem wholly unnecessary and distracting in alphabetical characters.
But I'm also the kind of weirdo that thinks the world needs more monospace fonts.
/shrug
It is the exact opposite. Ligatures were created to help deal with the lack of clarity when symbols overlap. fi, ff, fl, ffi, have historically (like print press historical) been common ligatures where others are stylistic, where others are downright questionable & make things harder to read. The first category should almost always be supported, & the others can usually be disabled if not commonly off by default where you opt in for some design, not for general body copy.
What you are referring to about ‘programming ligatures’ is an outright abuse of open type features full of false positives, ambiguities, & lack of clarity for outsiders to understand what your code means. What you want is Unicode supported in your language so you can precisely what you mean than using ASCII abominations—like meaning
→
but typing->
, dash + greater, than which isn’t at all what you mean which is a rightward arrow. (with a non-exhaustive languages with decent Unicode support: Raku, Julia, Agda, PureScript, Haskell with Unicode pragma, & all APL dialects).That's what a ligature is. Combining two characters so they don't clash.