文書の過去の版を表示しています。
Web フォント
フォント (オープンソース) も参照🤤
Web フォントの形式
拡張子 | 形式 | 説明 |
---|---|---|
.woff2 | Web Open Font Format 2.0 | Web Open Font Format (WOFF) 2.0 は、Google によるリファレンス実装と共に公開された。フォントの圧縮に Brotli を使用するように改善された。 |
.woff | Web Open Font Format 1.0 | Web Open Font Format (WOFF) は、ウェブページで使用するためのフォント形式である。WOFF は OpenType 又は TrueType 形式のフォントを圧縮し、XMLによるメタデータを追加したものとなっている。 |
.ttf | TrueType - Wikipedia | TrueType (トゥルータイプ) はデジタルフォントの規格である。Windows や macOS、Linux で標準的に利用されている。 |
.eof | Embedded OpenType | Web ページの埋め込みフォントとして使用するために Microsoft が設計したコンパクトな OpenType フォントである。MS IE でのみサポートされる。 |
- EOT 形式と TTF 形式はデフォルトで圧縮されていない。
これらの形式を提供する場合は GZIP 圧縮を適用するように Web サーバーを設定する必要がある。 - WOFF はビルトインの圧縮付きである。WOFF 圧縮ツールで最適な圧縮設定を使用していることを確認すること。
- WOFF2 では独自の前処理アルゴリズムと圧縮アルゴリズムが使用されており、WOFF 形式よりも約 30% ファイルサイズが削減されている。
TrueType(.ttf) から Web Open Font Format(.woff, .woff2) への変換 (Linux)
Linux では sfnt2woff (ttf ⇒ woff) と woff2_compress (ttf ⇒ woff2) コマンドが必要…🤔
$ dnf provides sfnt2woff woff2_compress
メタデータの期限切れの最終確認: 5 days, 16:01:19 時間前の 2022年09月03日 11時54分19秒 に実施しました。 woff-0.20091126-25.fc36.x86_64 : Encoding and Decoding for Web Open Font Format(Woff) Repo : fedora 一致: ファイル名 : /usr/bin/sfnt2woff woff2-tools-1.0.2-14.fc36.x86_64 : Web Open Font Format 2.0 tools Repo : fedora 一致: ファイル名 : /usr/bin/woff2_compress
Fedora では woff と woff2-tools のパッケージをインストールする🤔
$ sudo dnf install woff woff2-tools
メタデータの期限切れの最終確認: 1:07:15 時間前の 2022年09月09日 02時50分04秒 に実施しました。 依存関係が解決しました。 ============================================================================================================== パッケージ アーキテクチャー バージョン リポジトリー サイズ ============================================================================================================== インストール: woff x86_64 0.20091126-25.fc36 fedora 22 k woff2-tools x86_64 1.0.2-14.fc36 fedora 24 k トランザクションの概要 ============================================================================================================== インストール 2 パッケージ ダウンロードサイズの合計: 45 k インストール後のサイズ: 88 k これでよろしいですか? [y/N]: y パッケージのダウンロード: (1/2): woff-0.20091126-25.fc36.x86_64.rpm 103 kB/s | 22 kB 00:00 (2/2): woff2-tools-1.0.2-14.fc36.x86_64.rpm 99 kB/s | 24 kB 00:00 -------------------------------------------------------------------------------------------------------------- 合計 45 kB/s | 45 kB 00:01 トランザクションの確認を実行中 トランザクションの確認に成功しました。 トランザクションのテストを実行中 トランザクションのテストに成功しました。 トランザクションを実行中 準備 : 1/1 インストール中 : woff2-tools-1.0.2-14.fc36.x86_64 1/2 インストール中 : woff-0.20091126-25.fc36.x86_64 2/2 scriptletの実行中: woff-0.20091126-25.fc36.x86_64 2/2 検証 : woff-0.20091126-25.fc36.x86_64 1/2 検証 : woff2-tools-1.0.2-14.fc36.x86_64 2/2 インストール済み: woff-0.20091126-25.fc36.x86_64 woff2-tools-1.0.2-14.fc36.x86_64 完了しました!
オープンなライセンスの HackGen さんを Web フォントに変換する
HackGen さんをダウンロードする🤤
$ curl -LO https://github.com/yuru7/HackGen/releases/download/v2.7.0/HackGen_v2.7.0.zip
% Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 100 38.5M 100 38.5M 0 0 8257k 0 0:00:04 0:00:04 --:--:-- 8983k
$ curl -LO https://github.com/yuru7/HackGen/releases/download/v2.7.0/HackGen_NF_v2.7.0.zip
% Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 100 42.0M 100 42.0M 0 0 2229k 0 0:00:19 0:00:19 --:--:-- 2223k
$ unzip HackGen_v2.7.0.zip
Archive: HackGen_v2.7.0.zip creating: HackGen_v2.7.0/ inflating: HackGen_v2.7.0/HackGen-Bold.ttf inflating: HackGen_v2.7.0/HackGen-Regular.ttf inflating: HackGen_v2.7.0/HackGen35-Bold.ttf inflating: HackGen_v2.7.0/HackGen35-Regular.ttf inflating: HackGen_v2.7.0/HackGen35Console-Bold.ttf inflating: HackGen_v2.7.0/HackGen35Console-Regular.ttf inflating: HackGen_v2.7.0/HackGenConsole-Bold.ttf inflating: HackGen_v2.7.0/HackGenConsole-Regular.ttf
$ unzip HackGen_NF_v2.7.0.zip
Archive: HackGen_NF_v2.7.0.zip creating: HackGen_NF_v2.7.0/ inflating: HackGen_NF_v2.7.0/HackGen35ConsoleNF-Bold.ttf inflating: HackGen_NF_v2.7.0/HackGen35ConsoleNF-Regular.ttf inflating: HackGen_NF_v2.7.0/HackGen35ConsoleNFJ-Bold.ttf inflating: HackGen_NF_v2.7.0/HackGen35ConsoleNFJ-Regular.ttf inflating: HackGen_NF_v2.7.0/HackGenConsoleNF-Bold.ttf inflating: HackGen_NF_v2.7.0/HackGenConsoleNF-Regular.ttf inflating: HackGen_NF_v2.7.0/HackGenConsoleNFJ-Bold.ttf inflating: HackGen_NF_v2.7.0/HackGenConsoleNFJ-Regular.ttf
TrueType(.ttf) から Web Open Font Format(.woff と .woff2) へ変換する🤤
$ cd HackGen_v2.7.0 $ ls *.ttf | xargs -i sh -c 'sfnt2woff {} && woff2_compress {}'
Processing HackGen-Bold.ttf => HackGen-Bold.woff2 Compressed 9101224 to 3603584. Processing HackGen-Regular.ttf => HackGen-Regular.woff2 Compressed 8647775 to 3432021. Processing HackGen35-Bold.ttf => HackGen35-Bold.woff2 Compressed 9099743 to 3604808. Processing HackGen35-Regular.ttf => HackGen35-Regular.woff2 Compressed 8647249 to 3429783. Processing HackGen35Console-Bold.ttf => HackGen35Console-Bold.woff2 Compressed 9119537 to 3612645. Processing HackGen35Console-Regular.ttf => HackGen35Console-Regular.woff2 Compressed 8671988 to 3441571. Processing HackGenConsole-Bold.ttf => HackGenConsole-Bold.woff2 Compressed 9121961 to 3614896. Processing HackGenConsole-Regular.ttf => HackGenConsole-Regular.woff2 Compressed 8673351 to 3442435.
$ ll
合計 153772 -rw-r--r-- 1 tomoyan tomoyan 11241608 8月 12 13:39 HackGen-Bold.ttf -rw-r--r-- 1 tomoyan tomoyan 5243896 9月 9 05:41 HackGen-Bold.woff -rw-r--r-- 1 tomoyan tomoyan 3603692 9月 9 05:41 HackGen-Bold.woff2 -rw-r--r-- 1 tomoyan tomoyan 10695924 8月 12 13:39 HackGen-Regular.ttf -rw-r--r-- 1 tomoyan tomoyan 5106380 9月 9 05:41 HackGen-Regular.woff -rw-r--r-- 1 tomoyan tomoyan 3432128 9月 9 05:42 HackGen-Regular.woff2 -rw-r--r-- 1 tomoyan tomoyan 11239408 8月 12 13:39 HackGen35-Bold.ttf -rw-r--r-- 1 tomoyan tomoyan 5243032 9月 9 05:42 HackGen35-Bold.woff -rw-r--r-- 1 tomoyan tomoyan 3604916 9月 9 05:42 HackGen35-Bold.woff2 -rw-r--r-- 1 tomoyan tomoyan 10694628 8月 12 13:39 HackGen35-Regular.ttf -rw-r--r-- 1 tomoyan tomoyan 5105240 9月 9 05:42 HackGen35-Regular.woff -rw-r--r-- 1 tomoyan tomoyan 3429888 9月 9 05:43 HackGen35-Regular.woff2 -rw-r--r-- 1 tomoyan tomoyan 11250760 8月 12 13:39 HackGen35Console-Bold.ttf -rw-r--r-- 1 tomoyan tomoyan 5250112 9月 9 05:43 HackGen35Console-Bold.woff -rw-r--r-- 1 tomoyan tomoyan 3612752 9月 9 05:43 HackGen35Console-Bold.woff2 -rw-r--r-- 1 tomoyan tomoyan 10711388 8月 12 13:39 HackGen35Console-Regular.ttf -rw-r--r-- 1 tomoyan tomoyan 5113044 9月 9 05:43 HackGen35Console-Regular.woff -rw-r--r-- 1 tomoyan tomoyan 3441676 9月 9 05:44 HackGen35Console-Regular.woff2 -rw-r--r-- 1 tomoyan tomoyan 11254224 8月 12 13:39 HackGenConsole-Bold.ttf -rw-r--r-- 1 tomoyan tomoyan 5252392 9月 9 05:44 HackGenConsole-Bold.woff -rw-r--r-- 1 tomoyan tomoyan 3615004 9月 9 05:44 HackGenConsole-Bold.woff2 -rw-r--r-- 1 tomoyan tomoyan 10713656 8月 12 13:39 HackGenConsole-Regular.ttf -rw-r--r-- 1 tomoyan tomoyan 5114584 9月 9 05:44 HackGenConsole-Regular.woff -rw-r--r-- 1 tomoyan tomoyan 3442540 9月 9 05:44 HackGenConsole-Regular.woff2
$ cd HackGen_NF_v2.7.0 $ ls *.ttf | xargs -i sh -c 'sfnt2woff {} && woff2_compress {}'
Processing HackGen35ConsoleNF-Bold.ttf => HackGen35ConsoleNF-Bold.woff2 Compressed 9749308 to 3987578. Processing HackGen35ConsoleNF-Regular.ttf => HackGen35ConsoleNF-Regular.woff2 Compressed 9301797 to 3812450. Processing HackGen35ConsoleNFJ-Bold.ttf => HackGen35ConsoleNFJ-Bold.woff2 Compressed 9776078 to 3987074. Processing HackGen35ConsoleNFJ-Regular.ttf => HackGen35ConsoleNFJ-Regular.woff2 Compressed 9328505 to 3816237. Processing HackGenConsoleNF-Bold.ttf => HackGenConsoleNF-Bold.woff2 Compressed 9751604 to 3989577. Processing HackGenConsoleNF-Regular.ttf => HackGenConsoleNF-Regular.woff2 Compressed 9303032 to 3815936. Processing HackGenConsoleNFJ-Bold.ttf => HackGenConsoleNFJ-Bold.woff2 Compressed 9778374 to 3988063. Processing HackGenConsoleNFJ-Regular.ttf => HackGenConsoleNFJ-Regular.woff2 Compressed 9329740 to 3814213.
$ ll
合計 166816 -rw-r--r-- 1 tomoyan tomoyan 12054672 8月 12 13:39 HackGen35ConsoleNF-Bold.ttf -rw-r--r-- 1 tomoyan tomoyan 5712460 9月 9 04:37 HackGen35ConsoleNF-Bold.woff -rw-r--r-- 1 tomoyan tomoyan 3987684 9月 9 04:38 HackGen35ConsoleNF-Bold.woff2 -rw-r--r-- 1 tomoyan tomoyan 11515332 8月 12 13:39 HackGen35ConsoleNF-Regular.ttf -rw-r--r-- 1 tomoyan tomoyan 5575200 9月 9 04:38 HackGen35ConsoleNF-Regular.woff -rw-r--r-- 1 tomoyan tomoyan 3812556 9月 9 04:39 HackGen35ConsoleNF-Regular.woff2 -rw-r--r-- 1 tomoyan tomoyan 12081440 8月 12 13:39 HackGen35ConsoleNFJ-Bold.ttf -rw-r--r-- 1 tomoyan tomoyan 5713384 9月 9 04:39 HackGen35ConsoleNFJ-Bold.woff -rw-r--r-- 1 tomoyan tomoyan 3987180 9月 9 04:39 HackGen35ConsoleNFJ-Bold.woff2 -rw-r--r-- 1 tomoyan tomoyan 11542040 8月 12 13:39 HackGen35ConsoleNFJ-Regular.ttf -rw-r--r-- 1 tomoyan tomoyan 5576356 9月 9 04:39 HackGen35ConsoleNFJ-Regular.woff -rw-r--r-- 1 tomoyan tomoyan 3816344 9月 9 04:40 HackGen35ConsoleNFJ-Regular.woff2 -rw-r--r-- 1 tomoyan tomoyan 12058104 8月 12 13:39 HackGenConsoleNF-Bold.ttf -rw-r--r-- 1 tomoyan tomoyan 5715004 9月 9 04:40 HackGenConsoleNF-Bold.woff -rw-r--r-- 1 tomoyan tomoyan 3989684 9月 9 04:41 HackGenConsoleNF-Bold.woff2 -rw-r--r-- 1 tomoyan tomoyan 11517568 8月 12 13:39 HackGenConsoleNF-Regular.ttf -rw-r--r-- 1 tomoyan tomoyan 5577036 9月 9 04:41 HackGenConsoleNF-Regular.woff -rw-r--r-- 1 tomoyan tomoyan 3816044 9月 9 04:41 HackGenConsoleNF-Regular.woff2 -rw-r--r-- 1 tomoyan tomoyan 12084872 8月 12 13:39 HackGenConsoleNFJ-Bold.ttf -rw-r--r-- 1 tomoyan tomoyan 5715760 9月 9 04:41 HackGenConsoleNFJ-Bold.woff -rw-r--r-- 1 tomoyan tomoyan 3988168 9月 9 04:42 HackGenConsoleNFJ-Bold.woff2 -rw-r--r-- 1 tomoyan tomoyan 11544276 8月 12 13:39 HackGenConsoleNFJ-Regular.ttf -rw-r--r-- 1 tomoyan tomoyan 5578188 9月 9 04:42 HackGenConsoleNFJ-Regular.woff -rw-r--r-- 1 tomoyan tomoyan 3814320 9月 9 04:43 HackGenConsoleNFJ-Regular.woff2
WOFFConverter (Windows)
WOFFコンバータ (武蔵システム)
参考文献
ウェブフォントの最適化 | Web Fundamentals | Google Developers
自社サーバーにフォントをアップロードして、Webフォントを使用する方法|株式会社ゼロワンアース
Web Open Font Format - Wikipedia
WOFF (Web Open Font Format) - 開発者ガイド | MDN