I've been using a custom version - you can customize the font¹ and build your own ttf (or better yet, ttc) using the build system supplied in the repository².
be5invis, the author of the font, deserves a special mention for creating a whole custom DSL called PatEL (Parametric Type Expression Language) to generate the font programmatically!
Renzhi, if you ever come around to read this, thank you so much for Iosevka, man!
¹https://typeof.net/Iosevka/customizer
²https://github.com/be5invis/Iosevka/blob/master/doc/custom-b...
I tried it again, quickly set it up in my terminal the "Iosevka Term" version, switching from Jetbrains Mono, and just don't understand how can people read this.
But, after using Berkeley Mono for three minutes, I switched to it everywhere in a week or so, and never looked back, or looked anywhere else, to be precise.
Yes, it's not free, and yes it's opinionated. I can say that my opinions align with that font pretty much. It's one of the things which I cherish like an expensive hand tool which really does its job very well and makes you happy with its presence.
Why is ttc better?
Copy and paste into Import Configuration at https://typeof.net/Iosevka/customizer to preview.
That could be the maximum I'd like out of font to have "proper" greater/less-equal sign.
This goes down to the details like that you should either use spaces over tabs OR prescribe editor config such that the code looks similar on each machine.
Of course this doesn't automatically mean that code ligatures are harmful, but I would be quite wary of using them. At the very least it introduces some friction, not sure if the arguably lower mental load of using real mathematical symbols instead of the ASCII symbols makes up for it.
I guess my IDE choices never surface the issue for me... visually they just look the same. I cannot say which codebase uses spaces which uses tabs. I never even think about it. I just smash tab character and don't care that there have been spaces. Or enter or { and IDE does the indentation. I just choose not to press space 2-4-8-16 times in a row.
Now I hope I won't get bulldozed over by HN crowd...
With tabs pretty much every editor except something like notepad.exe could do it since ancient times, with spaces the editor needs to do a bit more processing, so you were a bit more restricted in editor choice, if you really were bothered so much by the indents chosen in the project.
So it is actually quite similar to the ligature discussion. It would be good if the code looked the same for everybody but now instead of saying "But 8-space indents waste so much space on the screen :(" some people now go "But I don't like seeing things like != or -> instead of modern Unicode symbols :("
Granted, I'm also someone who heavily encourages the use of Black as the Python formatter in projects I'm on, specifically because it has no configurable options - can't have a holy war about formats if nothing can be changed.
The reason spaces won is that it's not (spaces) vs (tabs), it's (spaces) vs (tabs AND spaces).
It's too bad spaces won, tabs is just correct I think, since one can configure the tabstop to use any indent size they would like. I'm quite tired of reading 2-space indent. Seems everything has moved this way now except python. I'm even seeing C with it, which is especially jarring. I think the languages that use braces for indentation particularly need 4. Python needs it least, and I can read Ruby because its blocks are delimited by words and it's bad style to write long methods
https://github.com/samboy/CaulixtlaFonts/tree/main/MiscFonts...
Personally, I like them. They look pleasing and I never had issues distinguishing between the ligatures for ==, ===, and = itself.
I'm not sure however that the verb form makes all that much sense in the context the website uses it...
I don't like them because I never know what they actually stand for in ASCII.
I'm guessing the website author added that after some "website performance tool" recommended it, as they make sweeping generalizations that don't always make sense in every context, and "always add font-display: swap so text is readable earlier" is now a dogmatic rule "web developers" (mechanical or wetware ones) add without thinking, so that precious performance number goes up.
Also, I think also led by Google, `font-display: block;` actually behaves the same as swap now, just with a longer wait for the font to load [1]. Iosevka’s webpage does use swap, though.
[1]: https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/A...
Chat history (excuse the lazily-constructed prompt): https://chatgpt.com/share/6acf829b-5428-83ec-939c-acbc7805a3...
The hookiest tail for lowercase l man, love it.
Even for my own website, with some tighter tracking and it can work okay as a text font.
Another great customizable font is Maple Mono [0]
(I am excited to try this out)
Now (after ... gosh, 6, 7, 8? years probably) I love it, use it everywhere and other monospace font feels super w i d e and weird.
It's interesting how personal font choice (among many other things) is!
A little bit of looseness here is a pretty strong signal for careful font design actually. It means the creator considered some other factor (in this case char disambiguation) to be more important than rigid adherence to the category.
But alright, I realized you must download the archive to find LICENSE.md in there: https://github.com/be5invis/Iosevka/archive/refs/tags/v34.9....
The license is "SIL Open Font License, Version 1.1." from http://scripts.sil.org/OFL
[1] There was also at one point a monospace variant of Bitstream Vera Serif called “Verily Serif”.
I like it a lot!
The heading of Iosevka doesn't do the font right, my first thought was that this would be yet another soulless sans-serif. But it has tons of interesting variants. Hats of to Iosevka Etoile. See also <https://monaspace.githubnext.com> if you like big versatile font families.
Lovely font.
Whenever font discussions come up, I will try everyones suggestions to find better than what I have, and always came back to Berkeley. Its almost near perfect for coding!
https://github.com/ahatem/IoskeleyMono
>Iosevka configuration to mimic the look and feel of Berkeley Mono as closely as possible.
Discussed recently https://news.ycombinator.com/item?id=49161743
Shame.
The reason here is that the basic glyph shape is that of a sans-serif, but still got serifs added afterwards. That doesn't stop it from diluting the meaning of the term.
Alas, it is oblong, not square.
And 7 thousand-odd code points is not as large a range as it used to be a couple of decades ago. That said, it does have MouseText, the 7-segment LED digits, and suchlike from the Supplementary Plane 1.
The readability is excellent, and this font replaced everything else that I tried before. Highly recommended!
One thing I definitely love is it's easy to access. It has been packed for many package managers. I can just brew install or yay -S to get it.
Some time ago I switched to wayland/sway/foot, and I'm on 0xProtoNerdFont, quite pleasant as well.
The M is 1/2 of an M wide?
https://en.wikipedia.org/wiki/Em_(typography)
it seems the width of an M should be exactly equal to the x-height in points (IIUC).
Also, whoever said that fonts intended for a terminal need to be narrower? Some terminals have narrower chars, some wider. And terminal emulators often allow for multiple char aspect ratios - e.g. via bitmap fonts of different aspect ratio.
Anyway, the typeface looks interesting, but I would have liked for the creators to compare and contrast it with existing (and popular) monospace / terminal-oriented typefaces.