Design History of Workplace Sans


I originally created Workplace Sans because I wanted something that closely resembled the OS/2 WarpSans font, but which could be used under other operating systems. (My original motivation was actually to be able to use Windows-based graphics programs to draw OS/2 user interface designs.) As a bitmap font cannot be antialiased, my assumption was that Workplace Sans generally would not be either.

In light of these goals, early versions put a great deal of effort into trying to force the glyphs to rasterize (in monochrome) as identically as possible to WarpSans at 9- and 11-point (120 dpi) sizes, while maintaining a certain minimal level of internal consistency. With no direct control over hinting, I had instead to resort to pushing the glyph outlines themselves into rather awkward contortions. At the time, very little consideration went into making the actual glyph shapes attractive on their own merit.

Since that time, however, Workplace Sans has found itself adopted for use under OS/2 by a number of ported applications which use the FreeType library for rendering text. These applications cannot load OS/2 bitmap fonts (because FreeType cannot), and thus are unable to use WarpSans for their user interface; Workplace Sans thus found itself recommended because it approximates the style and dimensions of WarpSans, thereby allowing a certain degree of consistency with the rest of the system. Significantly, however, the use of FreeType implies that text is antialiased by default.

As a result, Workplace Sans is now much more likely than I originally envisioned to be used in an environment where it is antialiased. Indeed, this now appears to be its primary use.

Consequently, I have moved away from my original obsession with exactly duplicating the appearance of WarpSans under binary rasterization, and now focus instead on making the font more attractive when antialiased, including at larger sizes.


The design history of Workplace Sans closely parallels the progression of my own (self-)education in typographic principals. I started out knowing virtually nothing of type design or history; as my knowledge has steadily grown over the years, Workplace Sans has evolved along with it.

Workplace Sans has changed greatly since its inception. This page gives a brief summary of the various generations of its design.

The Earliest Experiments

I originally designed Workplace Sans by attempting to directly translate the glyph bitmaps from the 06x16 version of WarpSans into approximately equivalent outlines. The pixel grid was conceptualized into units per em (upm) by assuming that each pixel was 80upm wide by 67.5upm high.

Initially, the strokes filled these dimensions exactly, but I was unhappy with the results of this approach. I found that reducing the stroke width and height to 60upm produced better results, as the lines were slightly less likely to fall outside the pixel boundaries when rasterized.

My only focus at this point was producing satisfactory rasterization at 9 point (120dpi) size. Since I was at the mercy of TypeTool's automated hint generation, this required a great deal of trial and error. The resulting glyph outlines, when viewed in any other form, looked like something out of Bizarro World.

To the best of my recollection, none of these early experiments was ever released publically.

[1st Generation]
First Generation (v0.1 and earlier)

The first released versions continued to be characterized by very weirdly-shaped glyphs, although it was considerably improved over the earliest versions.

At this point, almost all focus was still on achieving a rasterization identical to WarpSans, with very little consideration given to aesthetics or design. Only one weight was provided; stroke width was a uniform 60upm in both directions.

The publically released builds at this point tended to be very vague with respect to versioning. I generally released them with a date stamp rather than an explicit version number; the actual numbers compiled into the font headers were more or less arbitrary. I eventually settled on a scheme which culminated in version 0.1.

[2nd Generation]
Second Generation (regular v0.2 - 0.4; bold v0.1 and earlier)

During this phase I began trying to make the glyph shapes a little more regular, although they still looked rather odd. I narrowed the strokes to 50upm in both directions in an effort to improve the rasterization, and also slightly tighted up the spacing around each glyph.

Towards the end of this period an experimental bold weight was released, with independent version numbering (starting from v0.1). The bold weight was markedly different in design from the regular weight, reflecting the dramatically different appearance of the WarpSans Bold bitmap font. Again, my emphasis was on getting the rasterization to match the appearance of WarpSans Bold as much as possible.

These were the first versions of Workplace Sans to achieve widespread use. Both Mozilla and OpenOffice began to make use of FreeType for rendering, and endorsed Workplace Sans as a substitute for WarpSans. As such, what started as a private hobby found itself turning into a widely-used product.

Version 0.5 (regular weight only) could be considered a transitional release. Starting with this version, I upgraded to version 3 of FontLab TypeTool, which has a number of advantages such as support for composite glyphs. It also features a more advanced TrueType hint auto-generator, which I found noticeably improved the appearance of rasterized glyphs. Taking advantage of this, I tweaked the glyph outlines to tone down the weirdness slightly (although text was still strange-looking at larger sizes). While the glyph strokes remained at 50upm horizontally, I narrowed them fractionally in the vertical direction.

[Version 0.5]

However, I received a number of complaints that version 0.5 appeared shrunken and/or irregular when rendered under FreeType 2; I eventually discovered that this was due to some of the existing global font metrics clashing somehow with the automatic hints generated by TypeTool 3.

At this point, I was becoming increasingly dissatisfied with the overall appearance of the font. A large reason for this was that Workplace Sans was now typically being anti-aliased for use in various applications, which tended to show up its design peculiarities more than monochrome rasterization. Having it anti-aliased also meant that it was no longer particularly important that the font to rasterize pixel-for-pixel just like WarpSans. Furthermore, the font was now being used far more widely, and far more visibly, than I had ever anticipated would be the case. I could now expect Workplace Sans to be rendered in a wide variety of sizes and contexts, not merely as 9-point widget text.

I eventually decided that it was time to redesign the entire font with a view developing it into a proper typeface.

[3rd Generation]
Third Generation (regular v0.6 - 0.71; bold v0.2 - 0.4)

Starting with version 0.6, the font was completely redrawn with an eye to achieving a regular and consistent appearance. I was still largely self-taught at this point, although I increasingly took to studying the details of other realist typefaces up close. The objective of maintaining resemblance to WarpSans when rasterized was de-emphasized (although not abandoned completely). Instead, starting with version 0.71 an experimental alternate build with embedded WarpSans-style bitmaps was provided.

At around this point, I also tightened the letter-spacing significantly, although the sidebearings for each character still approximated those of WarpSans.

Due to the rendering problems with version 0.5, I returned to generating the final font files with TypeTool 2 (although I continued to use TypeTool 3 for actual development).

[4th Generation]
Fourth Generation (0.8x)

With this version, I finally moved decisively away from trying to force the outlines to rasterize like WarpSans (as the new bitmapped versions were deemed adequate for this task), and focused instead on making the font more legible and attractive under a wide range of sizes. The new basic designs from the version 0.7 regular weight were kept (with some modifications such as a slightly increased caps height), but the glyph strokes were widened to 80 upm to give the characters a more substantial appearance. This was done partly to bring the font more into line with common practice, and partly because the thinner strokes resulted in extremely poor legibility when anti-aliased at small sizes (particularly at 96dpi and below).

A new "light" weight was added, which was similar to the old regular weight but with the strokes widened to 60upm from 50. In addition, a completely redesigned bold weight was introduced, which abandoned the highly distinctive style inherited from WarpSans Bold and instead tracked the design of the regular and light weights.

The version numbering was harmonized at this point to be the same for all weights. The "experimental" designation was dropped from the bitmapped releases, and they were made available alongside the standard versions.

Finally, after adjusting the global font metrics, I was able to return to generating the fonts with TypeTool 3, starting with version 0.81. I also removed all hints, deeming them unnecessary with the widespread use of antialiasing.

Fifth Generation (0.9 - present)

The latest redesign was started with an eye to giving the text a more relaxed and readable appearance. The major stylistic change was the lengthening of all outside curves, to reduce what I later discovered was known as the "bone" effect, and also to provide a softer character overall. Other minor tweaks included giving the lowercase "a" a more pronounced tail, and redesigning the "@" and "&" symbols.

In addition, the regular weight was lightened slightly to a 70upm stroke width, and the light weight was returned to 50upm. I restored the (auto-generated) hints in the light weight, mostly to keep it consistent with older versions, but left the other weights unhinted.

After version 0.9 I raised the apex of both the upper- and lowercase "w" glyphs for more a consistent colour.

At this point, I finally got my hands on Karen Cheng's superb book Designing Type, which I soon wished I'd found years earlier. For version 0.91 and up, I went through and revisited all the counters to give them more regular shapes. I also reworked the letter-spacing throughout, a relatively minor but welcome change.

[5th Generation]

Go to the Workplace fonts page.