This is fantastic! I've used JetBrains Mono for years now, but seeing that Iosevka can not only replicate it faithfully, but also allow me to apply my own tweaks makes me want to try Iosevka now!
> In all the monospace subfamilies, 9 weights (Thin to Heavy), 2 widths (Normal and Extended), and 3 slopes (Upright, Italic and Oblique) are included.
If I set "style: Bold Italic" in my Alacritty config, the text becomes thick and slanted. Bold does only thick, italic only slanted.
In my custom Iosevka variants configuration I have 90 fonts: three widths (condensed, normal, expanded); five weights (thin, light, regular, bold, black); different letter shapes for upright/italic/oblique (slope is also configurable) and for another "axis", normal (for general coding) vs. slab serif (fancy).
I use a custom variant of Iosevka on my website and all of my side projects such as Arsène: https://arsene.fly.dev. I like it because it makes Iaso not look like laso.
I freakin' love Iosevka. Most monospace fonts are kind of boring and look like variants of IBM Letter Gothic. The bitmap fonts from back in the day had character, so I often use those for terminals but they don't fit well in graphical IDEs. Fonts like Iosevka, Envy Code R, and Terminus have that "character" and make spending time reading the code in them more joyful.
Can you suggest any large bitmap fonts for use in terminals? I find them much cleaner than antialiased (i.e., blurred) fonts.
By "large", I mean that they are readable on a hidpi monitor without scaling. Thus at least of size 24 pixels, hopefully larger. So far the only one that I know is Terminus, which is not particularly beautiful.
You can also use bdfscale to blow up an X11 bitmap font, but will have to contend with the larger pixels: https://github.com/philj56/bdfscale
Alternatively, use a TTF/OTF "bitmap font" and scale it an integer multiple of its actual height. The fonts in the Ultimate Oldschool PC Font Pack are good for this: https://int10h.org/oldschool-pc-fonts/
I've used it for years almost everywhere (terminal, IDE, my blog, even DuckDuckGo/Kagi with Iosevka Aile) and I absolutely love it. Looks great everywhere, and highly readable.
I set it up on our company thinkpad t14 gen1 and the LCD panel + iosevka gives glowing precision in text editors.. it massages my brain quite brilliantly.
> You can also select variants for specific characters (there's 42 zeroes!)
Is there a browser that a page with a thousand .svg files will load in? because it ends up being a page of missing images and 'broken image' icons on every browser I've tried.
Really a bad decision to present the choices that way, IMO.
With all these posts about fonts, I have to wonder, am I the weird one here for just using DejaVu Sans Mono for like past ten years and just, like, not caring that much? Does the font make that much of a difference?
Once your vision starts to go a little bit, yea. The biggest thing that bugs me (assuming we're talking about a baseline more or less decent font) is the spacing. Like, "Sweden Sans" posted here yesterday is waaaaay too narrow to be comfrotable for me to read, much less write.
I've been using IntelOne Mono for about 6 months now, and I like it a lot. So legible I've actually been able to drop my main editor and terminal fonts sizes down a notch or two, while remaining readable.
Other than that nice font is nice on the eye when you are staring at them for hours on end, I find that Iosevka does improve my workflow because I could pack more on my screen. Before Iosevka I was using Fira Code (because of ligatures), and before that I was using Courier New/Consolas.
Same reason for me, although I used Hack for X years before that. I still think Hack looks more pleasing, but it's just so much wider than Iosevka I just can't go back.
I'm that weird as well! My brain has optimized itself for reading DejaVu Sans Mono; I try other programming fonts now and then, but it's all been a disappointment. Also, no ligatures and 100% black/white, none of that gray-on-grey for me. I'm sure I am offending 98% of Hacker News readers by writing this :P
I don't obsess over it and I don’t try to follow all the hip new programming fonts, but I do tend to change my IDE’s font a couple of times per year. It feels like a bit of a palette cleanser, I suppose.
I like to micromanage my dev environment, I have custom everything (terminal, editor, WM...) yet I'm on the same boat when it comes to fonts. DejaVu + Noto for CJK just works. DejaVu is just a good font.
I enjoy comparing new fonts to Consolas, and then going right back to Consolas. It helps me feel justified!
And I hate ligatures as much as I hate table aliases, so Consolas suits me just fine. Although, DSM is a close second. I just wish its "<=>" were more distinguishable.
What do you think about Cascadia? It was commissioned directly as the "sequel" to Consolas and is interesting because it is open source (unlike Consolas). (Therefore cheaply cross-platform and web-safe, versus paying for Consolas licenses for non-Windows machines or websites.)
You may have overlooked it before because one of the more advertised "sequel" features is ligatures, but Cascadia is one of the fonts that uses the Mono/Code naming scheme to turn on/off ligatures. ("Cascadia Mono" doesn't include the coding ligatures that "Cascadia Code" does.)
Meh. I like nice fonts, but I never talk about what font I use.
I don't even know what font I'm currently using, though I put some thought into choosing it at the time.
Some of us just care about what our fonts look like. I'm loving the configurator with Iosevka; yes, I'll likely spend an hour tweaking a custom font, but after that I'll just be done and move on.
There's no "flex" if I never even show anyone my dev environment or talk about what font I use. I think you're experiencing selection bias in thinking that only people who flex care about their fonts. ;)
I am of a similiar mindset. I put an afternoon into choosing what font will inspire me to code to, about every couple years. I set it up, forget about it, tell no one since it would feel petty and personal.
It'd be nice to have a word for something you care substantially about, but with fleeting desire and no desire to preen about.
I am on Iosevka now partly because I can pull it from AUR in my setup scripts which is something not all do.
I don't know you, so I am not claiming you are flexing.
But you claim that I am suffering from mental bias, while you know nothing about me other than a single post.
Maybe it is just that I posted something a little too close to the mark for you, and rather than reflect on why that might bother you, you externalize it.
Also, I find that there just isn't a one best font, even for one person. There are just too many variables that effect how a font looks, not limited to the screen itself, the graphics controller, the software where I want to use the font.
I've used that font under several names, initially Bitstream's licensed version, for almost 20 years - until earlier this year, when I switched to Iosevka.
It really is significantly more legible, especially in parens/braces/brackets and punctuation. Before, it was easy and common to mistype , for . or vice versa, and not notice until it failed to parse. Since, I've done that maybe twice.
Programmers spend all their working hours interacting with text. How the text is rendered on screen is arguably the most important aspect of their work, followed by a text editor, and programming language.
If a certain font works for you, by all means keep using it. Just like nobody should tell you what editor to use, a font is also a matter of personal preference.
That said, certain fonts have features that many find advantageous. I like that Iosevka is narrow, which means I can fit more text horizontally. Legibility and not having ambiguous symbols is also important. I also dislike ligatures, and want my font to be able to render multiple alphabets. But ultimately, I just like the way it looks. It renders nicely in all sizes and weights. All of these might be features your font choice also has, or you might not value some of these as much as me, which is perfectly fine.
Looks nice, but seems like it has too much of customisation.
I'm using Fira Code for multiple years now and the setup is super straightforward. Just install, add it to config, enable ligatures and you are good to go.
Looking at the Iosevka page I'm just thinking what the hell is going on here? How do I even start choosing which variant to use? I like nice fonts, but I also like to have a clear way of doing things. Iosevka doesn't offer one. I guess it's there for a much more motivated aesthetes.
If you're on OSX you can most easily get it from font-awesome using brew.
I love Iosevka, and well it has been only font I've used above Terminus and a pirated Pragmata Pro for coding, so don't let too many option hold you back from trying it if you like nice fonts.
Yeah, I don't understand why they focus so much on this. I guess there's a market in true "font nerds" but most of us aren't going to fixate over these small decision points.
That said, you really can just install the fonts and not worry about any of that. I have used iosevka-term since the first time I saw it on HN years ago and it remains my favorite fixed width font.
I agree. I suppose it is meant for different folks. I like that Fira Code is easy to set up, readable with good ligatures and powerline, and something I just don't need to think about.
I essentially wanted Input Mono [1] but with more characters. Iosevka has a stylistic preset ("ss18") that sets the character variants to match the designs of Input. There's also the "extended" family, which matches the width almost perfectly, albeit I need the font size to be 13pt for Iosevka to match what Input looks like at 12pt. Go figure.
Thank you so much for this. I've been using Input for years, and the main things keeping me there were the line height and clarity at small font sizes. Your build makes Iosevka match those very, very closely. I think I've finally found my new code font. I sent a patch to fix the build for new versions of Iosevka :)
It's narrow, comes in a very light weight (I use weight 250 for coding), and works well in Emacs, VSCode, and iTerm2. I find that its bold and italics are easier to read than many other fonts, and that oO08 iIlL1 g9qCGQ are all distinguishable from each other.
I used to use Source Code Pro but found that I wanted something that allowed me to view more in the same width windows.
I switched from Pragmata Pro to Iosevka Term Curly Slab a few years ago and I'm really happy with it. It's easy to read and I can fit a lot of code on one screen.
I think it's a form of Joseph, with a Slavic diminutive suffix. Josef + -ka ("little Joseph", or "Joey").
If that's the case, then the reason Iosevka and Iosefka would be variations of the same name is that, in many Slavic languages, voiced consonants typically become devoiced in clusters before unvoiced consonants. So they'd both sound the same, despite the spelling difference (according to English spelling rules, they'd sound more or less like Yosefka).
I don't know every Slavic language, but know a few. There are rules of transformation of sounds which can make -ph to become -f, or -p, while -v is very-very unlikely. And the fact that in some languages "v" can be pronounced as "f" before unvoiced is not really applicable here - it doesn't make "f" to become "v". I think it's just a randomly generated Slavic-looking name. The author is Chinese btw
76 comments
[ 2.7 ms ] story [ 133 ms ] thread> In all the monospace subfamilies, 9 weights (Thin to Heavy), 2 widths (Normal and Extended), and 3 slopes (Upright, Italic and Oblique) are included.
If I set "style: Bold Italic" in my Alacritty config, the text becomes thick and slanted. Bold does only thick, italic only slanted.
Must admit that I am a font / typeface hopper, I usually switch between Iosevka, Jetbrains Mono and more recently Comic Mono.
I appreciate that it is slightly thinner.
By "large", I mean that they are readable on a hidpi monitor without scaling. Thus at least of size 24 pixels, hopefully larger. So far the only one that I know is Terminus, which is not particularly beautiful.
You can also use bdfscale to blow up an X11 bitmap font, but will have to contend with the larger pixels: https://github.com/philj56/bdfscale
Alternatively, use a TTF/OTF "bitmap font" and scale it an integer multiple of its actual height. The fonts in the Ultimate Oldschool PC Font Pack are good for this: https://int10h.org/oldschool-pc-fonts/
I created my own flavor of Iosevka called Monocode that I use everywhere a monospaced font makes sense.
https://github.com/aaronmbos/monocode
That's what's on display at the linked URL (if anyone else was confused)
You can also select variants for specific characters (there's 42 zeroes!): https://github.com/be5invis/Iosevka/blob/main/doc/character-...
Is there a browser that a page with a thousand .svg files will load in? because it ends up being a page of missing images and 'broken image' icons on every browser I've tried.
Really a bad decision to present the choices that way, IMO.
I've been using IntelOne Mono for about 6 months now, and I like it a lot. So legible I've actually been able to drop my main editor and terminal fonts sizes down a notch or two, while remaining readable.
I do like ligatures, and I like checking out new fonts, but I'm not going to be offended if you don't. ;)
And I hate ligatures as much as I hate table aliases, so Consolas suits me just fine. Although, DSM is a close second. I just wish its "<=>" were more distinguishable.
You may have overlooked it before because one of the more advertised "sequel" features is ligatures, but Cascadia is one of the fonts that uses the Mono/Code naming scheme to turn on/off ligatures. ("Cascadia Mono" doesn't include the coding ligatures that "Cascadia Code" does.)
Not saying there is anything wrong with it, but for me it feels like to much of a distraction.
I don't even know what font I'm currently using, though I put some thought into choosing it at the time.
Some of us just care about what our fonts look like. I'm loving the configurator with Iosevka; yes, I'll likely spend an hour tweaking a custom font, but after that I'll just be done and move on.
There's no "flex" if I never even show anyone my dev environment or talk about what font I use. I think you're experiencing selection bias in thinking that only people who flex care about their fonts. ;)
It'd be nice to have a word for something you care substantially about, but with fleeting desire and no desire to preen about.
I am on Iosevka now partly because I can pull it from AUR in my setup scripts which is something not all do.
But you claim that I am suffering from mental bias, while you know nothing about me other than a single post.
Maybe it is just that I posted something a little too close to the mark for you, and rather than reflect on why that might bother you, you externalize it.
It really is significantly more legible, especially in parens/braces/brackets and punctuation. Before, it was easy and common to mistype , for . or vice versa, and not notice until it failed to parse. Since, I've done that maybe twice.
If a certain font works for you, by all means keep using it. Just like nobody should tell you what editor to use, a font is also a matter of personal preference.
That said, certain fonts have features that many find advantageous. I like that Iosevka is narrow, which means I can fit more text horizontally. Legibility and not having ambiguous symbols is also important. I also dislike ligatures, and want my font to be able to render multiple alphabets. But ultimately, I just like the way it looks. It renders nicely in all sizes and weights. All of these might be features your font choice also has, or you might not value some of these as much as me, which is perfectly fine.
I think it's a bit less narrow.
https://github.com/s0la/orw/tree/master/.fonts
I'm using Fira Code for multiple years now and the setup is super straightforward. Just install, add it to config, enable ligatures and you are good to go.
Looking at the Iosevka page I'm just thinking what the hell is going on here? How do I even start choosing which variant to use? I like nice fonts, but I also like to have a clear way of doing things. Iosevka doesn't offer one. I guess it's there for a much more motivated aesthetes.
I love Iosevka, and well it has been only font I've used above Terminus and a pirated Pragmata Pro for coding, so don't let too many option hold you back from trying it if you like nice fonts.
That said, you really can just install the fonts and not worry about any of that. I have used iosevka-term since the first time I saw it on HN years ago and it remains my favorite fixed width font.
I essentially wanted Input Mono [1] but with more characters. Iosevka has a stylistic preset ("ss18") that sets the character variants to match the designs of Input. There's also the "extended" family, which matches the width almost perfectly, albeit I need the font size to be 13pt for Iosevka to match what Input looks like at 12pt. Go figure.
[1]: https://input.djr.com/
It's narrow, comes in a very light weight (I use weight 250 for coding), and works well in Emacs, VSCode, and iTerm2. I find that its bold and italics are easier to read than many other fonts, and that oO08 iIlL1 g9qCGQ are all distinguishable from each other.
I used to use Source Code Pro but found that I wanted something that allowed me to view more in the same width windows.
Another option is Victor Mono: https://www.programmingfonts.org/#victor-mono
https://github.com/be5invis/Sarasa-Gothic
It appears these are two ways of spelling the same name, and that has made me curious about its etymology.
I've not found much in the way of clues. Most of the search results are either in reference to the font or to the game.
According to names.org, Iosefka is tagged with Gender-Neutral and Hebrew: https://www.names.org/n/iosefka/about
Does anyone here have one of these names? Can you share the story behind them?
If that's the case, then the reason Iosevka and Iosefka would be variations of the same name is that, in many Slavic languages, voiced consonants typically become devoiced in clusters before unvoiced consonants. So they'd both sound the same, despite the spelling difference (according to English spelling rules, they'd sound more or less like Yosefka).
* Josef - male form
* Josefa - female form
* Josefka - diminutive female form
so Iosevka to me looks like English spelling of Josefka
If you're curious, male diminutive forms of Josef are: Josífek, Jožin, Jožka, Pepa, Pepík and about 100 others.
Beautiful. It feels tall in just the right way.