76 comments

[ 2.7 ms ] story [ 133 ms ] thread
Offers lots of customisation, great for terminal, great for code.
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!
I've using JetBrains Mono just because it has boldItalic and other fonts like Fira Code and Iosevka don't.
What do you mean? According to the docs:

> 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).
Been using a customized Iosevka build for years and can't use anything else, and I've tried.
One of my favorites! I like to use it in the terminal since it’s such a skinny font, so things like log lines fit better on a tiny laptop screen
I've used Iosevka for many years. I love it's narrow but clear aesthetics. Makes vertically split tabs / windows more usable.

Must admit that I am a font / typeface hopper, I usually switch between Iosevka, Jetbrains Mono and more recently Comic Mono.

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.
This has been my goto font since Envy Code R.

I appreciate that it is slightly thinner.

The interspersed .'s and color changes are extremely distracting to actually seeing the font samples.
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.

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.
So many good things to say about Iosevka. The font is great and the “customizability” is top-notch.

I created my own flavor of Iosevka called Monocode that I use everywhere a monospaced font makes sense.

https://github.com/aaronmbos/monocode

> Monospace Iosevka contains various stylistic sets to change the shape of certain characters

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-...

> 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.

I hear that - I use Iosevka comfortably at point sizes that haven't worked for me with DejaVu Sans Mono for years.
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 also tend to switch to straight black and white. I don't get the desire for less contrast.

I do like ligatures, and I like checking out new fonts, but I'm not going to be offended if you don't. ;)

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.
For me I don't mind a change every now and then as a font can make my coding experience feel "fresh" without needing to change a theme or something.
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.)

Same here, just with Lucida Console. All those newfangled fonts aren’t properly optimized and hinted for small sizes/low DPI.
My experience has been that there is a certain type of developer who likes to flex by showing they have new/neat tools.

Not saying there is anything wrong with it, but for me it feels like to much of a distraction.

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 Consolas for 10 years.
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.

It depends on how much of your time you spend looking at them. The bigger that quantity, the weirder it is to not put any thought into optimizing.
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.

Because if they don't, some Hacker News person will go “well this looks nice, but it has a two-storey ‘a’, so I can't use it”.
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.
If you want to see what kind of customizations you can do with Iosevka, here's the blend that I use daily: https://git.sr.ht/~ashton314/iosevka-output

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/

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 :)
I've standardized on the mplus Nerd Font: https://www.programmingfonts.org/#mplus

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

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.
The terminal variant is great for CLI in my experience. It's tall and very information dense with programs like htop, glances, etc.
The name reminds me of Iosefka, an NPC in the game Bloodborne: https://bloodborne.wiki.fextralife.com/Iosefka

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?

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
In Czech (but may be true for other Slavic languages, at least western ones):

* 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.

Since I've seen it (around HN, no less) years ago, it has been among the first few installations on every machine I handled.

Beautiful. It feels tall in just the right way.