Cyroit (しろいと) はプログラミングにもお使いいただける日本語等幅フォントです。
プログラミング向け合成フォントとして評価の高い ricty の生成スクリプトで遊んでいるうちに、フォント製作の沼にはまってしまったことで誕生しました。
全角英数記号や半角カナ等にアンダーラインが引いてあるため、全角・半角の組み合わせになっている括弧や、誤って使われている全角チルダなどをすぐに見つけることができます。
全角スペースや半角・ノーブレークスペースを可視化したバージョンも用意してあり、使い分けて使用できます。
CotEditor にて
カーニングサンプル
桁区切り表示サンプル
最新版 (v2.3.0)
フォントやスクリプトの使用は自己責任にてお願いいたします。
各ファイルを使用することで生じた不具合・損害等について omonomo は責任を負いません。
見た目が少し違うだけなのに種類を増やしたため、無駄にファイルサイズが大きくなってしまい大変申しわけございません。
それぞれにレギュラー、オブリーク、ボールド、ボールドオブリークの書体が含まれています。
名称 | サンプル | 説明 |
---|---|---|
Cyroit | ![]() |
通常版。スタイルセット対応。内容については後述。 |
CyroitBS | ![]() |
基本版。Ver.1.x.x までの通常版。全角スペースを可視化しています。 |
CyroitSP | ![]() |
スペシャルスペース版。半角スペース、ノーブレークスペースも可視化したバージョン。 |
CyroitDG | ![]() |
桁区切り表示版。たくさん並んだ数字とにらめっこする時間を短縮できます。 |
CyroitFX | ![]() |
文字間隔固定版。calt と相性が悪いソフト用。また他のバージョンよりも軽快に動作します。 |
CyroitHB | ![]() |
平凡版。全てのスペースが不可視でグリフ改変も抑えたバージョン。プリントアウト用にどうぞ。 |
設定方法については、Fira Code の説明が分かりやすいと思います。
タグ名 | サンプル | 内容 |
---|---|---|
ss01 | ![]() |
全角スペース可視化 |
ss02 | ![]() |
半角スペース可視化 |
ss03 | ![]() |
3桁区切りマーク表示 |
ss04 | ![]() |
4桁区切りマーク表示 |
ss05 | ![]() |
小数小文字化 |
ss06 | ![]() |
全角・半角形の下線消去 |
ss07 | ![]() |
識別性向上グリフ無効化 |
ss08 | ![]() |
DQVZ のグリフ変更 |
素材元のフォントやスクリプトはライセンスが異なる場合があります。
Cyroit は以下の環境でビルドできることを確認しています。
あらかじめパッケージマネージャ等を利用して FontForge と FontTools をインストールし、使える状態にしておいてください。
スクリプトのある場所をカレントディレクトリにして
./run_ff_ttx.sh -F
異常なく完了した場合、直下の build
フォルダにフォントが保存されます。
Cyroit の生成には5つの Shell スクリプトを使用します。
run_ff_ttx.sh
一連の処理を自動化します。全スクリプトの中のリーダーです。
-F
オプション以外は生成フォントの確認用になります。
パラメータとして引数に font_generator のオプション (hVxfNn
以外) をハイフン無しで羅列することにより、生成フォントをカスタマイズすることができます。
(例) 接尾語に「NoNF」を付けて、Nerd Fonts 抜きの基本版 (完成品) を生成する場合
./run_ff_ttx.sh -F -n "NoNF" ztse
-h
ヘルプを表示します。-x
スクリプトと同じフォルダにあるフォントと一時作成フォルダ、ファイルの削除のみ行って終了します。-l
一時作成ファイルを残したままにします。-d
-C
-p
の場合、-l
に関係なく一時作成ファイルを残します。-r
cmap や calt 用のテーブルファイルがすでに存在していた場合、作り直さずにそのファイルを使用します。-N string
フォントファミリー名を string にします。省略すると「Cyroit」になります。-n string
フォントファミリー名の接尾語 (「BS」や「SP」の部分) を string にします。-d
下書きモード。時間のかかる処理を飛ばします。改変したグリフの確認用です。ldoP
を有効にしたフォントを生成します。-C
calt を設定する直前で処理を終了します。パラメータ無しの場合 lSeo
を有効にしたフォントを生成します。-p
-C
オプションの続きから実行します。元のフォントを残すので、調整を繰り返す時に重宝します。-F
完成品を生成します。時間がかかりますので気長にお待ちください。完成したフォントは build
フォルダに保存されます。-n
有りの場合、スタイルセットに対応した (S
を有効にした) フォントのみ生成します。-n
無しの場合、デフォルトの全バージョンを生成します。オプション無し
lo
を有効にしたフォントを生成します。font_generator.sh
通常、直接実行する必要はありません。
FontForge のスクリプト機能を利用してフォントの合成と改変を行います。
オプションを指定することでフォントの見た目や機能を変更することができます。
オプションの最後に素材にするフォントのファイル名を指定する必要がありますが、基本的に auto
で問題ありません。
合成したフォントを完成させるには、table_modificator を実行してフォント情報を書き換える必要があります。
(例) 下書きモードで平凡版を生成する場合
./font_generator.sh -dZzubts auto
-h
ヘルプを表示します。-V
生成するフォントのバージョンナンバーを表示します。version.txt
の内容を参照します。-x
スクリプトと同じフォルダにある一時作成フォルダとファイルの削除のみ行って終了します。-f /path/to/fontforge
FontForge コマンドのパスを /path/to/fontforge に指定します。-v
合成時の経過を詳しく表示します。-l
一時作成ファイルを残したままにします。-N string
フォントファミリー名を string にします。省略すると「Cyroit」になります。-n string
フォントファミリー名の接尾語 (「BS」や「SP」の部分) を string にします。-Z
全角スペースを可視化しません。-z
半角スペースを可視化しません。-u
全角・半角形に下線を付けません。-b
識別性を向上させるためのグリフ改変をしません。-t
D Q V Z のグリフを変更 (ストローク等を追加) しません。-c
calt に対応させません。文字間隔を調整しないフォントになります。-s
も有効にしたことになります。-s
桁区切りマークを表示させません。-e
Nerd Fonts を追加しません。-o
オブリーク体を生成しません。-S
ss 対応のフォントにします。自動的に -Zzts
が有効、-ubc
が無効になります。-d
下書きモードで合成します。時間のかかる処理を飛ばしますが、完成品と見た目が少し異なる文字があります。-o
も有効になります。改変したグリフの確認用です。-P
font_generator は一旦全ての機能を実装した後、オプションに従って機能を削っていきますが、その直前で処理を終了します。.nopatch.ttf
になります。-p
-P
オプションの続きから実行します。table_modificator.sh
通常、直接実行する必要はありません。
font_generator で合成したフォントの情報を FontTools の ttx コマンドを使用して書き換えます。
とりあえずオプション無し、もしくは -o
のみ付けて実行すれば必要な情報を書き換えてフォントを完成させてくれます。
-r
を付けていないか、必要なテーブルファイルが存在しない場合、スクリプト内で uvs_table_maker と calt_table_maker を実行します。
-h
ヘルプを表示します。-x
スクリプトと同じフォルダにある一時作成ファイルの削除のみ行って終了します。-l
一時作成ファイルを残したままにします。-r
cmap や calt 用のテーブルファイルがすでに存在していた場合、作り直さずにそのファイルを使用します。-N string
ファミリー名が string のフォントを処理します。省略すると「Cyroit」になります。-m
cmap を書き換えません。-g
GSUB を書き換えません。-t
その他のテーブルを書き換えません。-C
calt を書き換える直前で処理を終了します。-p
-C
オプションの続きから実行します。-b
calt 作成時のカーニング設定を基本ラテン文字に限定します。動作確認用です。-o
カーニング作成時になんちゃって最適化処理を実行します。重複している設定を削除することで心持ち軽量化させます。uvs_table_maker.sh
通常、直接実行する必要はありません。
フォント合成時に失われた IVS 関連の cmap テーブルを作り直します。
作成したデータは table_modificator で使用します。
-h
ヘルプを表示します。-x
スクリプトと同じフォルダにある一時作成ファイルの削除のみ行って終了します。-l
一時作成ファイルを残したままにします。-N string
名前が string-Regular のフォントに対するテーブルを作成します。calt_table_maker.sh
通常、直接実行する必要はありません。
calt テーブルを作成します。作成したデータは table_modificator で使用します。
-h
ヘルプを表示します。-x
スクリプトと同じフォルダにある一時作成ファイルの削除のみ行って終了します。-l
一時作成ファイルを残したままにします。-n number
calt で置換する先頭のグリフ (左に動いた A になります) を示す番号に number を指定します。gsubList.txt
が生成されていれば省略しても問題ありません。-b
カーニング設定を基本ラテン文字に限定します。動作確認用です。-s
カーニング以外の設定 (桁区切り、記号の移動) のみ作成します。動作確認用です。-o
カーニング作成時になんちゃって最適化処理を実行します。重複している設定を削除することで心持ち軽量化させます。