日本語 Web フォントのライセンスとサブセット化

一言まとめ

SIL OFL 1.1 のフォントは同梱配布・商用可だが、再配布時は著作権表示・OFL.txt 同梱・Reserved Font Name の 3 条件が要る。Noto Serif JP は約 4MB / ウェイトなので pyftsubset で半減させ、縦書きなら --layout-features='*' を忘れない。

作成 · 更新 · #webfont#japanese#license#performance
目次 5 sections
  1. 01 SIL OFL 1.1 の扱い
  2. 02 配信方法と条件の関係
  3. 03 サブセット化
  4. 04 関連
  5. 05 更新履歴

調査時点: 2026-04。

SIL OFL(SIL Open Font License)は、フォントの利用・改変・再配布の条件を定めるオープンライセンス。サブセット化は、必要な文字や機能にフォントの収録範囲を絞ってファイルを小さくする処理。

SIL OFL 1.1 の扱い#

Noto Serif JP、源ノ明朝、しっぽり明朝などが該当する。

  • フォントファイルをテンプレートやサイトに同梱して販売・配布できる(フォント単体の販売は不可)。改変・派生・商用使用可で、属性表示は不要。
  • ファイルを再配布するときの必須条件: 著作権表示を引き継ぐ、OFL.txt を同梱する、派生フォントに Reserved Font Name を使わない。
  • PDF や画像への埋め込みは「配布」に当たらないため OFL の条件は掛からない。
  • はんなり明朝は商用・同人可だが OFL の明示がなく、個別確認が要る。

配信方法と条件の関係#

方法OFL 再配布条件補足
Google Fonts CDN掛からない(ファイルを配布しない)閲覧者の IP が Google に送られるため GDPR の考慮が要る
セルフホスト(Fontsource など)掛かる@fontsource-variable/noto-serif-jp は可変フォント(weight 200〜900)を npm で入れられ、外部リクエストが出ない

サブセット化#

Noto Serif JP は約 4MB / ウェイト。pyftsubset で約 50% 削減、WOFF2 でさらに 20〜30% 削減できる。

Terminal window
pyftsubset NotoSerifJP-Regular.otf --output-file=NotoSerifJP-Regular.woff2 \
--flavor=woff2 --layout-features='*' \
--unicodes='U+0020-007E,U+3000-30FF,U+4E00-9FAF,U+FF01-FF60,U+FF65-FF9F' \
--with-zopfli --verbose
  • --layout-features='*' は必ず付ける。省略すると縦書き用の字形(vkna / vpal / vert)が落ちる。
  • Unicode レンジの目安: U+0020-007E(ASCII)、U+3000-30FF(句読点・かな・カナ)、U+4E00-9FAF(基本漢字)、U+FF01-FF60(全角記号)、U+FF65-FF9F(半角カナ)。
  • 使用グリフだけを自動抽出するなら glyphhanger。
  • 可変フォントに対する pyftsubset の正確なオプション組み合わせは当時未検証。

関連#

更新履歴#

  • 2026-04-19: 初版(ローカル調査ノート)
  • 2026-10-17: Wiki へ移植、概念ページとして再構成。冒頭に定義を追加

出典

  1. https://community.software.sil.org/t/im-inquiring-about-google-noto-sans-and-serif-cjk-licenses/5678
  2. https://community.software.sil.org/t/can-i-use-noto-serif-in-a-commercial-logo/6276
  3. https://fontsource.org/fonts/noto-serif-jp/install
  4. https://uhiyama-lab.com/en/blog/webdev/optimize-subset-fonttools/

同じトピック — Web