mieki256's diary



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はてなブログ

手順。 :

環境は Ubuntu Linux 20.04 LTS。

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 に反映。
これを、Ricty*.ttf に対して行っている模様。

./fix_width.sh で実行。

これで、横幅がおかしくなってない Ricty 4.1.1 フォントを生成できた。

スタイルがおかしい。 :

生成された Ricty*.ttf をWindows10にインストールしてみたのだけど…。フォントのスタイルの中に、「標準」が見当たらない…。「斜体」「太字」「太字斜体」しかない…。何故。

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

2022/04/25追記。 :

「標準」が選べない問題について、Ricty 4.1.1 ではなく、Ricty 4.1.0 を生成して問題を回避した。詳細は、 _2021/10/22の日記 にメモ。

以上、1 日分です。

過去ログ表示

Prev - 2021/10 - Next
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31

カテゴリで表示

検索機能は Namazu for hns で提供されています。(詳細指定/ヘルプ


注意: 現在使用の日記自動生成システムは Version 2.19.6 です。
公開されている日記自動生成システムは Version 2.19.5 です。

Powered by hns-2.19.6, HyperNikkiSystem Project