Revised Font Stack

Serious efforts are being made to get more typeface choices on the web to enhance web typography. Still, most of us prefer web-safe fonts like: Verdana, Georgia, Times New Roman and Arial. Though choices are limited, yet the number can be increased by exploring other pre-installed fonts.

… font stacks are ultimately design factors, and should be scrutinized as such.—Nathan Ford, Better CSS font stacks

Pre-installed fonts

Font stacks are prioritized lists of fonts, defined in the CSS font-family attribute, that the browser will cycle through until it finds a font that is installed on the user’s system. —Nathan Ford, Better CSS font stacks

Baskerville, Garamond and Palatino have already been used a few times to create font-stacks that inspire. But, there are a few other typefaces which haven’t been tried earlier. Code-style font survey revealed some other common fonts installed on Mac and Windows which can used effectively.

I’ve selected 10 popular typefaces, serif and sans-serif, each from the survey. By considering the font-share % statistics in the following table, we can try some other typefaces, but with care.

MacWindows
Serif%Sans-serif%Serif%Sans-serif%
Times96.23Helvetica99.71Georgia98.55Verdana99.40
Georgia94.20Geneva98.84Times New Roman98.60Tahoma99.30
Times New Roman93.62Lucida Grande99.13Palatino Linotype98.04Arial99.15
Hoefler Text88.70Arial97.10Book Antiqua86.09Trebuchet MS99.00
Baskerville88.60Verdana96.81Garamond86.24Lucida Sans Unicode98.25
Didot87.72Helvetica Neue94.74Cambria54.51Franklin Gothic Medium97.89
Big Caslon85.10Trebuchet MS94.20Constantia53.81Calibri54.76
Palatino79.71Gill Sans91.52Goudy Old Style51.30Candara54.31
Lucida Bright64.90Futura91.01Baskerville Old Face49.10Gill Sans MT51.74
Garamond23.84Optima90.14Bodoni MT47.89Segoe UI45.04

Font Stacks—Reviewed

Make sure your font stacks make sense and are useful.— Richard Rutter, [Skillswap 09]

Revised Font Stacks

I’ve created a font-stack for each typeface while considering the font share table statistics.

Notes:
  • Some of the fonts, like: Garamond, Baskerville and Didot are not as readable on screen as Georgia. Feel free to make your own selection.
  • Due to smaller x-height; Caslon, Didot, Garamond, Baskerville and Hoefler Text should be set at minimum of 14 pixels or above.
  • Lucida Grande, Futura and Tahoma are mechanically obliqued to fake an italic.
  • Geneva, Baskerville Old Face and Big Caslon has no bold and italic. They are faked to bold and italic.
  • Avoid using Helvetica or Helvetica Neue for body text, especially below 14px.
  • Futura, Gill Sans and Franklin Gothic Medium should be carefully stacked and used because of their unusual weight.

Serif font-stack

  1. Garamond

    (23.84% on Mac, 86.24% on Windows)Garamond, Baskerville, "Baskerville Old Face", "Hoefler Text", "Times New Roman", serif;

  2. Lucida Bright

    (64.90% on Mac, 33.84% on Windows) Huge x-height "Lucida Bright", Georgia, serif;

  3. Palatino

    (79.71% on Mac, 98.04% on Windows)Palatino, "Palatino Linotype", "Palatino LT STD", "Book Antiqua", Georgia, serif;

  4. Big Caslon

    (85.10% on Mac)"Big Caslon", "Book Antiqua", "Palatino Linotype", Georgia, serif;

  5. Didot

    (87.72% on Mac)Didot, "Didot LT STD", "Hoefler Text", Garamond, "Times New Roman", serif;

  6. Baskerville

    (88.60% on Mac, 49.10% on Windows)Baskerville, "Baskerville old face", "Hoefler Text", Garamond, "Times New Roman", serif;

  7. Hoefler Text

    (88.70% on Mac, 1.16% on Windows)"Hoefler Text", "Baskerville old face", Garamond, "Times New Roman", serif;

  8. Bodoni

    (47.89% on Windows)"Bodoni MT", Didot, "Didot LT STD", "Hoefler Text", Garamond, "Times New Roman", serif;

  9. Goudy Old Style

    (51.30% on Windows) "Goudy Old Style", Garamond, "Big Caslon", "Times New Roman", serif;

  10. Constantia

    (53.81% on Windows)Constantia, Palatino, "Palatino Linotype", "Palatino LT STD", Georgia, serif;

  11. Cambria

    (54.51% on Windows)

    Cambria, Georgia, serif;

  12. Book Antiqua

    (86.09% on Mac)"Book Antiqua", Palatino, "Palatino Linotype", "Palatino LT STD", Georgia, serif;

Sans-serif font-stack

  1. Optima

    (90.14% on Mac)Optima, Segoe, "Segoe UI", Candara, Calibri, Arial, sans-serif;

  2. Futura

    (91.01% on Mac) Futura, "Trebuchet MS", Arial, sans-serif;

  3. Gill Sans

    (91.52% on Mac, 51.74% on Windows)

    "Gill Sans", "Gill Sans MT", Calibri, sans-serif;

  4. Trebuchet

    (94.20% on Mac, 99% on Windows)

    "Trebuchet MS", "Lucida Grande", "Lucida Sans Unicode", "Lucida Sans", Tahoma, sans-serif;

  5. Helvetica Neue

    (94.74% on Mac)

    "Helvetica Neue", Helvetica, Arial, sans-serif;

  6. Verdana

    (96.81% on Mac, 99.40% on Windows)

    Verdana, Geneva, sans-serif;

  7. Lucida Grande

    (99.13% on Mac, 98.25% on Windows)

    "Lucida Grande", "Lucida Sans Unicode", "Lucida Sans", Geneva, Verdana, sans-serif;

  8. Geneva

    (98.84% on Mac)

    Geneva, Tahoma, Verdana, sans-serif;

  9. Segoe

    (45.04% on Windows)

    Segoe, "Segoe UI", "Helvetica Neue", Arial, sans-serif;

  10. Candara

    (54.31% on Windows)

    Candara, Calibri, Segoe, "Segoe UI", Optima, Arial, sans-serif;

  11. Calibri

    (54.76% on Windows)

    Calibri, Candara, Segoe, "Segoe UI", Optima, Arial, sans-serif;

  12. Franklin Gothic Medium

    (97.89% on Windows)

    "Franklin Gothic Medium", Arial, sans-serif;

  13. Tahoma

    (99.30% on Windows)

    Tahoma, Geneva, Verdana, sans-serif;

Think about typefaces beyond the core web fonts.—Richard Rutter, [Skillswap 09]

It’s time… revise your font-stacks

These font-stacks are created after considering the font-share percentage on both Mac and Windows platforms and then checked in browser for x-height and other issues (like: readability). These font stacks are created as per my own understanding and may vary from designer to designer depending upon their choice, judgment and preferences. Any suggestions or improvements will be appreciated. I would love to see some interesting, but meaningful, font-stacks build on my research. Best of luck!

Thanks to Phil Shaw for Code Style and Font survey.

References

Some of the invaluable articles, blog posts and comments that helped me construct this post.

  • Combined Results—Code Style
  • Better CSS font-stacks—Unit Interactive
  • The new typography—Clagnut
  • Increase your font-stacks with font matrix—24 Ways
  • Font matrix—24 Ways
  • Luxury type—Jeff Croft
  • Web fonts—A Padded Cell
  • 8 fonts you probably don’t use in CSS but should—3 Point 7 Designs
  • Font Results—Visibone
  • Striking websites with font-stacks that inspire—Inspiration Bit
  • Complete guide to CSS font-stacks—Smashing Magazine
  • CSS font-stacks—Nice Web Type

Update: Belorussian translation for Revised Font-Stack

Tweet

40 Comments

Add your comment


  • # Prashant
    says on February 03

    Useful post with a good design. Lot of things to learn about the font and also we can learn a little bit usability from the post design.

    Great post, thanks for sharing :)


  • # Auré
    says on February 04

    Waho…
    Very good article.
    Thanks for sharing


  • # tejas
    says on February 04

    Nice article and sum up there!


  • # Yvonne
    says on February 04

    great article, sometimes forget about other fonts being available other than the web safe fonts that come to mind


  • # Pete B
    says on February 04

    Thank you for encouraging designers to *not* specify helvetica for body text.

    One of my pet peeves when using windows; I even made a bookmarklet to forceably overwrite helvetica body text www.marklets.com/Bookmarklets/helveticlear.aspx


  • # Gabe
    says on February 04

    Thanks for the post. I put all of these declarations into a style sheet (for easy copy/paste later). If you’re interested, you can find it here: gabe-harris.com/new_font_stacks.css


  • # Matt Wiebe
    says on February 04

    Wow, that’s a terrific list!

    I often find myself specifying the following for a Helvetica font stack:

    'Helvetica Neue', Arial, Helvetica, 'Liberation Sans', FreeSans, sans-serif.

    Helvetica Neue is installed on Macs, so Mac users get the benefit of a better-looking font, but Windows users never see it and get Arial instead, which renders reliably well on Windows. I add Helvetica after Arial because hey, you never know, and Liberation Sans and FreeSans are pretty good Linux alternatives.

    Finally, creating font stacks led me to create FontFriend, a bookmarklet to rapidly check different fonts in your browser – you might find it useful.


  • # Brian Smallbeck
    says on February 04

    Well done! Very useful for future reference, because who knows when font embedding will be an everyday reality…


  • # Ted Goas
    says on February 04

    Nice way to find a comfortable balance between web typography and website performance. It seemed a lot sites were adding @font-face files and javascript calls to get custom fonts on their site.


  • # Marco
    says on February 04

    I was using for body a “segoe ui”, GillSans, frutiger, verdana, Helvetica, “Trebuchet MS”, sans-serif; stack. But yours has much more sense.

    BTW great reading. Bookmarked.


  • # J. Hogue
    says on February 04

    This is a great resource and very well researched. I love stuff like this. A while back I was thinking of ways to help create better font stacks, and I made a page to test whether some fonts exist on certain machines or not. Here is a list of common fonts, compared to PNGs of said fonts so you can see what is being loaded and what is not.

    www.highchairdesign.com/studio/isthefontloaded

    I also have a page that shows all the different font-variants and how they look:

    www.highchairdesign.com/studio/web-type-samples

    With your cascades as a fantastic basis of understandable, perhaps my pages will also help designers make some good choices when it comes to web typography.


  • # Birgit
    says on February 05

    a very nice compilation and well researched. I am in the middle of a redesign and your article helped me a lot with defining a better font stack. Thanks so much!


  • # The Frosty
    says on February 05

    Real useful info on typography! Thanks for the break down!


  • # Dave Harrison
    says on February 05

    Great article. I am curious to now where you stand on @font-face. You have certainly inspired me to revisit traditional methods of using fonts, but for consistency across browsers I still see a need for progression.


  • # Don Carroll
    says on February 05

    Great work. I too, would love to see your thoughts on @font-face. Maybe a follow-up?


  • # Jon Buda
    says on February 05

    This is great stuff. Very well researched and thought out. Definitely opens up some wonderful possibilities.

    I turned the collection into proper CSS: gist.github.com/295498


  • # Kaushik Panchal
    says on February 05

    Thanks a lot Amrinder, Its really very useful post for me and others like me.
    I’ll always be waitin for ur posts.
    thank u very much :)


  • # gummisig
    says on February 05

    Splendid job on this Sir. This is an invaluable resource for future typesetting without a doubt.

    Many, many thanks again dude, this is great


  • # Amrinder
    says on February 05

    I’m glad you all found it useful.

    @Pete B, @Gabe:

    I appreciate your efforts. I’ll definitely look into your work.

    @Matt Wiebe:

    There is no problem with your font-stack. We only need to see if this font-stack works well in the context (heading, para) we are using. I’m not it favor of specifying Helvetica after Arial because according to the pre-installed share %, Helvetica has very rare chance. And, thanks for sharing the bookmarklet.

    @J. Hogue:

    Agree with your point.

    @Dave Harrison, @Don Carroll:

    I’ve read most of the good articles written about @font-face. The thing is, I don’t like most of the typeface available with @font-face license. However, I’ve no doubt in its performance.

    @Jon Buda:

    Thanks for your efforts. Definitely, this will be helpful.


  • # stv
    says on February 05

    My new font-stack cheat sheet.

    Many thanks.


  • # David Boni
    says on February 06

    I had never seen how Helvetica rendered on a Windows system. That is quite revolting.


  • # Philippe
    says on February 07

    fwiw,
    1. Helvetica Neue is _always_ installed on OS X 10.4+ (and can’t be removed without breaking the OS, it is a required system font).
    Thus, this is better (dropping the ‘helvetica’, which anyway displays poorly on Windows):
    E {font-family: ‘Helvetica Neue’, ‘Liberation Sans’, Arial, sans serif}

    Note also, 10.6 ships with one additional face for the Helvetica Neue collection: ‘medium’, which can result in odd behaviour for @strong@ elements. See “this article”:emps.l-c-n.com/notebook/HelveticaNeue-font-weight of mines.

    2. “Franklin Gothic Medium” was never installed by default on OS X. It might be available if one installs MS Office, can’t remember.

    3. source for OS X fonts (Apple):
    - installed “on 10.4″:support.apple.com/kb/HT1538
    - installed “on 10.5″:support.apple.com/kb/HT1642
    (no technote about 10.6, yet)

    4. One thing to take into consideration when writing a font-stack is the respective aspect-ratio (x-height) of fonts. For instance, Constantia has a much smaller aspect-ratio than Palatino (0.459 vs 0.472 receptively). That results in text flowing differently.


  • # Michael Fink
    says on February 07

    A flawed — but unstated — assumption seems to underpin much of the thinking behind this article.

    From the article:

    bq. However, it makes no sense of using Cambria after Georgia, which has share of 94.20% and 98.55%, on Mac and Windows respectively. Now if ILT is serious about using Cambria as a primary choice, then the revised font-stack should be: Cambria, Georgia, serif;

    And in the comments:

    bq. I’m not it favor of specifying Helvetica after Arial because according to the pre-installed share %, Helvetica has very rare chance.

    Many of Amrinder’s suggestions appear based upon an idea that fonts in a font-stack should be placed in the inverse order of the likelihood of the font being available. Which is an absolutely irrelevant consideration. And one that removes much of the clever flexibility that the font-stack concept introduced, for no apparent gain.

    A far better idea is to order font-stacks in the order that you’d prefer your site to be rendered in. Crazy, I know!

    If John Boardley at I Love Typography specified Georgia before Cambria then I’m sure that was no accident. If a user has both Cambria and Georgia on their system then he wants them to see his site in Georgia. On the odd chance that the user has Cambria but not Georgia he’d prefer them to see it in Cambria than an anonymous sans-serif font that he has less control over. The way font stacks work mean the effort of specifying what to do in this situation, and the penalty paid in the size of the file, is so small as to make it a possibility worth covering for.

    Placing a more popular font before a less popular one in a font stack obviously means that there is little likelihood of the latter font being used. But that’s not a good reason for not doing so.


  • # Michał Czernow
    says on February 07

gipoco.com is neither affiliated with the authors of this page nor responsible for its contents. This is a safe-cache copy of the original web site.