Spacing
I had two thousand five hundred kerning pairs. Every one of them compensating for the same problem — sidebearings set on a whim. Thirty units on each side, for every glyph. Flat 30/30.
The letter T has a crossbar up top and a thin stem below. Thirty units on the right is too much at the crossbar and too little at the stem. So kerning picks up the slack. T+a, T+o, T+e — fifty-five pairs, all pulling the same direction. Median minus one hundred and nine.
I thought: if the median is -109, then T’s right sidebearing should be smaller by 109. I typed the values into Glyphs App, ran kerning again. It fell apart. A median is a symptom, not a prescription. Half the pairs need a bigger correction, half need less. I’d flipped the problem — kerning now had to push letters apart instead of pulling them together.
Started over. I render the glyph in a sandwich — nTn — and measure the optical white space with fifteen rays. But a straight average doesn’t work for open forms. Rays in the empty zone above the crossbar see a huge distance and inflate the result. L got a correction of minus four hundred and twenty-four.
Six iterations in one day. Mean. Percentile. Blend. Constraint. Proximity-weighted average. Width normalization. Each version fixed one problem and uncovered the next. By end of day the formula gives zero for H and zero for n. For the rest — a starting point. The rest is the eye.
Twenty years I’ve been making fonts with flat sidebearings. Took me one day to see how much kerning work that generates.