Top / 体験研究 / Font Loading
文字の体験 — Font Loading

書体は、届くまで別の字で描かれる

2026.10 Typography / Web

盤の上で字を組む道具を作っている。明朝を選んで描いた字が、どうも硬い。測ると、明朝で描いたはずの絵と、ただの serif で描いた絵が、画素まで同じだった。書体は、選んだだけでは届いていなかった。

この研究を一言でいうと──書体は指定しただけでは届かない。届いたかは、画素で確かめる。

canvas に描いた「明朝体」の2枚。読み込む前は serif と同じ字、読み込んだ後は明朝
— 左=読み込む前(serif と同一)/右=読み込んだ後

指定した書体は、黙って差し替わる

Web の書体は、ページのどこかで使われるまで落ちてこない。盤(canvas)の中にしか出てこない書体は、一度も頼まれないまま終わる。canvas はそれを知らせない。手元にある近い書体で、そのまま描く。

時点check()明朝で描いた絵serif で描いた絵
読み込む前falsee9924e0e9924e0
描く字を渡して読み込んだ後true563032fbe9924e0

黒い画素の数は、読み込む前が 16132、後が 16813。ハッシュ(絵の指紋)が serif と一致している間は、別の書体で描いている。

描く字を渡して頼む

Web の書体は、字の範囲ごとに細かく分かれている。「この書体を」と頼むだけでは、いま描く字の入った分が落ちてこないことがある。頼むときは、実際に描く字を一緒に渡す。届いたら描き直す。届くまで盤を止めない。

読み込む前と後で、明朝で描いた絵と serif で描いた絵のハッシュを比べた表
— check() は時点で答えが変わる。判定はハッシュで

確かめ方

あなたの画面の明朝は、本当に明朝で描かれていますか。

可変フォントは、太さの幅を渡さないと動かない、の研究を読む →

— 他の研究を読む
← 体験研究の一覧へ 全ての設計事例を見る →