34 comments

  • oefrha 3 hours ago
    IMO a font specimen site may be the worst place to use font-display: swap. Was wondering why I was looking at what seemed indistinguishable from Courier, turns out what I saw was exactly Courier.
    • embedding-shape 1 hour ago
      For those not in the know (or who didn't suffer through having to write CSS manually): font-display: swap changes the default behavior from "No text visible until font been loaded" to "Display fallback font until specified font is available", meaning you'll see Courier until Iosevka loaded properly, or Courier forever if the font file failed to load.

      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.

      • kqp 19 minutes ago
        I think the dogmatism stems from Google, which delivers this advice as unconditional instruction and often gets parroted, makes the main website grading tool that calls it an error, and says they’ll drive less traffic to you if their grading tool rates you poorly.

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

      • Freak_NL 39 minutes ago
        I was wondering why it did that. This is really the kind of site where this is not a feature you should use.
  • wartywhoa23 2 hours ago
    Iosevka, my absolutely most loved font for years!

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

    • JdeBP 2 hours ago
      That explains all of the .ptl source files, which I didn't recognize straightaway.
    • nextaccountic 2 hours ago
      > ttf (or better yet, ttc)

      Why is ttc better?

      • wartywhoa23 2 hours ago
        It's a package of ttfs, simpler to have all in one file on disk as well as install from one. Customization can generate a lot of font varieties.
  • jve 1 hour ago
    Is it only me but I really dislike "Code Ligations"? I have to mark some chars to count how many consecutive "=" simbols there are... or \/ looking like V without having other chars near it to distinguish. Having to copy paste diamond shape to find out it is <>. arrows with squiggly tails, /> being ugly, <. having dot in the middle...

    That could be the maximum I'd like out of font to have "proper" greater/less-equal sign.

    • slazaro 1 hour ago
      They always seemed to me like solutions to a nonexistent problem. They make the code less readable, but ligatures exist and they seemed like a cool tech thing to implement, and they might look cool in screenshots. But in practice, in my opinion, they're worse than just having the normal characters. But I guess it's a matter of opinion, no harm in other people using them.
      • yayachiken 1 hour ago
        We have studies since ages ago that consistency in code style is one of the most important requirements for code quality.

        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.

      • smohare 47 minutes ago
        [dead]
    • ragnese 18 minutes ago
      I thought I was the only one! I figured I was either crazy or getting old and stuck in my ways. The first I'm I saw a font with them, I thought it was cool and tried it out. I almost immediately hated it. I've tried a few more times for varying lengths of time, and I've decided that I really do hate them.
    • bita_nidir 7 minutes ago
      I logged into HN to upvote your comment. Code Ligations are an absolute abomination.
    • Semaphor 1 hour ago
      Common complaint.

      Personally, I like them. They look pleasing and I never had issues distinguishing between the ligatures for ==, ===, and = itself.

    • apetrovic 1 hour ago
      I like them and use them. But every editor I worked with has an option to disable ligatures.
      • voidUpdate 1 hour ago
        I wish editors had the option to disable certain ligatures. I use jetbrains mono, and the >> ligature breaks bracket highlighting in visual studio, making them both the same colour
    • semiquaver 1 hour ago
      ligatures, not ligations
      • Freak_NL 37 minutes ago
        I have no idea why they chose 'ligation' instead of just ligature, but it was jarring every time I encountered it.
      • efilife 1 hour ago
        Interestingly, they are called ligations on the submitted website
        • swiftcoder 48 minutes ago
          "ligation" is the verb-form (i.e. making something with/into ligatures).

          I'm not sure however that the verb form makes all that much sense in the context the website uses it...

          • masfuerte 24 minutes ago
            English is great at exceptions, but I'm nearly sure anything ending in -ation is a noun. Ligation certainly is.

            Ligation is (among other things) the act of applying a ligature. So it does make sense.

    • mkesper 1 hour ago
      The 'fixed' variant disables them.
    • WesolyKubeczek 24 minutes ago
      Code ligatures look like the final desperate attempt of an aging hipster, a Ruby on Rails and Web2.0 early adoptr (sic), the type to wear thick-rimmed fake glasses and a scarf in the middle of summer, to be cool, as he is riding his old Segway, with a glass of soy latte in one hand and an avocado toast in the other, into the void of oblivion.

      I don't like them because I never know what they actually stand for in ASCII.

    • wildrhythms 1 hour ago
      I hate them. I disable them in every code editor. I don't need to have to guess if it's a double equals or a triple equals
  • GCUMstlyHarmls 2 hours ago
    First time I used Iosevka I felt really nauseated, kind of like getting motion sickness, it was a really bizarre experience for a font to give me. I was on a smaller screen though and getting some more characters in without getting tiny was actually a selling point, so I gave it another go and eventually got over the feeling.

    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.

  • TwoFerMaggie 3 hours ago
    Have been using it for a couple years. Before that I was using Fira Code/Mono which was also fantastic. However, once I got used to the condensed Iosevka, all the other fonts just felt loose and not space efficient enough in my IDE and terminal.
    • code-blooded 1 hour ago
      I am the opposite. I have CommitMono, Iosevka, Source Code Pro installed, but I always come back to Fira Code/Mono. At the same overall density of text, I find that I can skim through the text faster when the font is wider.

      It's interesting how personal font choice (among many other things) is!

    • aziis98 3 hours ago
      Exactly the same for me! I love it for the terminal especially
  • miqkt 2 hours ago
    My go-to monospace font in everything I use nowadays. Way back, it used to be JetBrains Mono. When I decided to give Iosevka a try, I actually started with the expanded variant, because I wasn't accustomed to the narrow jump. Took a while, but at some point I took that jump back to the default and it's stuck. Thanks for your efforts on this font Renzhi!
  • climech 21 minutes ago
    I remember falling in love with PragmataPro many years ago, I really like narrow fonts, but I couldn’t afford it (I don’t remember how much it was at the time but it was something insane, at least for my wallet). Then Iosevka entered the scene, and I never looked back. Really awesome project, especially the customization part.
  • needfish 1 hour ago
    I have a custom build of this font, use it everywhere now. One thing is that the width by default is too compact and the extended is too wide for my taste. Upon searching I found somebody's build that has width 576. I don't know why that number, but I used it in my current builds and it turns out pretty much perfect for terminal use for me, just wide enough.

    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]

    [0] https://font.subf.dev/en/

    • frazer2669 6 minutes ago
      Re: Width -- Same, default is too narrow and extended is too wide for my taste. The custom build has a default "semi-extended" which is just right for me and has a width of 548. Again no clue why that number, but if Iosevka says that is right then it is :) I do see that when I switch between semi-extended and a "regular" font like Cascadia Code that they seem to be the exact same width.
    • asa123 1 hour ago
      Sometimes I catch myself assuming hacker news is representative of the general population and then I read comments like these

      (I am excited to try this out)

  • durdn 57 minutes ago
    A friend pointed me to a derivative of Iosevka that tries to mimic the historical (and commercially licensed) Pragmata Pro and the result is an insanely great font I've migrated to recently: https://github.com/shytikov/pragmasevka
  • exceptione 1 hour ago
    Wish code editors would support different fonts per semantic region. Jetbrains, if you are reading this, implement this: <https://youtrack.jetbrains.com/issue/IJPL-29552/Allow-differ...>.

    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.

  • makizar 1 hour ago
    I’ve used Iosevka for years but recently switched to Commit Mono [0]. It hits all the right spots for me, is customizable, and does smart kerning which is neat.

    [0] https://commitmono.com/

  • starquake 2 hours ago
    The default font since GNOME 48 is Adwaita Sans (a modified Inter with different l's and I's) and for monospace it is Adwaita Mono (a modified Iosevka.)

    I like it a lot!

  • weinzierl 3 hours ago
    It also has many weights. In my opinion it's one of the best monospaced fonts where you actually can use weight as an additional dimension in syntax highlighting.
  • cik 2 hours ago
    I have been using this font for 3 years now. I can't, and won't get off it. I use it wherever I can - heck there's an Arch package! I'm pleasantly surprised by how much something this simple makes me happy. Legitimately a font has added to my life.
  • JdeBP 2 hours ago
    It is interesting that it differentiates between oblique and italic, something that not many fonts aimed at the monospace crowd do, in both the English and Cyrillic alphabets. The list of variants for the letter k is longer than I expected.

    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.

  • beeforpork 1 hour ago
    Is there a PDF specimen? I disable font substitution in my browser, but I do want to have a peek. But not a peek that requires reconfiguring my browser.
  • jwr 1 hour ago
    This is the best font I have ever found, and I have tried a lot of them over the years. The ability to specify your own variations and generate your own fonts is really useful. I am a big fan of the dotted zero, for example.

    The readability is excellent, and this font replaced everything else that I tried before. Highly recommended!

  • fenprace 2 hours ago
    I ve been using iosevka for 5+ years. Iosevka Extended is my go-t mono font. It's just clean and cool.

    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.

  • nitinreddy88 2 hours ago
    Once we use Berkeley mono font, we will never switch to another one :)

    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!

    • snthd 2 hours ago
      In that direction there's

      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

    • farlight 1 hour ago
      It has very poor character coverage, especially compared to Iosevka whose author speaks Mandarin as his main language (IIRC), and put a lot of effort into supporting as many languages as possible.
    • andreypopp 2 hours ago
      You meant Pragmata Pro :)
    • amoshebb 2 hours ago
      There is an iosekeley remix that is nice as well for those who don’t want to splash out for Berkeley mono
    • bowsamic 2 hours ago
      I use Commit Mono, which is basically a free version of Berkeley Mono
  • allumik 2 hours ago
    Used Iosevka for a while, now fully on Aporetic for everything monospace. Something about the thin and tall serif just clicks with me, and Aporetic seemed to work better size wise for my terminals and GUIs.
    • wartywhoa23 2 hours ago
      That's still Iosevka though, just a custom build.
  • rf15 3 hours ago
    Good to know that the age old tradition of calling a font with serifs sans-serif is well alive and kicking.

    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.

    • Freak_NL 33 minutes ago
      Iosevka is more of a parfois-serif I guess.
    • wartywhoa23 2 hours ago
      Iosevka can perfectly be either sans-serif, or serif, or a mixture - it's customizable.
    • farlight 1 hour ago
      Slab serif is optional.
    • xigoi 1 hour ago
      Where do you see the serifs?
      • rf15 1 hour ago
        ...In the submitted Title and on the page itself. It says it is a sans-serif font, but then offers also a slab-serif variant.
        • tremon 24 minutes ago
          Where does it say it is a sans-serif font? The very first full sentence on the page starts with "Iosevka is an open-source, sans-serif + slab-serif, monospace + quasi‑proportional typeface family", just like the title here says "sans-serif and slab-serif".
  • voidUpdate 1 hour ago
    > "glyphs are exactly 1/2em wide"

    The M is 1/2 of an M wide?

    • einpoklum 1 hour ago
      Yes. That is, for a given x-height, the width of an 'M' half of what it "should" be for that x-height. According to this:

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

      • voidUpdate 1 hour ago
        > However, as a very rough guideline, an "average" font might have [...] an x-height of 48% of the em
  • gadrev 2 hours ago
    Nice one. I used it for some years, mostly in urxvt.

    Some time ago I switched to wayland/sway/foot, and I'm on 0xProtoNerdFont, quite pleasant as well.

  • HackerThemAll 1 hour ago
    Half a gig for a single variant of this font? No, thank you. That just doesn't make any sense. Perform some minification and/or publish just TTF or OTF.
  • sho_hn 2 hours ago
    Iosevka Fixed Curly is also my favorite font to code and terminal in.
  • exwireXI 2 hours ago
    I've been using Iosevka(custom) and loved it since then.
  • sgarrity 1 hour ago
    What does “quasi-proportional” mean?
    • jaffa2 29 minutes ago
      I had this question. Then I read the bit of the page with the sentence that starts ‘The quasi-proportional families:’
  • einpoklum 1 hour ago
    What does it mean for a font (or typeface) to be "quasi‑proportional"?

    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.

    • Freak_NL 31 minutes ago
      Scroll down to where they do that under Spatial Efficient.
  • bowsamic 3 hours ago
    I felt like my eyes hurt when I tried this font. It's hard for me to switch away from the standard width monospace fonts. At the moment I use Commit Mono. Extra horizontal space might be nice but it's not worth risking any discomfort
  • orphereus 3 hours ago
    Does tsoding use this font?
  • IceDane 3 hours ago
    I occasionally try to find a nicer font than Iosevka, but none of them stick and I always go back.
    • pndy 36 minutes ago
      I've replaced Iosevka with Nokia Sans on KDE and earlier Xfce
    • Diti 2 hours ago
      Pragmata Pro. The font Iosevka is based on.
    • nerdypepper 2 hours ago
      input.djr.com, haven't used a different font in many years!
    • triggis 3 hours ago
      What about Maple Mono?
      • gpessia 2 hours ago
        love Maple Mono!
  • dizhn 2 hours ago
    It's a google score thing right. That the first font that loads is not their font on a font page?
  • baldgamer79 44 minutes ago
    [dead]
  • dkate24 38 minutes ago
    [dead]