WindowsでRictyを生成するときに、コマンドラインオプションをつける方法(2017年1月)

過去に何度か記事にした、Windowsでプログラミング用フォント Rictyを生成する方法2017年1月版です。
WindowsでRictyとRictyDiscord、さらにそれらの斜体(oblique)を一度に生成する手順を説明する。

必要なファイルのダウンロード

Ricty生成に必要なファイルをダウンロード。

Ricty 生成用スクリプト

必要なファイルは以下の3つ。

  • ricty_generator.sh
  • regular2oblique_converter.pe
  • os2version_reviser.sh
Migu 1M フォント

ページ内には「Migu」という名前のフォントが複数あるので間違えないように。
Migu 1M をダウンロード。

ric-r-mig
Inconsolata フォント

Google Fonts の Inconsolata ページの下に「1 Family Selected」という黒いタブがあるのでクリック。 右上の「↓」ボタンを押して、zip ファイルをダウンロード。

ric-inconsolate

FontForge

2017年1月時点での最新版「fontforge-cygwin_2016_05_26.zip」では、上手く動かないスクリプトがある。ひとつ前のバージョン、「fontforge-cygwin_2015_01_21.zip」を使用。

ric-ffdl

fontforgeのインストール

配布サイトにある「インストール」の手順にしたがって、インストールする。インストールが終わるとfontforgeが起動するが、いったんこれを終了させる。

以降、fontforgeのインストールフォルダは、配布サイトの例で示されている D:\fontforge として説明する。

必要なファイルのコピー

fontforgeをインストールしたフォルダ D:\fontforge に、Ricty生成のためのファイルをコピーする。

フォルダに入れるファイルの一覧
ダウンロードしたファイル D:\fontforge に入れるファイル
Ricty生成用スクリプト ricty_generator.sh
os2version_reviser.sh
regular2oblique_converter.pe
Inconsolata フォント Inconsolata-Regular.ttf
Inconsolata-Bold.ttf
Migu 1M フォント migu-1m-regular.ttf
migu-1m-bold.ttf

D:\fontforge フォルダの構成はこんなかんじになる。

Rictyの生成

fontforge.bat ファイルを複製して、名前を ricty.bat とする。
ricty.bat の中身を以下のように書き換えてから、 ricty.bat をダブルクリックで実行すればOK。

・・・(上部省略)・・・
xwin-close.exe -wait
fontforge.exe -nosplash %file0% %1 %2 %3 %4 %5 %6 %7
xwin-close.exe -close
・・・(上部省略)・・・
xwin-close.exe -wait
sh ricty_generator.sh auto
fontforge.exe -script regular2oblique_converter.pe Ricty-*.ttf RictyDiscord-*.ttf
sh os2version_reviser.sh Ricty-*.ttf RictyDiscord-*.ttf
xwin-close.exe -close

3行目がRictyフォント生成コマンド。
4行目が斜体(oblique)生成コマンド。
5行目は生成されたフォントの文字間隔が不自然に大きくなるのを修正するコマンド。

オプションを変更したい場合

この記事の本題、自分でオプションを変更・追加したい場合。
さきほど書き換えた ricty.bat を以下のように変更する。

・・・(上部省略)・・・
xwin-close.exe -wait
sh ricty_generator.sh auto
fontforge.exe -script regular2oblique_converter.pe Ricty-*.ttf RictyDiscord-*.ttf
sh os2version_reviser.sh Ricty-*.ttf RictyDiscord-*.ttf
xwin-close.exe -close
・・・(上部省略)・・・
xwin-close.exe -wait
sh ricty_generator.sh [オプション] auto
fontforge.exe -script regular2oblique_converter.pe Ricty-*.ttf RictyDiscord-*.ttf
sh os2version_reviser.sh Ricty-*.ttf RictyDiscord-*.ttf
xwin-close.exe -close

3行目の[オプション] の部分に、有効にしたいオプションを並べる。
使えるオプションは Rictyホームページの「Ricty 生成スクリプトのオプション」の項目を参照。

例えば「行間を広くする(-w)」と「全角スペースを可視化しない(-z)」を有効にしたい場合には、以下のようになる。

・・・(上部省略)・・・
xwin-close.exe -wait
sh ricty_generator.sh -w -z auto
fontforge.exe -script regular2oblique_converter.pe Ricty-*.ttf RictyDiscord-*.ttf
sh os2version_reviser.sh Ricty-*.ttf RictyDiscord-*.ttf
xwin-close.exe -close

RictyDiscordのオプション

Rictyは派生フォントの「RictyDiscord」も同時に生成してくれるけど、これのオプションを変更したい場合。

先程の3行目にRictyDiscord用オプション-dを追加し、続けてDiscord化しない文字を指定する。
指定できる文字はRictyホームページの「派生フォント Ricty Discord」の項目にある。

例えば以下のように設定した場合

・・・(上部省略)・・・
xwin-close.exe -wait
sh ricty_generator.sh -w -z -d +0Z auto
fontforge.exe -script regular2oblique_converter.pe Ricty-*.ttf RictyDiscord-*.ttf
sh os2version_reviser.sh Ricty-*.ttf RictyDiscord-*.ttf
xwin-close.exe -close

-d に続けて +0Z が指定されているので、

  • + : プラスをやや下方に移動する。
  • 0 : 0 をドットゼロ (Inconsolata の不使用グリフ) にする。
  • Z : Z にクロスバーを付ける。

の3つのDiscord用オプションが無効化されたことになる。

書き換えが終わったら、 ricty.bat を実行すればフォントが生成される。
ちなみに生成には数分程度時間がかかる。生成が終わるとコマンドプロンプト画面は勝手に閉じるので、それまでは画面が止まってるように見えても放置。