1h Typography Essay

What does it take for a serif and a sans to share a page?

Two typefaces and two voices, at one size.

Contents
  1. In short
  2. 01Two voices on one page
  3. 02Where the two faces disagree
  4. 03The cheapest match changes no letter, and its capitals fall short
  5. 04The serif’s lowercase is raised, not scaled
  6. 05The sans is fitted to the serif, and its capitals pay
  7. 06One construction draws the signs
  8. 07A floor under the white
  9. 08How the fonts were made
  10. 09Check
  11. Keep
  12. Sources

My children’s books speak in two voices, even within one line. The book’s own text is set in a serif, a type­face with small fin­ishing strokes at the ends of its main strokes. The child’s work is set in a sans, which has none. For the two to share a page at one size, their low­er­case letters must stand at one height, called the x-height, and their upright strokes must be equally thick. One written set of rules must also govern the white between char­ac­ters and the math signs, such as + and =, which are not letters. EB Garamond and Hanken Grotesk, the two faces my fonts start from, meet none of these con­di­tions, so a line jumps when the voice changes. Both faces were changed under my direc­tion. In the faces that resulted, Barani Serif and Barani Sans, the low­er­case heights agree within 2.3 percent and the upright strokes within 3 percent. The price is cap­i­tals 4.4 percent shorter in the sans. That readers will feel the pair is better matched is rea­soned, not yet tested.

Two voices on one page

The books are With Every Reason, a series in arith­metic for my chil­dren and for all chil­dren. The serif sets the reasons, which are the text a child reads, the Guides for parents and teachers and the worked solutions. The sans sets the work, which is the prob­lems and exer­cises, the tables and the figure labels, at the serif’s size. By the books’ typog­raphy stan­dard, two voices let the eye tell reading from doing before it reads a word, a claim no test with chil­dren has checked.

My font spec­i­fi­ca­tion records my words that I really like Garamond and that the books need a better sans, chosen for its strength in math­e­matics and for­mulas. I asked for faces that look as if one designer drew them, matched in x-height and in the other mea­sures of size and spacing wher­ever they can be. Barani Serif and Barani Sans are built from two open-source type­faces, EB Garamond and Hanken Grotesk.

Where the two faces disagree

A dis­agree­ment between two faces can be mea­sured, because every letter is drawn on a square. A type size names the height of that square, called the em. Both faces divide the em into 1,000 units, counted up from the base­line, the line the letters stand on. Figure 1 sets EB Garamond and Hanken Grotesk at one size, as they come. Hanken’s x-height, mea­sured at the flat top of the x,1 is 493 units and EB Garamond’s is 405, so the sans’s low­er­case is 22 percent taller.

serifsans, % against serifEB Garamond + Hanken Groteskx-height +22%cap height +7%Barani Serif + Barani Sansx-height +2%cap height −4%
Figure 1H, x and 7 at one size, in EB Garamond then Hanken Grotesk (above) and in Barani Serif then Barani Sans (below). Solid lines mark each serif’s x-height and cap height, and dashed lines the sans’s, labeled with the sans’s height against the serif’s. In the stock pair the x-height jumps 22 percent at the change of face, and in the Barani pair 2 percent, while the cap height now steps down 4 percent. Outlines from the font files.

The cap­i­tals dis­agree less. They rise to the cap height, mea­sured at the top of the H, and the sans’s is 7 percent greater. Each upright stroke of the n is a stem, and in Regular Hanken’s stems are 85 units thick against EB Garamond’s 70, so they are 21 percent thicker.

Taller letters with thicker stems put more ink on the line. Squint at a page and its letters blur into a gray, which typog­ra­phers call the page’s color.2 This essay mea­sures color as the share of a line’s area that ink covers, with the 26 low­er­case letters set in a line one em tall. By that measure Hanken’s line is 27 percent darker than EB Garamond’s.

Figure 2 marks the same parts on the fin­ished Barani faces, where the mea­sures nearly agree. In Regular, the stems of the n are 70 units in the serif and 69 in the sans. Ink covers 17.1 percent of the line in the serif and 16.9 percent in the sans.

Barani Serifcap heightx-heightbaselineserifstemcounterascenderdescenderthinthickkerningspacingcolor,17.1% inkBarani Sanscap heightx-heightbaselineno serifeven strokekerningspacingcolor,16.9% ink
Figure 2The parts of a letter, in Barani Serif and in Barani Sans at one size. Above, the cap height, x-height and baseline run across H, n, d, p and o. In the middle, the dashed boxes of n and o meet edge to edge, while kerning makes the boxes of T and o overlap. Below, a bar one em tall holds the ink of a line from a to z spread evenly, so its gray is the line’s color. Outlines from the font files.

The faces are matched on the n’s stems and not on the o, because the serif’s o is meant to swell. It is 82 units thick at its sides and 31 at its top, and that dif­fer­ence between thick and thin is the stroke con­trast.2 The sans’s o mea­sures 68 units at its sides and 60 at its top, so its stroke is nearly even.

The height matters, because the eye seems to judge a face’s size by its x-height. Karow mea­sured 1,049 roman type­faces and found x-heights from 0.28 to 0.58 of the em, as Legge and Bigelow report in their review.3 EB Garamond’s is 0.405 and Hanken’s 0.493. Faces with larger x-heights “appear to be bigger,” they write, although this is “not proven by rig­orous lab­o­ra­tory studies”.3 If it holds, the child’s work set at 10 points looks as large as the text beside it would at 12.2 points.

The usual advice is to pair faces that differ. “The more dis­sim­ilar the type designs, the better the mix,” writes Allan Haley, who counts a serif with a sans as the least risky way to mix faces from dif­ferent fam­i­lies.4 My books want that dif­fer­ence in shape, serifs against none. They must avoid a dif­fer­ence in size or color, because type uses both to mark emphasis. Where the voices meet in one line, a jump in either would, by this rea­soning, make the child’s work look louder than the text around it, a signal nobody meant.

The two faces dis­agree because they were drawn by dif­ferent hands for dif­ferent work. EB Garamond is Georg Duffner’s revival of Claude Garamond’s roman, from a spec­imen printed in 1592, later extended by Octavio Pardo.5 Hanken Grotesk, a project led by Alfredo Marco Pradil, is a sans “inspired by the classic grotesques,” meant for work from signage to books, inter­faces and web­sites.6 Neither was drawn to sit beside the other, so nothing holds their proportions together.

A family drawn as one can agree from the start. Bigelow & Holmes’s Lucida faces, serif and sans among them, all share “the same x-height, capital height, and similar series of weights”.7 Barani Serif and Barani Sans began as two faces by dif­ferent designers, so their agree­ment had to be made afterward.

The cheapest match changes no letter, and its capitals fall short

The numbers above suggest a match that needs no new font. Shrink Hanken Grotesk to 405/493 of its size, about 82 percent, and in Regular its x-height is 405 units and its stems about 70, both EB Garamond’s own. The same result comes from setting the unchanged sans at 8.2 points beside the serif at 10.

The cap­i­tals refuse. EB Garamond’s cap height is 1.61 times its x-height and Hanken’s only 1.41. So a scale that matches the low­er­case leaves the sans’s cap­i­tals at about 573 units against the serif’s 653, about 12 percent short. These figures were com­puted for this essay from the heights and stems in the font files.

The serif’s lowercase is raised, not scaled

On October 26 I con­firmed a plan to lift the serif’s x-height from 405 to 440 units by redrawing its low­er­case, not by scaling it.

One effect of the raise can be com­puted. With its low­er­case at 440 units and its cap­i­tals at 665, the serif’s cap height is 1.51 times its x-height, closer to Hanken’s 1.41. At equal x-heights, that change alone would cut the capitals’ gap from about 12 percent to about 6.5. The sans’s low­er­case, set a little taller than the serif’s Regular, as a later section shows, brings it to the 4.4 percent of the finished faces.

Scaling EB Garamond up by 8.6 percent would also reach 440, but it would thicken every stroke, widen every letter and lift the cap height from 653 to about 709. So the low­er­case was redrawn instead, and the n shows how.

+35 unitsBarani SerifEB Garamondbaseline
Figure 3EB Garamond’s n, as a dashed outline, laid over Barani Serif’s n. The foot, both stems and the width stay where they were, and the top rises 35 units. Outlines from the font files.

The outline of the n is fixed by 92 posi­tions, the handles that steer its curves included. Of these, 51 stay where they were and 41 rise together, 40 of them by exactly 35 units and one curve handle by 36. Because the top moves as one piece, the arch, its joins and the serif at the top keep their shapes to within a unit, and only the stems grow longer. The m behaves the same way, in both the Regular and the Bold weights. So the x-height goes from 405 to 440 units in Regular and from 425 to 460 in Bold, while the stems keep their thickness.

The cap­i­tals rose too, by 10 to 12 units, so the cap height is 665 in every weight. An ascender is a stem that climbs past the x-height, as in b, d and l. The ascen­ders rose 10 or 11 units, to 715, so the cap­i­tals still stand a little below them, as in Garamond.

The sans is fitted to the serif, and its capitals pay

On October 27 I reviewed a proof of the serif’s new x-height and judged that serif and sans did not match.

The sans was then fitted to the raised serif. A scale for each weight was tried first, to meet the serif’s x-height at 440 units in Regular and 460 in Bold. But the Bold’s larger scale made its cap­i­tals and digits 4.5 percent taller than the Regular’s, so one scale now serves every weight. It shrinks Hanken Grotesk to 450/493 of its size, or 91.3 percent. The sans’s x-height is then 450 units, halfway between the serif’s two, which puts it 2.3 percent above the serif’s Regular and 2.2 percent below its Bold.

The stems came next. Hanken Grotesk’s weight can be set any­where along a con­tin­uous scale, not only at its named weights.6 The sans’s Regular was chosen by eye from three trial set­tings, and Medium, SemiBold and Bold were then set so that each stem stands to the serif’s stem as the Regular’s does. Measured across both stems of the n, the sans’s stems come out 0.9 to 2.7 percent thinner than the serif’s, weight for weight.

Matched stems bring the color close in Regular but not in Bold. Measured over a line of a to z, as in Figure 2, the Regular sans comes within 1 percent of the serif’s color, but the Bold sans is 8 percent darker. No mea­sure­ment made for this essay explains the Bold’s difference.

The cap­i­tals still pay, though less than under the cheapest match. Hanken’s cap height is 1.41 times its x-height and the raised serif’s 1.51 times, so one scale can match only one of the two heights. The low­er­case carries most letters in running text, so the scale follows the x-height. The sans’s cap­i­tals then stand 636 units tall against the serif’s 665, which is 4.4 percent shorter, and its digits about 2 percent shorter.

One construction draws the signs

Even inside one face, signs can dis­agree. In EB Garamond, the + centers 16.5 units lower than the =, so the signs of a sum step up and down along the line. In the Barani faces, one con­struc­tion program draws + − × ÷ and =, each face’s signs with that face’s own pen.

In the serif, every sign mea­sured for this essay centers 252 units above the base­line. That height is the math axis, the line on which for­mulas center their signs and fraction bars.

Barani Serifaxis 252Barani Sansaxis 226
Figure 4Hyphen, minus, plus and equals in Barani Serif and in Barani Sans, each row on its own axis. The serif’s signs end in the slanted, rounded tips of a broad pen, and the sans’s in square ends with an even stroke. The sans keeps a lower axis, so the top of its minus is level with the bottom of its hyphen. Outlines from the font files.

The sans keeps a lower axis, to hold its minus clear of its hyphen. Its hyphen, Hanken’s own scaled with the face, sits high, from 253 to 304 units above the base­line. A minus cen­tered on the serif’s axis would span 225 to 279 units, by this essay’s arith­metic, and so overlap the hyphen by about half its thick­ness. So the sans’s minus stays on Hanken’s own axis, 226 units, where it spans 199 to 253 units and its top just meets the hyphen’s bottom. The two bars then share no height, which should keep a child from taking one for the other. The cost is a step at the change of voice, since the sans’s signs sit 26 units lower than the serif’s.

One set of rules also keeps look-alike char­ac­ters apart in both faces, with a zero about six-tenths as wide as the O and an open 4. The note on why 1, l and I should look different gives the reasons.

A floor under the white

The last rule governs the white between neigh­bors. Each letter is set in a box that holds its ink and, in most letters, some white on both sides, so that letters set side by side stand evenly apart. That built-in white is the spacing, shown between n and o in the middle of Figure 2. A few pairs still sit badly, such as T then o, where spacing alone would leave the o far out from the T’s stem. The font then carries a cor­rec­tion for that pair alone, called kerning.1 In Figure 2, kerning moves the o 105 units left, under the T’s arm, in the serif, and 88 units in the sans.

Kerning can also push a pair apart, and one pair showed the need. In the serif’s first release can­di­date, a build put forward to become version 1.0, the equals sign touched a fol­lowing gamma. A gate, a program that checks every build and stops it when a check fails, now catches such pairs. It mea­sures the shortest dis­tance between the inks of every pair of neigh­bors it checks, corners included. No pair may come closer than the floor, 25 units in the serif and 26 in the sans. A pair under the floor gets kerning, and this kerning only ever adds white.

First candidatetouchingThird candidate25.2floor, 25 units
Figure 5Equals followed by gamma in Barani Serif Regular, enlarged where the two meet, with a gray band marking the floor 25 units out from the ink of the equals sign. In the first release candidate the gamma’s arm crosses the band and touches the sign. In the third, kerning moves the gamma 45 units right, and its arm stops at the band’s edge, 25.2 units from the sign. Measured from the outlines as the font spaces them.

The floor comes from a model of the press, not from a printed sheet. The model takes the worst case among the presses the books might use, 1,200 dots per inch, with toner spreading 21 microm­e­ters on each side of a stroke. It sets type at 9.5 points, the size of the Guides’ notes. A program moved the digits of each frac­tion, such as ½, away from the slash until nothing joined, and the largest gap needed, rounded up, became the floor for every pair. At 9.5 points, the serif’s 25 units come to about 84 micrometers.

Both faces take their floor from that one model, so the white in a serif sen­tence and in a sans sum should survive printing alike. The same gate opened other crowded pairs, such as 4 fol­lowed by + in Bold, from 3.0 to 27.0 units of white. The floor sets a minimum and leaves the rest of the spacing alone, because extra-wide spacing did not speed reading in a study that Legge and Bigelow cite.3

How the fonts were made

I directed the work. Letters and signs were drawn by rule, and tools were built to check them. The draw­ings were judged by com­paring alter­na­tives at 200 points and at reading size, often blind, each labeled only by a letter. Every new gate was first shown to fail on an older build, as the floor’s gate failed on the serif’s first release candidate.

One mea­suring program failed that dis­ci­pline. Asked which side of a slashed sign to measure, it looked under the wrong name, found no entry and silently mea­sured the left side. A blind choice built on its numbers was with­drawn. Now the pro­grams share one func­tion for each measure, and a lookup that finds no entry stops with an error.

This essay was drafted from the project’s logs and from the font files. A script mea­sured again every number taken from the font files, and every outside fact was checked against a source retrieved for the essay.

Check

The strongest case against this work is that it may not be needed. The cheapest match, the unchanged sans set at 82 percent of the serif’s size, fits the low­er­case and the Regular stems with no font changed. The series’ own canon of October 5, 2026 matched sizes that way with another sans, setting Geist at 8.8 points beside EB Garamond at 11.2. That rival costs cap­i­tals about 12 percent short where the fin­ished faces cost 4.4, and it leaves each face’s signs and white as they come. It also sets two sizes at every change of voice.

A second case is the advice to pair faces that differ. Haley warns that “sans serifs that are similar in design almost never work well together”.4 His warning con­cerns two sans faces, so applying it to a serif and a sans fitted to each other goes beyond what he wrote. But the risk it points to is real, since such a pair could read as one face that is slightly off. A reply may be that two things still sep­a­rate the voices, the serifs and the stroke con­trast. If they do, that dif­fer­ence is the working voice. It is a judg­ment, and no test with readers has checked it.

Matching is not new, as Lucida shows.7 No survey of other matched fam­i­lies was run, so I make no claim to be first.

The costs above are mea­sured, but the benefit still waits on blind tests with parents, teachers and typog­ra­phers, and on a press sheet on the books’ paper.

The essay leaves out the italics, which are still being built, the small cap­i­tals, Barani Math, a third face that sets for­mulas, and the cost of building the fonts. The Barani fonts are not yet released to anyone else. The books and this site are set in them, and how they will be offered to others is still to be decided.

The numbers mea­sured from the font files can be held firmly, since a script repro­duces each one. That a reader feels the dif­fer­ence can be held only as a rea­soned expec­ta­tion, since no reader has been tested. For the serif, my font spec­i­fi­ca­tion already names the result that would change my mind. Its seventh prin­ciple keeps a depar­ture from EB Garamond “only if it beats or equals it in blind com­par­isons printed on the books’ paper”. The same test is pro­posed here for the sans and for the matching. So if readers com­paring blind on that paper prefer pages set in EB Garamond and Hanken Grotesk, the matching is not kept. If they cannot tell the two apart, it stays.

Sources

  1. Phinney 2025, Phinney on Fonts. Typography glossary: baseline, x-height, cap height, contrast, kerning, the em, and advance width with its sidebearings. thomasphinney.com ↑
  2. Google Fonts Knowledge. Glossary entries for color, counter, contrast and spacing. fonts.google.com ↑
  3. Legge & Bigelow 2011, Journal of Vision 11(5):8. Does print size matter for reading? A review of findings from vision science and typography. Reports Karow 1993 on 1,049 roman typefaces, and Yu et al. 2007 on extra-wide spacing. PubMed Central ↑
  4. Haley, Fonts.com (Monotype). Mixing typefaces. myfonts.com ↑
  5. Wikipedia. EB Garamond, a revival by Georg Mayr-Duffner (credited in the fonts as Georg Duffner) of Claude Garamond’s roman from the Berner specimen of 1592, continued by Octavio Pardo. wikipedia.org ↑
  6. The Hanken Grotesk Project Authors. Hanken Grotesk, README, led by Alfredo Marco Pradil. github.com ↑
  7. Bigelow 2005, TeX Users Group. Notes on Lucida designs. tug.org ↑

Correspondenceigor@barani.org