Metric typographic units

Typography is an old art. Long before the introduction of the
international standard system of units (“metric system”), printing
equipment manufacturers all over the world have established a
bewildering variety units to measure length, many of which continue to
be used today:

1 point (Truchet) = 0.188 mm (obsolete today)

1 point (Didot) = 0.376 mm = 1/72 of a French royal inch (27.07 mm)

1 point (ATA) = 0.3514598 mm = 0.013837 inch

1 point (TeX) = 0.3514598035 mm = 1/72.27 inch

1 point (Postscript) = 0.3527777778 mm = 1/72 inch

1 point (l’Imprimerie nationale, IN) = 0.4 mm

1 pica (ATA) = 4.2175176 mm = 12 points (ATA)

1 pica (TeX) = 4.217517642 mm = 12 points (TeX)

1 pica (Postscript) = 4.233333333 mm = 12 points (Postscript)

1 cicero = 4.531 mm = 12 points (Didot)

The printing and publishing software market is at present dominated
by manufacturers (Apple, Adobe, Microsoft, Quark, etc.) located in the
United States, the last country on the planet that has yet to make
significant progress towards the introduction of modern standard
units. As a result, the use of standard units is far from well
established in digital typography, to the significant annoyance of
users all over the world.

The main problems are:

The dominant unit of length, the Postscript point, has with
25.4/72 = 0.352777... mm a very inconvenient relationship to the most
widely used length units (meter and millimeter).

There exists no well-established practice for denoting a font
size. [One example of a somewhat established convention is to specify
the length of an “em” in PostScript points. Historically, the “em” was
the width of the widest metal type in a font, which was for Roman
fonts typically the capital letter “M”. Today, the control points of
digital font outlines are stored in terms of coordinates inside a unit
square. This square is a vague equivalent of the historic maximum
metal type size and its side length has become the modern incarnation
of the “em”. As a result, no easily measurable dimension in a text
matches the point length that designates a font size]

Resolutions of output devices are still frequently specified in
dpi (dots per inch), which is the reciprocal value of the pixel size
multiplied with 25.4 mm.

With the metric
system, we have now a well established, consistent, and globally
accepted set of length units, ranging from subatomic to cosmological
dimensions. The use of archaic ad-hoc special purpose units has become
obsolete and should be strongly discouraged.

It is time that the typographic community finally abandons its
current unit mess in two ways:

adopt the metric system

denote font sizes based on a measurable characteristic length of
the printed glyphs

Metric typographic units are already used in Japan and to some
degree in Germany and other European countries. However, the market
dominance of US-originated typographic software without proper support
for metric units at all levels currently hinders the further
deployment of metric typographic practice.

The German draft standard DIN 16507-2
suggests that all length measurements in digital typography should be
specified in millimeters. It suggests further that dimensions should
be multiples of 0.25 mm, or where a finer resolution is required
multiples of 0.1 or 0.05 mm.

No more points, picas, ciceros, inches, etc. and all their awful
conversion factors.

Japanese
typesetters use the unit Q (quarter) for font sizes, where 1 Q =
0.25 mm, i.e. the same modulus recommended by DIN 16507-2.

This measure coincides nicely with the most common pixel size on
computer monitors. For example a typical CRT screen has a display area
of 320×240 mm, divided into 1280×1024 pixels, which makes
each pixel 0.25 mm large.

Font sizes

DIN 16507-2

This draft standard defines (among many others) the following two
font measures:

Font size (German: Schriftgröße)

This is the baseline distance for which the font was designed. A
font should normally be identified and selected by this size, because
the intended baseline distance is much more relevant for practical
layout work than the actual dimensions of certain characters.

Font height (German: Oberhöhe)

This is the height in mm of letters such as k or H. Typically, the
font height is around 72% of the font size, but this is of course at
the discretion of the font designer.

If we write say “Helvetica 5.0”, then this means we have a font
that was designed for a 5 mm line spacing. It will typically have an H
that is 3.6 mm or 10.2 points tall (72% of 5 mm). Calculations become
trivial: in a 60 mm high column, we can write exactly 60 mm / 5 mm =
12 lines. The baselines of text become neatly aligned with a
millimeter grid, and if millimeters are used to describe both font
size and font height, their relationship becomes easier to handle than
if different units such as mm and points were used. Layout designers
do not have to juggle any more with conversion factors such as 72.27
and 25.4. If you write “Helvetica 5.00/5.25” then this means that you
use exactly the same font as above, but with 0.25 mm more baseline
skip than it was designed for.

DIN 16507-2 contains a list of preferred metric font sizes,
together with the corresponding preferred 72% font heights in mm. The
table below shows, in addition to these values from the standard,
the corresponding preferred 72% font heights in Postscript points, for
easier comparison with the old font sizes. Note: the point sizes of US
fonts do not always refer to the k/H height that is defined by DIN as
the font height. Some font manufacturers (e.g., Knuth) also refer to
the size of taller characters such as “(”, so be careful not to
convert incompatible measurements. Instead, try to find out the baseline
distance for which a font was originally designed if you want to
convert properly to metric sizes.

(The above mm values are from the old DIN 16507-2:1984-05 draft. If
you implement metric font sizes, please make sure you get the latest
version of the actual standard from DIN.)

Again: The font size refers to the baseline distance for
which the font was designed, and is used to generally identify the
font. The font height is the actual height of characters such
as H or k. The font height is typically 72% of the font size as a
preferred value, but this is of course left to the discretion of the
font designer. One writes “Courier 6.0” to get the Courier font
designed for 6 mm baseline distance (where the height of an H is
typically 4.3 mm or 12.2 pt), and one writes “Courier 6.0/9.0” to get
the same font but to use it with 50% more space between the lines.

Other proposals

Authors such as (Ó
Brógáin, 1983) argue instead that font sizes should
be based on the x-height. This clearly has a number of advantages:

The x-height can easily be measured directly in a sample printout
and is not an invisible dimension found only in font data.

Whether two fonts appear to have the same height is primarily
determined by whether their x-heights match.

The concept of x-height is also present in Greek and Cyrillic
typography. Hebrew, Arabic and Devanagari glyphs can be aligned quite
nicely with a Roman x-height, too.

Recommended baseline distances are often related to the x-height
(2 seems to be a very common factor), therefore using the x-height as
a reference dimension will in practice often also lead to round
measurements for the baseline distance.

Possible disadvantages of using the x-height as the reference
dimension for denoting a font height might:

In some applications (e.g., traffic and warning signs in some
countries), text is commonly written uppercase only, or consists only
of digits, so there are no visible lowercase letters as a measurement
reference. However, as the fonts used in these applications usually
also include lowercase characters, therefore the x-height is always
well-defined (except for some numeric-only display devices such as
7-segment LEDs).

Chinese characters are more easily aligned with the H-height of
Roman characters. However, as East Asian fonts typically also contain
Roman lowercase characters, the x-height is always a well-defined
quantity here, too.

Draft proposals for an international standard on font sizes drawn
up in the late 1970s were based on the height of capital letters and
did not find international agreement.

Both x-height and the size of capital letters is an attribute
stored in existing font files, therefore scaling font sizes such that
the x-height or H-height matches a specified length in millimeters is
quite trivial to implement on top of existing font management
mechanisms.

An idea that might at least be worth considering is to define a
series of preferred font sizes. Unlike the values given in DIN
16507-2, this could be a geometric series in which the quotient of
neighboring sizes approximates a root of the square root of two. The
international
standard paper sizes were designed to be magnified and reduced by
factors of sqrt(2) or sqrt(sqrt(2)), and for example standard
technical drawing pen sizes follow the same progression. Such a
series of standard font sizes could either be designated in a
millimeter length and made available via pull-down menus, or it could
be designated by an index number, as is already done for ISO paper
sizes.

Metric device resolutions

Instead of giving a reciprocal pixel size in dpi, it would be much
more convenient to specify the pixel size directly in micrometers, as
it is also common practice in the semiconductor industry.

The following table shows a few commonly used typesetting
resolutions in both µm and dpi:

µm

10.0

20.0

21.2

40.0

42.3

80.0

84.7

100.0

250.0

254.0

dpi

2540

1270

1200

635

600

317

300

254

102

100

So far, phototypesetters have traditionally used metric resolutions
(with 10 µm = 2540 dpi being most common one), while laser and
inkjet office printers currently still mostly have inch-based
resolutions.

Metric modes in layout software

While US-originated typographic software frequently does allow to
switch into some sort of metric mode, these metric modes usually have
lots of loose ends and were obviously never used in daily work by
their developers. Add-on metric modes often suffer from bizarre
rounding bugs (you enter 210 mm and always get ugly 209.902777 mm
displayed, alignments on metric grids do not work out, startup
defaults are often fixed to US units, etc.), and the metric support
stops at critical details like the font or pixel size, such that in
the end metric users still have to constantly convert between
millimeters, points, inches, and 1/inches. US developers should
realize that over 95% of the world population grew up using the metric
system and that it is therefore prudent to design a system today from
the very lowest level up purely in metric units. Conversion to archaic
units like the inch and the various points should only be an add-on
feature in the user interface on top of an underlying purely metric
architecture, and not the other way round.

One font handling system design that got things right is the W3C’s CSS2
specification. Here, a DIN 16507-2 font description of the form
“Helvetica 4.0/4.5” can directly be written as

Unfortunately, the DIN standards on metric typography seems to be
available at the moment only in German. I hope that a standardization
group such as ISO/TC130 will eventually
set up a very similar international guideline for the use of metric
font sizes.