Dev

Font-Face and Base64 Data-URI

A more bulletproof approach to font delivery - 2013 edition

Increasing support for web fonts is a beautiful thing and given rise to life beyond Helvetica and Georgia. Typographic considerations are now a vital aspect of any awesome web project, with font selections and parings playing a huge role in early stage design patterns. And beyond typography, icon fonts are the new slickness, making life so much easier (I’m done with sprites).

Bulletproof @font-face

If you’re like me, you’ve at some point come across Paul Irish’s post on Bulletproof @font-face syntax. Essentially, the idea is to get a file type favored by each browser, throw ’em up on your server, then @font-face those badboys, with some optimization declarations thrown in for good measure. With this approach, you’d always need no less than four files for each font:

  • Embedded OpenType (.eot) for Internet Explorer
  • Web Open Font Format (.woff) for all modern browsers
  • True Type (.ttf) for Safari, Android, and iOS
  • Scalable Vector Graphics (.svg) for Legacy iOS

For a while, this served me well, until I started checking sites behind crazy aggressive firewalls, blocking one (or all) of those file types. Not to mention a host of other head-scratching fails related to browser-specific bugs and other dark forces.

Plus, real talk – if you ever want to rock a condensed typeface, then be prepared for a fallback fail of crazy epic proportions.

Yeah, services like TypeKit are dope, no question (and keep in mind, Typekit is using Base64 as well). But, decent open source fonts, not tied to a subscription, are even more dope. Cause they free.

So, the answer for me – include a base64 encoding of the font(s), and icon font set, into my @font-face declaration.

Base64 Encode @font-face

If you’re unfamiliar with the practice, Base64 is a binary-to-text encoding scheme that represents binary data in an ASCII string format. Data URI is just a URI scheme that provides a way to include data in-line. Basically, you’re converting the font file into a crazy long string of text that you can paste in to your css file. Here’s the Network Working Group’s write up on the matter from ’98. Explains it better than I ever could. The format is as follows:

data:[<mediatype>][;base64],<data>

Font Squirrel Has Your Back

Awesomely, Font Squirrel’s super cool webfont generator has base64 as a built in option. Before uploading your font, simply select the expert option, then scroll down to the CSS section and select Base64.

base 64 @font-face

For the great free font Lato, it looks like so (though if your using more than one weight, I’d modify this a bit. See below):


/* Generated by Font Squirrel (http://www.fontsquirrel.com) on September 8, 2013 */
      
@font-face {
font-family: 'latoregular';
src: url(data:application/x-font-woff;charset=utf-8;base64,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) format('woff'),
font-weight: normal;
font-style: normal;
}

Fonts.css

Now this does add considerable weight to your css, and its shear length is a bit unruly. So, I opt to create a separate fonts.css file, including base64 @font-face for all my fonts and custom icon font set. Obviously, I load this file after all other css assets. Of course, you can further minimize size by gzipping, but I’ve yet to experience any performance or Flash of Unstyled Content (FOUC) issues.

Droppin’ Weights

Trying to rock a font with several weights to handle normal and bold? Font Squirrel’s css file will include the font-face referencing each file uniquely i.e.; Lato-Bold, Lato-Normal, meaning you’d then have to reference them as such in your styles. Kinda weak. Instead, if you’re encoding 2 weights of a font, keep both font-family declarations the same, i.e.; font-family: Lato; and just declare the logical font-weights, say font-weight:400 for normal and font-weight:600 for bold. This approach is much easier to maintain.

What About Icon Fonts?

No worries – base64 gotcha covered. For icon fonts, go check IcoMoon’s top notch web app.. It’s a lifesaver. You can build a font icon set from various free sets, or upload your own custom svgs. Like FontSquirrel, it also has a base64 option. So, while on the download screen, select Preferences, then Base64 Encode & Embed Fonts in CSS. Snatch the base64 and icon font classes from the download’s css file, paste it in your fonts.css file (or wherever), and boo bam. (ps – make sure to hold on to the download’s included svg file, in case you want to make changes to your icon font. Just gotta upload it back into IcoMoon).

IcoMoon Base 64 icon font generator

Of course, you can getcha base64 on in a number of places. While lacking in UI swagger, Opinionated Geek’s encode tool works very well. But, it’s not going to give you a neat little download with premade css. No worries, just copy the encode and paste it into yourself. Watch your formatting is all.

Update – WOFF it

On thing, while you can base64 any font file, I’ve found WOFF’s to work best. So, if you don’t have a woff, you can covert to WOFF first, and then base64.

Here’s a little starter file, for OTF fonts in a few weights. Paste your encode where directed, and keep the font-family names all the same.


//---------------------------------------------- 
//  Family: [family name]
//  Weights: 400=reg, 700=bold
//  Base64 embedding for out font-face.
//  Convert ttf/otf to woff, then base64 it.
//----------------------------------------------

// Regular
@font-face {
  font-family: "font-name";
  src: url(data:application/x-font-woff;charset=utf-8;base64,PASTE-BASE64-HERE);
  font-style: normal;
  font-weight: 400;
}

// Italic
@font-face {
  font-family: "font-name";
  src: url(data:application/x-font-woff;charset=utf-8;base64,PASTE-BASE64-HERE);
  font-style: italic;
  font-weight: 400;
}

// Bold
@font-face {
  font-family: "font-name";
  src: url(data:application/x-font-woff;charset=utf-8;base64,PASTE-BASE64-HERE);
  font-style: normal;
  font-weight: 700;
}

References

Read Next

S+P Snags Some Love

Read Story