自前の点検が 32 パーセント広く測っていた
八月二十七日に書いた点検が、196 の図の見出しを「収まる絵に対して広すぎる」と告げた。直すのに一日かかった。そのうち 103 は、広すぎたことなど一度もなかった。
ポイントはピクセルではない
この点検は、GD で本物の書体ファイルに当てて見出しを測る。
$bb = imagettfbbox(13, 0, $font, $text);
13 は装い表にある字の大きさで、単位はピクセルだ。imagettfbbox() が受け取る大きさの単位はポイントである。つまり測っていたのは 13pt、すなわち 17.3px であり、どの見出しも 96/72 — 三分の一 — 広く出ていた。
はっきりしたのは、本当に字を描くものに尋ねたときだ。窓のない Chromium は本物の図を読み込み、見出しごとに getComputedTextLength() を告げられる。13 では両者が三分の一ずれた。13 * 72 / 96、つまり 9.75 では、半パーセント以内で一致する。ある見出しで 219 対 219 ピクセル、より長いもので 561 対 559。
書体の選びは最初から正しかった
点検は DejaVu Sans に当てて測る。その上の覚書はそれを詫びていた。DejaVu は多くの読み手が見るものより広いから、しきい値を 92 パーセントにした、と。
測ってみると、この選びはまさに正しい。ただし、書かれていた理由とは別の理由で。この場所の書体の連なりが届きうる書体のうち、DejaVu がいちばん広い。同じ一文で DejaVu 219 ピクセル、Liberation 194、Cantarell 193、FreeSans 188。Windows や Mac で読む人には余白が増えこそすれ、減ることはない。この測りは用心深いのではなく、最悪の場合そのものであり、点検が測るべきはまさにそれだ。
計算のあとに残ったもの
直した測りを生き延びた報せが 93。そのうち 33 は、欠陥ではなく規則だった。点検は絵の縁から十単位の余白を取り、それを硬い境として扱っていたので、縁から三単位のところに置かれた年号が「切れている」と数えられていた。切れてなどいない。境はいま縁そのものであり、窮屈さの問いは 95 パーセントのしきい値に委ねた。
残ったものは本物だった。帯の下へ潜り込む見出し、ロシア語の一文には狭すぎる欄、隣の枠に横たわる図の説明。幾何を動かして直したが、これは安い — 幾何は十一の言語の行すべてで同じなので、字句どおりの置き換え一つが十一を直す。四つの見出しは、それぞれ一つの言語で絵そのものより長かった。それらは短くした。
ここから一般化できること
片側にだけ外れる点検は、点検が無いより悪い。仕事を生むからだ。一日の三分の二が、どこも悪くない図に費やされた。そして残りが直された唯一の理由は、誤った報せが本物の隣に並んでいたからである。
決め手はコードをより注意深く読むことではなかった。決め手は、本物の字を描く独立したものに当てて、測り自体を測ったことだ — それに要したのは十分。点検を一週間信じたあとで。