Rictyフォントを生成するシェルスクリプトを動かす必要があるので、 LINUXマシンがあると便利です。

環境

  • Raspberry Pi
  • OS raspberrypi 5.10.17(Debianベース)
  • Windowsマシンとファイルが適宜共有できるようにする

手順

  1. 必要なアプリをダウンロード
    $ sudo apt-get update
    $ sudo apt-get -y install fontforge
    $ sudo apt-get -y install fonts-migmix
    $ sudo apt-get -y install fonttools
    

fonts-migmixは、不要かもしれないです。
下でttxというコマンドを使いますが、これはfonttoolsでインストールされます。

  1. 作業用ディレクトリを作成し、その中で作業(お好みで)

  2. Inconsolataのフォントデータを入手

    $ wget https://github.com/google/fonts/blob/main/ofl/inconsolata/static/Inconsolata-Bold.ttf
    $ wget https://github.com/google/fonts/blob/main/ofl/inconsolata/static/Inconsolata-Regular.ttf
    
  3. migu-1mのフォントデータを入手
    M+とIPAの合成フォントから、 migu-1m-20200307.zipをダウンロード&解凍してmigu-1m-bold.ttf, migu-1m-regular.ttfを保管。

  4. Rictyからricty_generator.shをダウンロード

  5. $ ./ricty_generator.sh autoでフォント生成(Raspberry Piなので結構時間かかります。)

  6. OS/2テーブルの書き出し
    上記で生成されたRicty-Regular.ttfは、日本語の文字幅が広いという問題があります。 FontForgeが元々のmigu-1mのデータを書き換えてしまうからのようです。 よって、元のmigu-1mのデータを確認し、フォントデータの修正をします。

    $ ttx -t OS/2 migu-1m-regular.ttf
    $ ttx -t OS/2 Ricty-Regular.ttf
    

    を実行するとttxファイルが生成されます。

  7. ttxファイルの修正
    上記コマンドを実行すると、migu-1m-regular.ttx, Ricty-Regular.ttxというファイルが出力されます。 migu-1m-regular.ttxの中にxAvgCharWidth value=“500"があるのを確認したら、 Ricty-Regular.ttxの中のxAvgCharWidth valueも500に書き換えます。 また、ttxファイル名が新しいフォントファイルの名前になるので、Ricty-Regular.ttx をRicty-Regular_mod.ttxのようにファイル名を変えておきます。

  8. フォント生成
    $ ttx -m Ricty-Regular.ttf Ricty-Regular_mod.ttxを実行する。 そうすると、フォントファイルRicty-Regular_mod.ttfが生成されます。

  9. Windowsでインストール
    Windowsにコピーしインストールします。ファイルを右クリックして、「プログラムから開く」 で、フォントビューアを指定。開いたWindowでインストールボタンを押せばインストールできます。

参考サイト