Units Per Em & Points Size/Cap Height

Jason Walley's picture

I'm a novice type designer attacking my first face with FontLab 5. I feel like my naivety and idealism have lead to a couple of conflicts, the most significant being with UPM and the actual cap-height when set. I imagine you guys can help clarify some things for me.

The Way I Understand UPM
As I understand it, UPM is an essentially arbitrary number that determines the number of Font Units per Em—usually defined as 1000 or 2048. This value is used to scale the font when set. If1000 UPM is used, then when set at 10pts those 1000 units will be scaled to 10 pts high.

While 1000 UPM is described in FontLab's Manuals as a standard, which as a multiple of 10 makes sense, it appears no one uses 1000 units as the cap-height. Usually a number closer to 800 units is used (Am I correct in this belief?), making the actual cap-height when set significantly smalller than 10 pts. To make matters worse there seems to be little reason or standardization in how many units tall the cap-height is. So when set at 10 pts, two fonts can have different cap-heights.

My Beef With the Situation
If someone asks me to draw 2 inch letters, I'm going to draw them so that they have a 2 inch cap height. If they asked me to draw 10 pt letters, I'd draw letters with a 10 pt cap height. I imagine you would do the same. Who wouldn't? It only makes sense to draw the letters so that the tallest letters are at the specified height. Ignoring for the moment the growing tendency for ascenders to rise slightly above the cap height that would make the cap height the tallest point in the font. So, why would you build a font that when set at 10 pts is actually some arbitrary size, like 8 pts?!

Am I Crazy?
Or just naive? What am I missing? What is the rationale for this annoying and confusing discrepancy? If I decide to build my font with a 1000 unit cap-height/ascender height will this severely impact my vertical metrics. Will my font merely be noticeably quirky—requiring it to be set at 7 or 8 pts to read like everyone else's 10 pt—or will it be completely wrong, bad, amateurish, or whatever degrading modifier you wish to use? Additionally, if I use something other than 1000 units for my cap-height, how do I determine what number of units to use for my cap-height?

DTY's picture

You're forgetting the descenders. They have to fit within the 1000 units too, so a latin font that has both upper and lower cases can't have a cap height equal to the em square unless the lower-case letters are drawn without any descent below the baseline. In other words, the 1000 units are distributed with about 800 above the baseline and about 200 below. There are other considerations too (parentheses, for example, or diacritics), but the descenders are the most important.

Jason Walley's picture

So you're saying that the UPM should limit the height of my letters from bottom of the descenders to the top of the caps/ascenders? This sounds like the UPM is then defining the vertical boundaries where nothing can reach beyond, and not merely providing a unit for scaling and measuring.

jasonc's picture

If they asked me to draw 10 pt letters, I’d draw letters with a 10 pt cap height. I imagine you would do the same. Who wouldn’t?

no, you wouldn't. Try it. Set some letter at 24pt, and print them out, then measure the cap height. The point size is 9complicated, but roughly speaking) the distance between ascent (which is usually going to include not just cap height, but cap height + room for accents) and descent.

This sounds like the UPM is then defining the vertical boundaries where nothing can reach beyond, and not merely providing a unit for scaling and measuring.

technically, the UPM is a scaling factor, however it's good advice to make your font fit within it's limits. It will keep you out of some potential messy problems.

It's important to remember that "cap height" is a very Western, and more so, very English, notion. For instance, most of the Latin languages use many accented characters, so you need room above the cap height for those. Vietnamese often stacks 2 rows of these accents above the cap height. Arabic scripts use different concepts of height zones. Devanagari uses a "headline" instead of a baseline, sort of the antithesis of a cap height.
The font formats are designed to support drawing characters in all of these scripts, so cap height isn't the defining mechanism.

Jason C

DTY's picture

You can go outside the em square, but you shouldn't do it blithely. When type is set solid, the distance between lines equals the UPM height, so if your descenders or ascenders go outside the em square, they're liable to collide with the next line. It'll be obvious if you visualize in your head the results of setting multiple lines of 10/10 type - the 10 points of line spacing are calculated in the same units as your 10 points of type size, so if you go above or below the em square, you risk collision.

There are situations where you might well do it anyway - certain accented capitals, etc. - if you think the risk of collision is low enough. Make sure to read John Hudson's excellent discussion of vertical metrics in the wiki.

Jason Walley's picture

Jason C: Looks like my English-centric mind strikes again. I am aware of the accent marks in other languages, but completely blocked them from memory recall when considering the cap-height/UPM quandary. Also, perhaps my understanding of how point sizes have been traditionally measured is flawed. I understood the point measurement to be from baseline to cap-height, and that the x-height to descender measurement would be roughly similar with alterations for the sake of legibility, style, and so forth.

archaica: I appreciate your explanation of setting type solid. I have yet to fully research the development of metrics, and was assuming that I would be later establish a lower and upper boundary that would define the "initial" spacing of lines when set solid. I also really appreciate the wiki link.

As a side note, I have done a general search for books on type development, but have found it overwhelmingly difficult to pare down to the quality, relevant material. Any suggestions to help me narrow my research focus would be greatly appreciated.


DTY's picture

Also, perhaps my understanding of how point sizes have been traditionally measured is flawed.

Back in the days of handset foundry type, it meant the height of the body that the type is cast on. In digital type, it's the functional equivalent of that, which is the baseline-to-baseline distance when the linespacing is set equal to the same number of points as the point size of the type - so essentially it's equal to itself, but that's the physical manifestation of this tautology. You're correct that the UPM is kind of arbitrary, in the sense that you can use 1200 UPM or 900 UPM just as well as 1000 if the format allows it, but the relationship of the outline's bounds to the UPM square is not arbitrary.

Take a look at the threads linked from the wiki page on UPM. For the technical stuff like this, you'll probably learn more on Typophile than you will from books. Or from just doing it and seeing what doesn't work.

Jason Walley's picture

Ohie. Several hours ago, when I entered the studio to spend the night drawing letters, I thought I had a better understanding of the technical aspects of type design than I did. After spending hour after hour wandering deeper into the wiki and various threads, it seems like I truly know nothing other than how to draw pretty letterforms.

Thanks for the UPM wiki link. I just gotten done perusing that entry. Before posting this thread initially, I had done a search on "units per em" and received a few threads that didn't give me any more info than I already had. Clearly the basic search doesn't include the wiki, which I didn't even know existed until a few hours ago.

I clearly need to spend some time immersing myself in the wiki. Thanks for your help.

Jason Walley's picture

Additionally, anyone have good tips on how to determine how many units tall would be appropriate for my cap-height, assuming 1000 UPM? I'm designing a text font, so perhaps I should consider the number of units of the x-height more important? Just opening various text faces that I have installed on my computer in FontLab shows me a variety of x-heights from anywhere around 520 units to nearly 700 units.

Perhaps this is a situation where trial and error combines with personal preference to determine a size that looks suitable when compared to other fonts?

twardoch's picture


the point size in metal types related to the body, not the face. The face was always smaller than the body, i.e. if you measure the caps of 10 pt metal type, you will indeed find out that they're about 7 pt high.

When Adobe created PostScript and were digitizing existing Linotype and Monotype faces, they adopted a scale that would roughly approximate existing metal types, so that the visual appearance of PostScript 10 pt type is similar to the metal 10 pt type. Since all Adobe PostScript fonts had an em square of 1000 units, the caps were drawn to be roughly 700 units tall.

The other limit, also inherited from metal times, was that ascenders or descenders could not exceed the body size, i.e. the em square.

In metal fonts, the body determined both the point size and the default linespacing (i.e. without extra leading). Therefore, Adobe adpoted a practice that in their fonts, the metric information for ascenders and descenders sums up to the UPM size.

But this is a convention, just like the ~700 units caps are a convention. If you follow those, your fonts will be roughly comparable in linespacing and scale to most Adobe fonts.

If you look at the Microsoft ClearType fonts (Constantia, Corbel, Calibri), you'll find out that Microsoft decided to draw those fonts "small on the body", i.e. the lowercase and uppercase letters are relatively small compared to the em square. On the other hand, older Microsoft fonts such as Arial, Georgia and Verdana are rather large on the body. I would be curious to hear the aesthetic decisions behind this, especially the recent reduction of the face size in the ClearType fonts.


DTY's picture

Cap-height and x-height are really design questions, not technical questions. Given the proportions in your design and the choice of a 1000 UPM grid, they will make themselves obvious. For example, if you want long descenders, the cap-height has to be reduced accordingly in order to fit. If you want tall ascenders, the x-height is reduced accordingly. Compare faces like Mrs. Eaves and URW Antiqua and you'll get a sense of how different type looks when you change these proportions.

twardoch's picture

> If someone asks me to draw 2 inch letters, I’m going
> to draw them so that they have a 2 inch cap height.
> If they asked me to draw 10 pt letters, I’d draw
> letters with a 10 pt cap height. I imagine you
> would do the same. Who wouldn’t?

I would say pretty much every type designer from 1450 to 1990 wouldn't. However, I understand your dismay -- your thinking obviously reflects a signpainter's thinking rather than type designer's thinking. But the measurement system in fonts, starting from the notion of _points_ and carrying on with the idea that every character would have one shape (glyph), the concept of ascenders and descenders etc., it all comes from the world of mechanized typesetting, not signpainting. Basically, the typesetting world was an industry while the signpainting world was a craft, so no standards were never necessary.

Fortunately, in the 20th century the standardization in the typesetting industry went so far that not only point sizes but also standard cap heights were pretty much unified across the dozen or so manufacturers, lead by Linotype and Monotype.

This tradition was carried over to the digital industry with Adobe pretty much making up a monopoly in the field of digital typography through PostScript. This resulted in further unification (i.e. one point unit where 1 inch = 72 points, as opposed to two point units, Pica and Didot, that were in use before, in North America and Europe, respectively).

Also, fortunately enough, the convention adopted by those people was not arbitrary. It was so that the caps height = 70% of the point size. What's wrong with that? IMO, nothing. It's a convention as good as any. Since we have it, I recommend sticking to it.

Of course you're free to go your own way and make your caps 42% larger than everyone else's, but I'd say then you should be prepared for quite a few customer complaints that your fonts "stick out".


John Hudson's picture

Adam: If you look at the Microsoft ClearType fonts (Constantia, Corbel, Calibri), you’ll find out that Microsoft decided to draw those fonts “small on the body”...

In Constantia, the height of the /thorn/ glyph, which is a good glyph to look at since it has both an ascender and a descender, has a total height of 1991 units, on an em of 2048. So it isn't full em height, but it is 97% of the em height, which doesn't seem to me 'small'. The height of the /thorn/ in Georgia is 1998 units? So there's hardly a big difference there.

But, yes, the other CT fonts are indeed smaller on the body. Comparing thorn heights: Calibri 1757, Cambria 1861, Candara 1874, Corbel 1913, Consolas 1823. The reason for this is that all six families were designed to harmonise visually with each other by having a similar x-height. Since Constantia was intended from the start to have more the proportions of a classic book face (smaller x-height and longer extenders), it ended up influencing the proportions of the other typefaces. The common x-height was defined as slightly larger than that of Constantia, and then the designers made their extenders as long or as short as they thought appropriate to the design. I dimly recall the Constantia extenders being longer in an early version, closer to the full em height, and that I later shortened them a bit.

k.l.'s picture

Jason Walley -- My Beef With the Situation
If someone asks me to draw 2 inch letters, I’m going to draw them so that they have a 2 inch cap height. If they asked me to draw 10 pt letters, I’d draw letters with a 10 pt cap height. I imagine you would do the same. Who wouldn’t?

Adam's comparison of how sign painters and type designers measure letterforms differently is quite nice.
Amusingly there are even typography teachers who mistake a type size of 10pt for a cap height of 10pt. At the end of a typography course at university, a test asked this question -- my correct answer was marked as wrong.  :)

I should add that OpenType/TrueType fonts do provide information about their cap height and x-height. This means that applications could already allow designers to define type size by way of these.

Jason Walley's picture

Adam: Thanks for the explanation of measuring body size instead of face size. Also for the comparison between how sign painters and type designers measure letterforms—it makes me feel better about misunderstanding point size considering that my first typography teacher, who I understand had spent years doing signage before moving to the US to be a teacher, is who taught me to measure type size based on cap height. Also, my first two design jobs were with environmental design firms where we specified type based on the cap-height. This method still seems to make the most sense to me, but I can understand and appreciate how the size of the metal body would be used to measure the point size.

While I'm generally all about sticking to my guns and doing things my way, I have little interest in designing fonts that stick out in such a way. I appreciate everyone's help in properly educating me and gently expanding my mind.

Karsten: I would be interested in seeing some discussion regarding the possibility "that applications could allow designers to define type size" based on x-height or cap height. I'd be particularly interested in being able to define based on x-height, since I feel like that is one of the more important values when considering legibility. This could of course lead to all sorts of problems with ascenders, descenders, and leading. Have there been past discussions about this around the forums?

k.l.'s picture

There must have been some discussion but I cannot find any.

twardoch's picture

There was one professional layout application, Calamus, originally made for the Atari ST platform in 1987 and later ported to Windows NT, made by a German company DMC, that allowed type being measured based on any of the important typographic parameters: body size, uppercase size (cap height) or lowercase size (x-height). Also, it allowed to measure type in any units, including micrometers (1/10th of a milimeter), which was quite popular with some European designers at the time.

My first typographic mentor, Polish designer Stefan Szczypka, introduced me to Calamus and the way of thinking that came with it. Among others, Calamus was famous for its own font format, which had the UPM size of 16,000 units (similarly to Ikarus), for "band kerning" (each glyph had a staircase-like skeleton made out of 16 horizontal slices drawn around it, which was used to precisely determine the glyphs metrics at different heights, practically eliminating the need for pair kerning), for its novelty masking (you could mask vector objects with any bitmaps or vector objects), transparency, great geometry flexibility (you could define documents that were several miles wide, and you could zoom up to 1,000,000% in any document), and a complete WYSIWYG (all the bitmaps, masks, fills, transparencies etc. were completely viewable on screen at the highest precision in any zoom level). And that all in the late 1980s — PageMaker and QuarkXPress couldn't even do high-res bitmap preview at that time and still used bitmap fonts.

Calamus' main flaw was that it was not compatible with PostScript: it relied on softripping, i.e. the entire document had to be rasterized at imagesetter resolution on the desktop computer. In other words, you had to have an imagesetter connected directly to an Atari station with Calamus running on it. Also, the Atari ST operating system didn't match in popularity against Mac OS or Windows.

But Calamus pioneered many interesting concepts. There are still some layout applications strongly influenced by it, e.g. the Polish Kombi layout application, and Calamus itself.


Syndicate content Syndicate content