1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

フォントファイルをコマンドラインでサブセット化する方法

Last updated at Posted at 2019-10-07

ウェブにアップロードするフォントファイルをできるだけ小さくするためのサブセット化の方法です。
コマンドラインから実行する方法についてまとめました。

用意するもの

NodeJS と Python を使いました。
(NodeJS から Python のライブラリを使っているみたいなので、 Python だけでもできそうです。)

  • NodeJS (v12.6.0)
  • Python (3.6.8)

サブセット化対象の文字をチェック

サブセット化するべき文字の文字コード(16進数)を調べます。

Python (3.6) でやる場合

hex(ord('0'))  # => '0x30'
hex(ord('9'))  # => '0x39'

Ruby (2.5.1) でやる場合

'0'.ord.to_s(16)  # => "30"
'9'.ord.to_s(16)  # => "39"

ツールをインストールする。

Python のツール

$ pip install fonttools brotli

NodeJS のツール

$ npm install -g glyphhanger

サブセット化

$ glyphhanger --whitelist="U+30-39" --subset something.ttf --formats=woff2

--whitelist でサブセット化対象の文字を指定します。 U+XX という表記で指定します。
ここでは woff2 のフォーマットにしています。

結果として something-subset.woff2 が出力されます。

--formats には カンマ区切りで複数フォーマットを指定できます。(例: --formats=woff,woff2)

関連ページ

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?