`Only two minimal ligatures are exposed with "->" and "=>".`
I like that, I usually have ligatures turned off, because I don't like all of them, especially the ones for == or ===. (Otoh I do like != ligatures...) but I do like the arrows.
This is probably were somebody tells me how easy it is to configure singular ligatures on a font and I'll facepalm in embarrassment for never finding out.
I hate all of them with a passion, because they look like a glyph (i.e. "something you can erase with a single backspace") but aren't. This confuses me first, and annoys me second. "Just because we could" doesn't mean that we should.
Imagine having to use Backspace twice to erase e.g. Ö or Ñ, or being able to place your cursor halfway inside Æ.
It's pretty easy. You can opt into any ligature you like across every mode, and then add extra ones for each programming mode or other mode. For example:
(use-package ligature
:ensure t
:config
;; Enable specific ligatures globally across all modes:
(ligature-set-ligatures 't '("==" "===" "!=" "->" "-->" "=>" "=="))
;; Enable individual ligatures only for specific programming modes:
(ligature-set-ligatures '(python-mode rust-mode c-mode)
'("||" "&&" "::" "->" "=>" "!="))
;; Enable ligatures only for HTML / XML:
(ligature-set-ligatures '(html-mode nxml-mode web-mode)
'("<!--" "-->" "</" "/>"))
;; Enable global ligature mode
(global-ligature-mode t))
Same here. I saw it and didn't really care for it at first, but after using the blink feature on that site, I kinda think I like it better than Jetbrains. I may have to give it a a try. That site is really cool.
Setting aside the other ways AI is upending society, I absolutely love how we can all share and build on simple artifacts and micro-apps now that can be built entirely from our brain's vision expressed in plain English.
Eg the `m` is much different: it has the wonderful short middle descender, taken from Ubuntu Mono.
Your comparison says the `m` is 28% different. It's completely different. I don't know what the 28% is supposed to represent (yes, the difference in the area taken, but that's meaningless).
It's not completely different. Look at other fonts (e.g. comic sans) to see what "completely" means. Norwand is a little wider and the middle line is shorter. 28% seems a fairly accurate measurement. It's almost one third different for just the middle descender.
I prefer the JetBrains Mono choice for "3", where JetBrains Mono uses the shape that is recommended for writing a "3" that cannot be easily morphed into another digit, like "8".
It's not just a little different. it's VERY different. it's much more boxy, and letters are closer in height, especially noticeable in uppercase next to lowercase. I would say it's less readable than Jetbrains Mono.
Lower case 'l' even extends above upper case 'G'. it missed with my brain xD
Overall it's really pretty but not a daily driver.
Problem with that font is they haven't pushed a new build of it in over a year. You can take their build file and build it with a newer Iosevka, but you'd have to learn how that tool works (I've done it, its not user friendly).
I will never understand people who expect fonts for free. They don't grow on trees. Font development is extremely involved, and I am happy to die on this particular elitist hill: the overwhelming majority of free fonts are absolutely rubbish.
Any font that is free and is still reasonably good is almost certainly designed by a type foundry for a megacorp's branding and user interface (so, things like SF Pro, Segoe UI, Open/Noto Sans, Roboto, JetBrains Mono, IBM Plex, Source Sans, Fira Sans, Inter, etc), or are historic properties of the type foundries themselves, like Garamond, Helvetica, Didot, Minion, etc.
ASCII isn't the only set of characters. Just the LGK (Latin, Greek, Cyrillic) set of glyphs alone including combining marks, diacritics, contextual alternates and ligatures alone amount to several thousand glyphs, each of which have to be tuned for different weights, hinted for different display resolutions, hinted for RGB/BGR subpixel rendering, and more.
I've never had an issue with just using the system fonts. If I were a company building a product and wanted a specific font for branding, then I would pay for it. In my day to day life, extra fonts are just fluff.
I think it's an investment in ergonomics, like a good chair or a good table. If your job involves staring at text 8 hours a day, $50 for a good font that relaxes your eyes and your brain is pennies well-spent.
This goes double for any contractor who can just write it down as business expense.
Thanks for mentioning it! First time I heard about Commit Mono. The first paragraph already had me wondering how a monospace font can read this well.
Turns out it has smart kerning, ie. character positions are subtly adjusted to compensate for different character widths. For example, i is narrow and m is wide. That causes words like "commit" to look bad in standard monospace fonts. The m's in the middle are very densely spaced and there are wide gaps around the i.
I'll be testing Commit Mono in my editors. Maybe it will even make me switch SilverBullet back to a monospace config.
I don't know if there is some sarcasm here. I was intrigued by the "smart kerning" feature mentioned but with both that very low contrast ratio and the small text size, I can't really see a thing on that website.
Funny, I found this font last week on the programming fonts website before it blew up. Was using IoskeleyMono before, and think this is my endgame for now! Amazing readable font.
I have been going back and forth between Luxi Mono (serif monospace fonts are rare but look great on high-resolution monitors) and Hack (like Helvetica, it has virtually no personality and thus fits well everywhere). Everything else I've seen has looked... weird or off somehow. But this is one of the first alternatives I'm entertaining the idea of trying.
My main concern is that the tall glyphs for less than < and greater than > will disambiguate badly with actual Unicode left 〈 and right angle brackets 〉.
The hyphen is as wide as the em dash (it's one pixel higher than the em-dash—the only visible difference to my eyes). And the $ symbol doesn't have a line that goes through all the way through. It doesn't work for me for daily use, but looks quite clean and nice overall.
Nice work. I unfortunately wouldn't be able to use it for programming because I find the parenthesis and square bracket look too similar, and it would definitely increase extraneous cognitive load.
153 comments
[ 0.99 ms ] story [ 28.0 ms ] threadI like that, I usually have ligatures turned off, because I don't like all of them, especially the ones for == or ===. (Otoh I do like != ligatures...) but I do like the arrows.
This is probably were somebody tells me how easy it is to configure singular ligatures on a font and I'll facepalm in embarrassment for never finding out.
[1] https://github.com/fontforge/fontforge
I hate all of them with a passion, because they look like a glyph (i.e. "something you can erase with a single backspace") but aren't. This confuses me first, and annoys me second. "Just because we could" doesn't mean that we should.
Imagine having to use Backspace twice to erase e.g. Ö or Ñ, or being able to place your cursor halfway inside Æ.
LE: Ok, so it's a little more different that JetBrains Mono as this comparison shows https://claude.ai/artifact/HPiALZ7AZ2f5FxSZtcTdNa
That's a really fun tool.
Your comparison says the `m` is 28% different. It's completely different. I don't know what the 28% is supposed to represent (yes, the difference in the area taken, but that's meaningless).
I will not voluntarily look at Comic Sans, but thank you for the recommendation!
Lower case 'l' even extends above upper case 'G'. it missed with my brain xD
Overall it's really pretty but not a daily driver.
Also the pdf preview doesn't work on GitHub.
https://github.com/shytikov/pragmasevka
Might you rather be interested in https://github.com/ahatem/IoskeleyMono ?
https://github.com/ahatem/IoskeleyMono
[1]: https://usgraphics.com/products/berkeley-mono
I will never understand people who expect fonts for free. They don't grow on trees. Font development is extremely involved, and I am happy to die on this particular elitist hill: the overwhelming majority of free fonts are absolutely rubbish.
Any font that is free and is still reasonably good is almost certainly designed by a type foundry for a megacorp's branding and user interface (so, things like SF Pro, Segoe UI, Open/Noto Sans, Roboto, JetBrains Mono, IBM Plex, Source Sans, Fira Sans, Inter, etc), or are historic properties of the type foundries themselves, like Garamond, Helvetica, Didot, Minion, etc.
ASCII isn't the only set of characters. Just the LGK (Latin, Greek, Cyrillic) set of glyphs alone including combining marks, diacritics, contextual alternates and ligatures alone amount to several thousand glyphs, each of which have to be tuned for different weights, hinted for different display resolutions, hinted for RGB/BGR subpixel rendering, and more.
This goes double for any contractor who can just write it down as business expense.
Turns out it has smart kerning, ie. character positions are subtly adjusted to compensate for different character widths. For example, i is narrow and m is wide. That causes words like "commit" to look bad in standard monospace fonts. The m's in the middle are very densely spaced and there are wide gaps around the i.
I'll be testing Commit Mono in my editors. Maybe it will even make me switch SilverBullet back to a monospace config.
Who isn't? :)
And on that note - m is too weird.
https://github.com/tywr/Nordwand-Mono/blob/main/src/glyphs/n...
Bitch please… https://github.com/rbanffy/3270font.
My main concern is that the tall glyphs for less than < and greater than > will disambiguate badly with actual Unicode left 〈 and right angle brackets 〉.