Webfonts At Long Last
Publication date: May 20, 2010 9:06:27 AM
I've been designing websites since most people didn't know what the web was...and in the last 16 years it seems like EVERY client I've designed a website for has had a really hard time understanding how fonts work (or don't) on the web...and with good reason: It's horribly complicated. But, the good news is, that could all change very soon thanks to Google.
Yesterday Google announced a free and open-source fonts API, and it's about the rock our world wide web.
It's Complicated
Fonts are complicated things. They're software. They're someone's art. You own the software, but not the rights to the typeface itself. You make things with them. The rights to the things you make with them are often transferred to someone else. The license includes sending some copies for the purposes of reproducing the things you make with them. Like I said, "It's complicated."
On the web, the major complication comes from the fact that when you look at a web page all the photos, html, css, etc...gets transferred to the user's computer. So, if your website gets a thousand visitors per month, there are a thousand copies of the font out there every month that could be easily downloaded and used without license.
Additionally Microsoft and Netscape tried to get web fonts into use back in the HTML 4 days (think 1999) but, as was typical of Microsoft and Netscape, they refused to agree on a format for the fonts.
Workarounds
In the recent past techniques have been developed for using Flash, Javascript, images, SVG and VML to dynamically replace text with images based on the fonts we wish we could use. These are all great, and I've used them all to varying degrees of success. (My personal favorite is Cufon.) There are problems with all of them, not the least of which is the original licensing issue.
The Real Deal
The newest entries into the webfonts morass is CSS3/@font-face/Webfonts. This would, for the first time, really let people use fonts, not pictures of them, in their websites. There are a lot of people trying to make this work. Some are foundries who want to make sure they aren't eventually forced to use someone else's rules. Some are people who see managing the DRM involved as an opportunity. Some are designers and developers who see how complicated it all is and see the value in simplifying it. Most of them you're probably never heard of...until now.
Along Comes Google
Google decided to give the whole argument a push by offering up some high-quality open-source fonts in a format that we can use online. And, because they're open-source the licensing isn't an issue. Furthermore, they've taken precautions to make sure the fonts display consistently on different browsers and platforms, which is a God-send. They've made it as easy as including a few lines of HTML and CSS to add them to a site.
Thank You, Thank You, Thank You
The most exciting thing about this development is that the conversation gets to move forward now. Foundries and browsers and standards committees will have to figure this out or risk having a standard set without them. It means that, in a year, I might actually be able to specify a font on a website. I might be able to stop having the "here's why you can't use that font on your website" conversation. I might be able to use the same font on a website that I use on a company's printed material. I might be able to banish all the default window POS fonts (Verdana, I'm looking at you) from my font stacks.
The second most exciting thing about this development is that, while in the past we had to stick to the half-dozen or so fonts installed on most people's computers and the closest alternatives thereof, as of today I can tell a user what font my sites will use, regardless of platform, browser, or OS version. So, even though the 18 fonts Google made available via the new API may not be exactly what I want, they will at least be consistent...and consistent is better than saying, "use Helvetica unless you don't have it, in which case use Arial, unless you don't have it, in which case use Verdana, unless you don't have it, in which case use a generic sans serif font," which is exactly how it works right now.