Author: Thomas Phinney

  • Browser Choice vs Font Rendering

    This post by Jeffrey Zeldman on font rendering in web browsers is a good introduction to the subject in a number of respects, but unfortunately repeats a pernicious myth: that web browsers on Windows all render text differently, and that this interacts with the OS rendering. There are a couple of caveats (see below), but for the most part, this a this is a system level setting. On any given Windows computer running XP or Vista or Windows 7, you will generally get >pixel-​for-​pixel identical glyph rendering in Internet Explorer, Firefox, Chrome, or Safari. (As also shown in Si Daniels’ presentation at ATypI 2009 in Mexico City).

    Why is this? All of today’s major web browsers on Windows (IE, Firefox, Chrome, Safari) simply use the OS’s user-​adjustable GDI text rendering settings, whatever those may be. Similarly, all today’s major web browsers on Mac OS simply use the system text rendering.

    (Yes, there are a couple of caveats. Internet Explorer 7 actually ignores the OS setting in favor of its own prefs setting, which is to use the OSes ClearType rendering regardless. Safari for Windows has an optional setting to use Apple’s “Quartz” text rendering, even on Windows—this was the one-​and-​only rendering option in Safari 3 for Windows, but Windows users “freaked,” so Apple changed it for Safari 4 for Windows. Also, Firefox can use the kerning built into fonts, which affects spacing, though it doesn’t actually impact rendering of individual glyphs. Every major browser uses the same rendering as some version of OS rendering, however; none does something unrelated to Mac or Windows text rendering.)

    So why does rendering vary so much? Windows XP, Vista and Windows 7 can be set to one of three settings for “font smoothing” (a.k.a. anti-​aliasing). These settings affect all applications using the old-​school GDI APIs for text rendering, which as of late 2009 means all the major web browsers. The font smoothing settings are:

    • off (uncheck the box that says “use the following method to smooth the edges of screen fonts)
    • Standard (grayscale)
    • ClearType (optimization for color LCD screens)


    Note that the standard vs ClearType distinction only affects fonts with TrueType outlines. Fonts in PostScript Type 1 or OpenType CFF formats get a less sophisticated type rendering/​smoothing which, well, seems less than stellar these days.

    Standard” (grayscale anti-​aliasing) is the default on Windows XP, although installing Internet Explorer 8 will change that setting to “ClearType” (even if one then proceeds to use a different web browser). Windows Vista and Windows 7 default to ClearType. So, most folks on Windows are seeing ClearType rendering, one way or another. However, 

    Besides GDI (all of today’s browsers), there is a completely different rendering mode used by applications which are programmed to use the “DirectWrite” text APIs (similar rendering also available to the largely-​ignored WPF APIs). This uses ClearType, but a ClearType which is improved over the GDI version. For TrueType outlines, It offers moderate but noticeable improvements, such as options for improved spacing, and anti-​aliasing in the Y direction. OpenType CFF fonts see a truly dramatic improvement, going from really mediocre rendering under GDI to rendering roughly equally well with TrueType under DirectWrite (or under its predecessor, WPF)! Minion Pro and Myriad Pro in OpenType CFF render pretty well down to 9 pixels per em (ppem), and just fabulously at 12 or more.

    This is worth knowing and noting because it has already been announced that Internet Explorer 9 will use DirectWrite, and apparently FireFox is working on it as well.

    [Post updated 8 Jan 2010 to correct IE 7 having a built in pref for which OS rendering it uses. Thanks to commenters! – T]

  • Boing Boing Redesign Uncovers Web Font Ignorance

    People keep on sending me links to this article  “Boing Boing’s Redesign Uncovers Dark Side of Web Fonts,” about problems Boing Boing had with their new web font implementation. Only thing is, the article has a substantial dose of nonsense mixed in with the perfectly good analysis. I don’t blame the writer, though. This web font stuff is actually really complicated, and information has been hard to come by. Heck, I even briefly forgot a basic point in a first pass at this article. But nonetheless, I am fairly sure that Boing Boing could have fixed their problems easily, if they knew how. Here’s the story:

    WHAT HAPPENED

    The background here is that there are new ways of using fonts with web sites, and Boing Boing tried the simplest approach of just hosting a free font on their own web server and pointing at it, but the on-​screen results were not as good as expected.

    …the font it settled on — specifically BPreplay — ended up looking terrible for most users.”

    The result was hordes of angry Boing Boing fans complaining that the new headline font was “ugly,” “an abomination” and “plain nasty.” Of course, the culprit wasn’t really the font, but rather how different it looked depending on which browser and operating system the viewer was using.”



    FINDING THE CULPRIT?

    This is where things get tricky. I will update this post as I learn more. But, as best as I can tell, if that link to the font is right, and the font wasn’t modified by Boing Boing, the culprit really was in large part the font. But first let’s follow the trail of the previous article and make some corrections….

    The problem is that while modern browsers, like the latest versions of Safari, Firefox, Opera and Google Chrome, all support @font-face, the Windows XP operating system often doesn’t have anti-​aliasing turned on by default.”



    Not true. Anti-​aliasing is on by default in XP. What isn’t usually on by default in XP is ClearType, Microsoft’s enhanced anti-​aliasing for LCD screens. Sometimes a computer vendor will turn ClearType on for the computers they sell (particularly if they are laptops or come with an LCD monitor).

    But what makes this even less meaningful is that (again assuming the linked font is the right one), the font in question is in OpenType CFF format. Such fonts are always anti-​aliased in XP, even if you turn off anti-aliasing—the setting change only affects TrueType fonts. Even ClearType doesn’t affect how these fonts are rendered (rasterized) in web browsers, either. Same thing in Vista, and as far as I know in Windows 7 as well.

    The rule, which is still part of CSS3’s draft specification, is also not supported by any version of Internet Explorer. So, as cool as your font might look when properly anti-​aliased, on Windows XP it looks, as Rob Beschizza, head of Boing Boing’s redesign puts it, ‘like ass.’”



    I’m not sure how those two sentences are related. That’s a mystery to me. XP can get good anti-​aliasing as well as Vista, and Internet Explorer is bundled with Vista and Windows 7 as much as with XP. But even taking those points separately….

    The @font-face rule was actually in CSS 2 way back when, and removed in CSS 2.1. Internet Explorer has supported @font-face in every version from IE 4 to the current IE 8, but the catch is they support it only with Microsoft’s “.eot” font format (a wrapper around a TrueType font), not with regular desktop fonts. But there’s a good reason for not supporting regular desktop fonts directly: font vendors mostly won’t license their fonts to be stuck “naked” on web servers without any additional protections. Sure, there are free fonts, but, well, we’ll talk about those in a few minutes.

    If Boing Boing simply put up the naked .otf font file, and didn’t do anything for Internet Explorer users (and people running older versions of other browsers), then what font actually got displayed to those users would depend on what Boing Boing specified as the fallback fonts and whether the people actually had those fonts (and thanks to Ben Kiel for reminding me of this in passing). Now, if the fallback stack relied on fonts that most XP users would not have, but Vista users would, then there might be a difference that was at least partly based on operating system. But of course it would simply be up to the folks constructing the CSS for the web site to pick reasonable fallback fonts, and not really the fault of the operating system. Perhaps as a first-​level fallback from their desired font they specified one of the so-​called “ClearType fonts” such as Calibri or Corbel, which are bundled with Windows Vista and Office 2007. Not quite right to blame XP for not having the font, but that would explain how somebody could mislabel it as an XP-​specific problem.

    Other than that, whether you are using Windows XP or not has little to do with whether or not the font looks “like ass.” Turning on ClearType can further improve rendering for fonts with TrueType outlines, but would have no effect on this particular font. Being on Vista instead of XP would make no difference at all for any web browser rendering OpenType CFF fonts such as this one.

    Side note: The font wouldn’t even be seen in Internet Explorer, because Boing Boing didn’t use its .eot format as far as I know. Any further problems in IE would then be due to a poorly-​specified font fallback stack in the CSS. However, if they had used .eot and TrueType outlines…. Although XP has ClearType off by default, newer versions of Internet Explorer turn it on just for the browser, so there isn’t much difference between IE rendering of TrueType fonts between XP and Vista.

    In researching what went wrong, it doesn’t help that Boing Boing backed off from the font change part of their redesign, so we can’t look at it and test it. Looking at this screenshot, however, shows pretty clearly what was going on. This screen capture was definitely taken on Windows, and the font in question is still anti-​aliased. However, it has some pretty crappy artifacts in how it’s rendered on screen, at least some of which are related to it being unhinted. When I see things like a single pixel sticking out of the bottom of a round shaped letter, that’s a dead give-​away that the problem is likely hinting (or more accurately, lack thereof).

    Hinting” is essentially extra code in the font that improves its rendering at screen resolution. Apple’s rendering approach largely ignores hinting, but Microsoft’s rendering still uses it a fair bit. Passable hinting can be done automatically by font editing tools, so there’s no real excuse for leaving it out of a font (as with this one). In fact, pretty much every commercial font on the planet is hinted, as are most free fonts. But this isn’t even an average free font. Yes, the terrible spacing is pretty typical for free fonts, but being unhinted is uncommon. Maybe it was converted by somebody else.

    Bottom line: the font sucks. This should not be a surprise. Most free fonts do. Don’t get me wrong. There are a few great free fonts out there. But 98% of free fonts suck badly, and maybe about 20% of typically-​priced retail fonts suck badly, so set your expectations appropriately.

    THEDIRTY LITTLE SECRET

    But there’s another problem that might have led to complaints and concerns even if the font was made decently, but still in the same format. The “dirty little secret” of the font world is this: Windows GDI rendering of OpenType CFF and “PostScript” Type 1 fonts on screen just sucks, compared to its rendering of TrueType fonts.

    Typophiles have long ignored this fact, because in the environments they’ve cared about, Type 1 and OpenType CFF fonts render perfectly well on screen:

    • Just about any application on the Mac OS.
    • Adobe Acrobat, InDesign and Illustrator, on any platform.



    Unfortunately, Windows GDI rendering is what 90% of people see in web browsers and office applications today. (Yes, Safari for Windows also has the option to use its own rendering system, but that’s a tiny minority.) Internet Explorer sidesteps the problem simply by not supporting OpenType CFF fonts in .eot format, only TrueType (though one can convert). But it’s not like .eot ever caught on with web designers, anyway.

    The future could improve. There is much better OpenType CFF rendering, even applying ClearType, available for applications using Windows Presentation Foundation and  DirectWrite, but very few applications use these modes today, so it is sadly not very relevant… yet. My recollection is that the technical preview of Office 2010 for Windows has dramatically better rendering of OpenType CFF, so perhaps it is coming. Maybe Internet Explorer 9 will get there too, supporting both outline formats in .eot or some new web font format. Perhaps in five years decent support for OpenType CFF rasterization on screen will have reached the strong majority of web browsers….

    CONCLUSION

    So for me it’s a toss-​up as to whether I blame Windows GDI rendering, or the fact that Boing Boing used a crappy free font (BPreplay) because they couldn’t legally use the retail font they wanted to (VAG Rounded). My first take is that I think Windows GDI just made worse something that would have been a problem anyway. Somebody who knows what they’re doing could spend ten minutes and either fix the font’s hinting in BPreplay or convert it to the TrueType flavor of OpenType—if the license permits it, I’d be happy to try either for them. But then again, maybe the complaint is more about the fallback font, a factor easily controlled by the web site author.

    So yes there are some pitfalls. Obviously things would be better if one format worked across all browsers. But there’s also the question of whether one can use the fonts one wants, which tripped up the Boing Boing folks. What happens with that depends on what font vendors decide to do with the fonts they control the licensing for; many foundries are still trying to figure out how to approach the web fonts conundrum. Will they license fonts for use on web servers directly? Will they do so but specify security requirements that can’t be met by sticking regular desktop fonts on web servers, meaning that we’ll have to wait for new web font formats to be widely adopted, such as WOFF? Will they instead rely on a font serving process that involves something centralized, either run by themselves, or by a third party (such as TypeKit or Kernest)?

    How exactly this will play out is still TBD today. What I do know for certain is that within a few years, web fonts will be a reality for the average viewer and the average web site. Many or even most web sites will pick specific fonts that aren’t necessarily already on the viewing computer, and those fonts will get used to display the desired text. Font selection will become part of branding for the web the way it has been in print. We’ll also get an explosion of awful font choices on web sites, particularly small personal ones, much like when the masses first got access to a wide variety of fonts they could print on their home computers. But overall, it will be a Good Thing, and I relish the thought of a more typographically rich web world in a year or three.

    [Updated for minor clarifications 2009-​10-​12, reformatted 2009-​10-​13, added a bit on font fallback 2009-10-13]

  • Lifting the veil

    The press releases aren’t out yet, but at work we just came out with a Windows version of the Suitcase Fusion 2 font manager. The web site is live tonight and you can buy it or download it and try it for free for 30 days. All-​new Windows version jumps two versions to finally get feature parity with its Mac counterpart. This is one of the big projects I’ve focused on in the last few months at work. Sorry I’ve been so quiet lately… more soon.

  • Speaking @ Portland IDUG, visiting TypeCon Atlanta

    Just a quick note here. As posted on the Extensis blog in more detail:

    1. I’m speaking this Thursday (July 9th) at the InDesign User Group right here in Portland, Oregon.
    2. I’ll be at the TypeCon conference in Atlanta late next week, and happy to meet people there and answer questions.

    Cheers,

    T

  • XKCD on Papyrus

    I swear I had already pulled out my XKCD t-​shirt to wear yesterday, just minutes before I saw this comic.

  • Microsoft Office 2010 adds OpenType goodness

    The Office 2010 technical preview is due out in July, and one can sign up to test with it. However, copies of Office 2010 have apparently already leaked, and some enterprising souls have posted screen shots of the new support for OpenType typographic features for western fonts.
    This is a “technical preview” only, so it is quite possible there will be some changes of features, functionality or user interface prior to release. However, it should be pretty close to the final version overall (except in performance and bugs).
    That being said, you may be wondering exactly what is supported. Here’s what the UI posting shows:

    • Ligatures (appears to support multiple levels or types)
    • Number spacing (presumably proportional and tabular)
    • Number forms (presumably oldstyle and lining)
    • Stylistic Sets
    • Contextual Alternates (this one is a checkbox; all the others are dropdown menus)

    None of this stuff is on by default (not even standard ligatures), but then again, neither is kerning. Sigh. So, it’s not perfect, but a huge advance over the status quo. Having this stuff in Word will finally bring some more elements of good typography to the masses….

  • Typographic soap

    For those who want to clean up all the dirty words in the world, try this typographic soap!

    I can’t wait to actually buy it.

    Thanks to Kathleen Tinkel at the Desktop Publishing Forums and Typo-​L for the tip.

  • Speaking at InDesign User Group Seattle, May 12th

    I’m only a week back from Vancouver BC and the “Justified West” conference, where I spoke on forensic typography (detecting forged documents by means of fonts and print tech). I’ve also just finished moving from Seattle to Portland (everything is still in boxes), but I thought I’d drop a quick note on the blog.

    On the evening of Tuesday May 12th, I’ll be speaking at the InDesign User Group here in Seattle, right at Adobe Seattle HQ (where I worked for many years) in the Fremont neighborhood. It will be a somewhat multi-​faceted talk, more of a set of talks really, covering various things group members requested. Admission is free (but registration required or at least strongly desired), and there’s free food, too! So come on out, or let your Seattle-​area designer friends, clients and colleagues know, okay?

    IDUG meeting details link for registration, directions and such.

    SCHEDULE

    6.30-6.45 Meet, greet, and eat (usually they have pizza)

    6.45-7.30 Part I of my talk

    7.45-8.30 Part II of my talk

    8.30 Raffle, Wrap-​up, and Au Revoirs

    Here’s what I’ll be talking about (subject to minor modifications):


    PART I
    6.45-7.30

    • A brief rant on legibility in design (15 min) 
      • including choosing fonts for print and screen
    • How fonts are made (10 min)
    • Tips and Tricks (15 min, list subject to change) 
      • How to know if a font is corrupt (with two tools you shouldn’t use and why)
      • Recognizing system fonts
      • Which system fonts you can remove and why
      • Windows Type 1 fonts on Mac OS
      • Fonts vs transparency in InDesign
      • Character styles
  • Font management (5 min)
  • PART II
    7.45-8.30

    • A Brief History of Type (20 minutes)
    • OpenType demo (20 minutes)
  • It’s not a “screen font” any more

    Funny, the other day I had just finished a first pass at reviewing and revising the Extensis document on “Best Practices for Font Management in Mac OS X,” when a non-​Extensis colleague asked me something about PostScript Type 1 fonts: whether Windows .pfm and .pfb files were pretty much equivalent to Mac screen and printer font files.

    What was funny to me was that only half an hour earlier, I had just been adjusting the language about “screen fonts” and “printer fonts” in the Extensis doc.

    Anyway, here’s what I said:

    First, on *both* Mac and Windows, the phrases “printer font” and “screen font” make no sense any more when referring to the pieces of a Type 1 font. The last time those phrases made sense was at the beginning of the 1990s, before everyone started using ATM, which scaled the outline font (then called a “printer font”) for display on screen. This function has been long since taken over by the Mac and Windows operating systems around 1999-2000.

    Heck, Mac OS X isn’t even capable of using the bitmaps from the font suitcase for screen display at all, so it really isn’t a screen font any more.

    So, the “screen font” isn’t used on screen, and the “printer font” is used both on screen and on printers.

    Which is why I prefer to use the terms “font suitcase” and “outline font.”

    The font suitcase for a Type 1 font contains kerning information, which is useful, and bitmaps, which are required, but not actually used anywhere any more… it’s just that you need at least one bitmap size per font. BTW, one font suitcase can contain bitmaps for multiple outline fonts.

    The outline font is what it sounds like, the actual scalable outlines of all the glyphs in the font, as well as some platform-​independent info such as the PostScript FontName, FullName, yadda yadda.

    Oddly, both the suitcase and the outline font contain advance widths—the amount of space allotted for each glyph, including white space on either side of it.

    Finally, to answer my colleague’s question? Yes, the Windows .pfm and .pfb files are pretty much equivalent to the Mac font suitcase and the outline font (exactly equivalent in the case of the outline font and the .pfb). The .pfm file doesn’t have bitmaps, but it has other platform-​specific info, like the font suitcase.

    Of course, font suitcases can also be containers for Mac TrueType fonts, but that’s another story….

    [updated 27 Apr 2009 to clarify OS X not using bitmaps at all]

  • Thomas Phinney joins Extensis

    I can finally talk about this, now that it’s been announced in this press release. Last week I started my new job at Extensis as Senior Product Manager for Font Solutions.

    For those who don’t know Extensis, they are the leading vendor of font management applications, whose product line includes Suitcase Fusion and the Universal Type Server, as well as the broader asset management application Portfolio. Extensis is a division of parent Japanese company, Celartem, which also owns LizardTech.

    Folks who know me well professionally may recall that I have a long-​standing interest in, and passion for, font management. For example:

    • I blogged about how Windows font management has lagged behind its Mac OS counterparts in the fall of 2007 (that piece also explains what font management is and why one might need it).
    • I have reviewed and contributed bits to Extensis’ article on best practices for font management in OS X several times over the years.
    • Back when I was working on my first master’s degree at RIT I developed a font classification system and database of existing fonts that allowed Font Reserve 1.0 to auto-​classify most of a user’s font collection—and I’m pleased to see this still in use today in Extensis Suitcase Fusion, the descendant of Font Reserve.
    • I have saved my long-​sleeved t-​shirt for Symantec Suitcase 3.0 for all these years! That was 10 versions ago, before Extensis acquired the product.


    On paper I started part time at Extensis on April 1st, though in fact I’ve been ramping up a little more slowly because of two things:

    1. I’m in Seattle, and they’re in Portland.
    2. I just had jaw surgery last Monday, the 30th, so I am still recovering from that.

    The first problem will be resolved by me and my family moving to Portland. We’re renting a lovely house and move in on May 1st.

    The second issue will be solved by gradual healing. Although I could already talk passably well later the same day of the surgery, it’s a bit uncomfortable. Plus to talk on the phone, I have to either take off my ice pack or wedge part of the phone under it in some awkward way…. (Actually, since I wrote this a few days ago, I have gone off the ice packs as well as prescription painkillers. Tomorrow marks a week since the surgery. Things are still uncomfortable, but I’m doing okay.)

    Anyway, I am very excited about this new opportunity. Portland is a great city in a great area (we already love the Pacific Northwest), the people at Extensis have been quite fabulous so far, and the work itself is fun and offers new areas to grow in.