2021/10/21(木) [n年前の日記]
#1 [pc] Rictyフォントを生成しようと試みた
Windows10にインストールしたフォント群を整理していたら、Rictyフォントのバージョンが気になってきた。以前、Ricty 4.1.1 の生成を試みたものの、色々問題が起きてしまったので、Ricty 4.0.1 の ttf を入れて済ませてしまっていたのだよな…。
HDDの中を漁ったら、Rictyフォントを生成するために必要なフォント、Inconsolata 2.000、Migu-1m 20150712版が見つかった。このバージョンのファイルじゃないと生成が上手く行かなかったはず…。逆に言えば、これらのバージョンが手元にあるのだから、Ricty 4.1.1 の生成だってできるはずだよなと…。
そんなわけで、VMware Player 上で Ubuntu Linux 20.04 LTS を動かして、Ricty 4.1.1 の生成を試してみた。
以下、参考ページ。
_プログラミング用フォント Ricty
_Rictyフォントの文字間隔を修正する - Qiita
_Ricty を含む FontForge で生成したフォントを Windows 向けに修正する方法 - カラクリスタ・ブログ
_FontForgeで生成した日本語TrueTypeフォント文字幅広すぎ対策 - itouhiroはてなブログ
HDDの中を漁ったら、Rictyフォントを生成するために必要なフォント、Inconsolata 2.000、Migu-1m 20150712版が見つかった。このバージョンのファイルじゃないと生成が上手く行かなかったはず…。逆に言えば、これらのバージョンが手元にあるのだから、Ricty 4.1.1 の生成だってできるはずだよなと…。
そんなわけで、VMware Player 上で Ubuntu Linux 20.04 LTS を動かして、Ricty 4.1.1 の生成を試してみた。
以下、参考ページ。
_プログラミング用フォント Ricty
_Rictyフォントの文字間隔を修正する - Qiita
_Ricty を含む FontForge で生成したフォントを Windows 向けに修正する方法 - カラクリスタ・ブログ
_FontForgeで生成した日本語TrueTypeフォント文字幅広すぎ対策 - itouhiroはてなブログ
◎ 手順。 :
環境は Ubuntu Linux 20.04 LTS。
fontforge、python3-fontforge、fonttools をインストール。
Inconsolata 2.000、Migu-1m 20150712版、Ricty生成用スクリプト ricty_generator.sh を同じフォルダに置く。
以下を実行。
以下のファイルが生成される。
これらのフォントファイルは横幅がおかしいままなので修正しなければいけない。以下を参考にして、修正用のスクリプトを用意する。
_Rictyフォントの文字間隔を修正する - Qiita
とりあえず、fix_width.sh というファイル名で、以下の内容を記述。
何をしているかというと…。
./fix_width.sh で実行。
これで、横幅がおかしくなってない Ricty 4.1.1 フォントを生成できた。
fontforge、python3-fontforge、fonttools をインストール。
sudo apt install fontforge python3-fontforge fonttools
Inconsolata 2.000、Migu-1m 20150712版、Ricty生成用スクリプト ricty_generator.sh を同じフォルダに置く。
- Inconsolata-Bold.ttf
- Inconsolata-Regular.ttf
- migu-1m-bold.ttf
- migu-1m-regular.ttf
- ricty_generator.sh
以下を実行。
./ricty_generator.sh Inconsolata-{Regular,Bold}.ttf migu-1m-{regular,bold}.ttf
以下のファイルが生成される。
- Ricty-Bold.ttf
- Ricty-BoldOblique.ttf
- RictyDiscord-Bold.ttf
- RictyDiscord-BoldOblique.ttf
- RictyDiscord-Oblique.ttf
- RictyDiscord-Regular.ttf
- Ricty-Oblique.ttf
- Ricty-Regular.ttf
これらのフォントファイルは横幅がおかしいままなので修正しなければいけない。以下を参考にして、修正用のスクリプトを用意する。
_Rictyフォントの文字間隔を修正する - Qiita
とりあえず、fix_width.sh というファイル名で、以下の内容を記述。
for P in Ricty*.ttf; do ttx -t OS/2 "$P" sed -i.bak -e 's,xAvgCharWidth value="940",xAvgCharWidth value="500",' "${P%%.ttf}.ttx" mv "$P" "${P%%.ttf}.orig.ttf" ttx -m "${P%%.ttf}.orig.ttf" "${P%%.ttf}.ttx" done
何をしているかというと…。
- ttx -t OS/2 hoge.ttf で、フォント情報をxmlで出力。出力ファイル名は hoge.ttx になる。
- sed を使って、xml内の xAvgCharWidth value="940" という記述を、xAvgCharWidth value="500" に置換。500という数値は、Migu-1m で指定されている値。
- ttx -m hoge.ttf hoge.ttx で、修正したxmlの内容を hoge.ttf に反映。
./fix_width.sh で実行。
これで、横幅がおかしくなってない Ricty 4.1.1 フォントを生成できた。
◎ スタイルがおかしい。 :
生成された Ricty*.ttf をWindows10にインストールしてみたのだけど…。フォントのスタイルの中に、「標準」が見当たらない…。「斜体」「太字」「太字斜体」しかない…。何故。
Ubuntu Linux 20.04 LTS 上では、フツーに表示されているのだけどなあ…。
ちなみに、Ubuntu上でフォントを追加するには、~/.fonts/ 以下に *.ttf をコピーして、fc-cache -fv を実行。
Ubuntu Linux 20.04 LTS 上では、フツーに表示されているのだけどなあ…。
ちなみに、Ubuntu上でフォントを追加するには、~/.fonts/ 以下に *.ttf をコピーして、fc-cache -fv を実行。
◎ フォントの入手先。 :
Inconsolata 2.000 や Migu-1m 20150712版は、今でも入手できるのだろうか。
ググってみたら、以下から入手できそうな感じだったので、一応メモ。
_Releases - googlefonts/Inconsolata
_パッケージ migu - mixfont-mplus-ipa - OSDN
ググってみたら、以下から入手できそうな感じだったので、一応メモ。
_Releases - googlefonts/Inconsolata
_パッケージ migu - mixfont-mplus-ipa - OSDN
◎ 2022/04/25追記。 :
「標準」が選べない問題について、Ricty 4.1.1 ではなく、Ricty 4.1.0 を生成して問題を回避した。詳細は、
_2021/10/22の日記
にメモ。
[ ツッコむ ]
以上です。