Webデザインに「ぬくもり」をプラスしてくれる丸ゴシックなどの日本語Webフォント。しかし、多くの開発者は「日本語フォントは重すぎて表示が遅くなるから、使うべきではない」と思い込んでいます。確かに、英語のアルファベットが記号を含めても数百字しかないのに対し、日本語にはひらがな、カタカナに加え、数千から数万もの「漢字」が存在します。フォントファイル全体の容量は、数メガバイト(数MB)に達することもあります。これは普通のWebサイトのHTMLやJSの数十倍の重さです。
しかし、現代のGoogle Fontsは、この問題を「全部まとめて軽くした」のではなく、必要な文字だけを取りに行きやすくしています。それが「unicode-rangeによるマルチセグメント(細分化)配信」です。
常用度に応じて、ファイルを多数のスライスに分ける
Google Fontsで日本語フォントを呼び出すと、裏側ではフォントを1つ丸ごとロードしているわけではありません。Googleは日本語のフォントデータを、常用漢字・ひらがな・カタカナ・めったに使わない難しい漢字などの「文字グループ」ごとに、多数の小さなフォントファイル(woff2形式)に分解してサーバーに保管しています。2018年のGoogleの解説では、よく使う約3,000字を20スライスに分けると、フォント全体を送る場合よりバイト数を約80%減らせたとされています。
ブラウザは、CSSの @font-face に書かれた unicode-range と、そのフォントが当たっている要素で実際に使われている文字の交差を見て、交差があるスライスだけを取得します。「HTMLを読んでこの漢字がある」と独自解析しているわけではなく、適用中のフォントと使用文字、unicode-range の組み合わせです。
2026年8月17日に google/fonts のソースを確認すると、Zen Maru Gothic Regular の TTF は約3.7MB、Noto Sans JP の可変フォントは約9.1MB ありました。短いUI文言だけならスライス数個(数十KB台になることもあります)。本文に漢字が多く、太さを複数使うと、数百KB以上になることもあります。「常に数十KBで瞬時」ではありません。 Networkパネルでコールドロードを測って判断してください。