My children’s books speak in two voices, even within one line. The book’s own text is set in a serif, a typeface with small finishing 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 lowercase 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 characters 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 conditions, so a line jumps when the voice changes. Both faces were changed under my direction. In the faces that resulted, Barani Serif and Barani Sans, the lowercase heights agree within 2.3 percent and the upright strokes within 3 percent. The price is capitals 4.4 percent shorter in the sans. That readers will feel the pair is better matched is reasoned, not yet tested.
Two voices on one page
The books are With Every Reason, a series in arithmetic for my children and for all children. 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 problems and exercises, the tables and the figure labels, at the serif’s size. By the books’ typography standard, two voices let the eye tell reading from doing before it reads a word, a claim no test with children has checked.
My font specification records my words that I really like Garamond and that the books need a better sans, chosen for its strength in mathematics and formulas. I asked for faces that look as if one designer drew them, matched in x-height and in the other measures of size and spacing wherever they can be. Barani Serif and Barani Sans are built from two open-source typefaces, EB Garamond and Hanken Grotesk.
Where the two faces disagree
A disagreement between two faces can be measured, 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 baseline, the line the letters stand on. Figure 1 sets EB Garamond and Hanken Grotesk at one size, as they come. Hanken’s x-height, measured at the flat top of the x,1 is 493 units and EB Garamond’s is 405, so the sans’s lowercase is 22 percent taller.
The capitals disagree less. They rise to the cap height, measured 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 typographers call the page’s color.2 This essay measures color as the share of a line’s area that ink covers, with the 26 lowercase 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 finished Barani faces, where the measures 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.
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 difference between thick and thin is the stroke contrast.2 The sans’s o measures 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 measured 1,049 roman typefaces 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 rigorous laboratory 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 dissimilar 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 different families.4 My books want that difference in shape, serifs against none. They must avoid a difference 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 reasoning, make the child’s work look louder than the text around it, a signal nobody meant.
The two faces disagree because they were drawn by different hands for different work. EB Garamond is Georg Duffner’s revival of Claude Garamond’s roman, from a specimen 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, interfaces and websites.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 different designers, so their agreement 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 capitals 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 lowercase leaves the sans’s capitals at about 573 units against the serif’s 653, about 12 percent short. These figures were computed for this essay from the heights and stems in the font files.
The serif’s lowercase is raised, not scaled
On October 26 I confirmed a plan to lift the serif’s x-height from 405 to 440 units by redrawing its lowercase, not by scaling it.
One effect of the raise can be computed. With its lowercase at 440 units and its capitals 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 lowercase, 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 lowercase was redrawn instead, and the n shows how.
The outline of the n is fixed by 92 positions, 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 capitals 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 ascenders rose 10 or 11 units, to 715, so the capitals 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 capitals 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 anywhere along a continuous scale, not only at its named weights.6 The sans’s Regular was chosen by eye from three trial settings, 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 measurement made for this essay explains the Bold’s difference.
The capitals 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 lowercase carries most letters in running text, so the scale follows the x-height. The sans’s capitals 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 disagree. 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 construction program draws + − × ÷ and =, each face’s signs with that face’s own pen.
In the serif, every sign measured for this essay centers 252 units above the baseline. That height is the math axis, the line on which formulas center their signs and fraction bars.
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 baseline. A minus centered on the serif’s axis would span 225 to 279 units, by this essay’s arithmetic, and so overlap the hyphen by about half its thickness. 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 characters 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 neighbors. 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 correction 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 candidate, a build put forward to become version 1.0, the equals sign touched a following gamma. A gate, a program that checks every build and stops it when a check fails, now catches such pairs. It measures the shortest distance between the inks of every pair of neighbors 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.
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 micrometers 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 fraction, 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 sentence and in a sans sum should survive printing alike. The same gate opened other crowded pairs, such as 4 followed 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 drawings were judged by comparing alternatives 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 measuring program failed that discipline. Asked which side of a slashed sign to measure, it looked under the wrong name, found no entry and silently measured the left side. A blind choice built on its numbers was withdrawn. Now the programs share one function 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 measured 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 lowercase 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 capitals about 12 percent short where the finished 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 concerns 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 separate the voices, the serifs and the stroke contrast. If they do, that difference is the working voice. It is a judgment, and no test with readers has checked it.
Matching is not new, as Lucida shows.7 No survey of other matched families was run, so I make no claim to be first.
The costs above are measured, but the benefit still waits on blind tests with parents, teachers and typographers, and on a press sheet on the books’ paper.
The essay leaves out the italics, which are still being built, the small capitals, Barani Math, a third face that sets formulas, 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 measured from the font files can be held firmly, since a script reproduces each one. That a reader feels the difference can be held only as a reasoned expectation, since no reader has been tested. For the serif, my font specification already names the result that would change my mind. Its seventh principle keeps a departure from EB Garamond “only if it beats or equals it in blind comparisons printed on the books’ paper”. The same test is proposed here for the sans and for the matching. So if readers comparing 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
- Phinney 2025, Phinney on Fonts. Typography glossary: baseline, x-height, cap height, contrast, kerning, the em, and advance width with its sidebearings. thomasphinney.com ↑
- Google Fonts Knowledge. Glossary entries for color, counter, contrast and spacing. fonts.google.com ↑
- 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 ↑
- Haley, Fonts.com (Monotype). Mixing typefaces. myfonts.com ↑
- 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 ↑
- The Hanken Grotesk Project Authors. Hanken Grotesk, README, led by Alfredo Marco Pradil. github.com ↑
- Bigelow 2005, TeX Users Group. Notes on Lucida designs. tug.org ↑