Meroit (めろいと) はコーディングにもお使いいただける日本語等幅フォントです。
自作合成フォント Cyroit にプログラミングフォント Meslo LG と Hack を合成した姉妹フォントになります。
全く別のフォントを一から合成して Cyroit 並の機能を持たせるのは大変ですが、英数フォントだけ置き換えるのであれば比較的楽に作れそうな気がしたため製作してみました。
全角英数記号や半角カナ等にアンダーラインが引いてあるため、全角・半角の組み合わせになっている括弧や、誤って使われている全角チルダなどをすぐに見つけることができます。
また calt を利用したカーニング機能を実装しており、ラテン文字は等幅のまま前後の文字に合わせて文字間隔を調整します。
その他にも全角・半角・ノーブレークスペースを可視化したバージョンや自動で桁区切りマークを表示するバージョン、カラー絵文字フォントとの併用を前提として絵文字を減らしたバージョンなども用意してあり、使い分けて使用できます。
英数文字が窮屈に感じられる方は、半角と全角の横幅の比率を9:16にしたバージョンもございますので、お好みによりお選びください。
フォント生成用のスクリプトを利用すれば、必要な機能のみ実装したフォントを作っていただくこともできます。
CotEditor にて
カーニングサンプル
桁区切り表示サンプル
半角幅の違いサンプル (上: 1/2、下: 9/16)
追加した記号等のコードポイント
最新版 v1.3.2 (2024-12-15)
リンク | 説明 |
---|---|
フォント (Meroit) | 通常版。半角幅が全角の1/2。 |
フォント (MeroitLoose) | 文字間隔ゆるい版。半角幅が全角の9/16。 |
ソースコード | 使用方法は下の方にあります。 |
フォントやスクリプトの使用は自己責任にてお願いいたします。
各ファイルを使用することで生じた不具合・損害等について omonomo は責任を負いません。
ライセンスに従ってのご使用をお願いいたします。
見た目が少し違うだけなのに種類を増やしたため、無駄にファイルサイズが大きくなってしまい大変申しわけございません。
それぞれにレギュラー、オブリーク、ボールド、ボールドオブリークの書体が含まれています。
Loose 版は名称が 「MeroitLoose…」 になります。
名称 | サンプル | 説明 |
---|---|---|
Meroit | 通常版。スタイルセット対応。 内容については後述。 |
|
Meroit EH | 絵文字減らした版。スタイルセット対応。別の絵文字フォントとの併用推奨。 (サンプルの㊙は Apple Color Emoji のものです) |
|
Meroit BS | 基本版。 全角スペースを可視化しています。 |
|
Meroit SP | スペシャルスペース版。 半角スペース、ノーブレークスペースも可視化したバージョン。 |
|
Meroit DG | 桁区切り表示版。 たくさん並んだ数字とにらめっこする時間を短縮できます。 |
|
Meroit FX | 文字間隔固定版。calt と相性が悪いソフト用。 また他のバージョンよりも軽快に動作します。 |
|
Meroit HB | 平凡版。全てのスペースが不可視でグリフ改変も抑えたバージョン。 プリントアウト用にどうぞ。 |
設定方法については、Fira Code の説明が分かりやすいと思います。
タグ名 | サンプル | 内容 |
---|---|---|
ss01 | 全角スペース可視化 | |
ss02 | 半角スペース可視化 | |
ss03 | 3桁区切りマーク表示 | |
ss04 | 4桁区切りマーク表示 | |
ss05 | 小数小文字化 | |
ss06 | 全角・半角形の下線、点字の外枠消去 | |
ss07 | 識別性向上グリフ無効 | |
ss08 | DQVZ のグリフ変更 | |
ss09 | JIS に含まれる罫線を全角化、矢印を細線化 (環境によって全角にならないことがあります) |
|
ss10 | 0のスラッシュ消去 |
素材元のフォントやスクリプトはライセンスが異なる場合があります。
Meroit は以下の環境でビルドできることを確認しています。
あらかじめパッケージマネージャ等を利用して FontForge と FontTools をインストールし、使える状態にしておいてください。
スクリプトのある場所をカレントディレクトリにして
./run_ff_ttx.sh -F
異常なく完了した場合、直下の build
フォルダにフォントが保存されます。
Cyroit の生成スクリプトと使い方は同じです。
注意点として、素材となる Cyroit を最新版に入れ換える場合は完成した Cyroit….ttf ではなく、生成途中の Cyroit….nopatch.ttf を用意する必要があります。
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
に関係なく一時作成ファイルを残します。-N string
フォントファミリー名を string にします。省略すると「Meroit」になります。-n string
フォントファミリー名の接尾語 (「BS」や「SP」の部分) を string にします。-w
生成フォントを Loose 版にします。-k
calt 作成時にカーニング以外の設定 (桁区切り、記号の移動) のみ作成します。-r
cmap や calt 用のテーブルファイルがすでに存在していた場合、作り直さずにそのファイルを使用します。-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
生成するフォントのバージョンナンバーを表示します。settings.txt
の内容を参照します。-x
スクリプトと同じフォルダにある一時作成フォルダとファイルの削除のみ行って終了します。-f /path/to/fontforge
/path/to/fontforge に存在する FontForge を使用します。-v
合成時の経過を詳しく表示します。-l
一時作成ファイルを残したままにします。-N string
フォントファミリー名を string にします。省略すると「Meroit」になります。-n string
フォントファミリー名の接尾語 (「BS」や「SP」の部分) を string にします。-w
合成フォントを Loose 版にします。-Z
全角スペースを可視化しません。-z
半角スペースを可視化しません。-u
全角・半角形に下線を付けません。また点字に外枠を付けません。-b
識別性を向上させるためのグリフ改変をしません。-t
D Q V Z のグリフを変更 (ストローク等を追加) しません。-O
数字の0にスラッシュを付けません。-s
桁区切りマークを表示させません。-c
calt に対応させません。文字間隔を調整しないフォントになります。-s
も有効にしたことになります。-e
Nerd Fonts を追加しません。また Nerd Fonts を利用して作成・改変されたグリフも追加されません。-o
オブリーク体を生成しません。-j
絵文字のグリフを減らします。-S
ss 対応のフォントにします。自動的に -Zzts
が有効、-ubOc
が無効になります。-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
一時作成ファイルを残したままにします。-N string
ファミリー名が string のフォントを処理します。省略すると「Meroit」になります。-w
Loose 版に合わせた情報に書き換えます。font_generator 実行時の -w
オプションの有無に合わせる必要があります。-k
calt 作成時にカーニング以外の設定 (桁区切り、記号の移動) のみ作成します。-b
calt 作成時のカーニング設定を基本ラテン文字に限定します。表示確認用です。-o
カーニング作成時になんちゃって最適化処理を実行します。重複している設定を削除することで生成フォントを心持ち軽量化させます。-r
cmap や calt 用のテーブルファイルがすでに存在していた場合、作り直さずにそのファイルを使用します。-m
cmap を書き換えません。-g
GSUB (calt を含む) を書き換えません。-t
その他のテーブル (head、OS/2、post、htmx) を書き換えません。-C
calt を書き換える直前で処理を終了します。-p
-C
オプションの続きから実行します。uvs_table_maker.sh
通常、直接実行する必要はありません。
フォント合成時に失われた IVS 関連の cmap テーブルを作り直します。
作成したデータは table_modificator で使用します。
-h
ヘルプを表示します。-x
スクリプトと同じフォルダにある一時作成ファイルの削除のみ行って終了します。-l
一時作成ファイルを残したままにします。-N string
名前が string-Regular のフォントに対するテーブルを作成します。calt_table_maker.sh
通常、直接実行する必要はありません。
calt テーブル (前後の文字によってグリフ置換を行う設定) を作成します。作成したデータは table_modificator で使用します。
作成に時間がかかるため、通常はテーブルファイルが存在しないか calt_table_maker.sh を更新した場合、オプションやフォントのグリフ数を変更した時のみテーブルを作り直します。
-h
ヘルプを表示します。-x
スクリプトと同じフォルダにある一時作成ファイルの削除のみ行って終了します。-X
スクリプトと同じフォルダにある一時作成ファイルと、カーニング設定 (保存してある設定も含む) の削除のみ行って終了します。-l
一時作成ファイルを残したままにします。-n number
calt で置換する先頭のグリフ (左に動いた A になります) を示す番号に number を指定します。gsubList.txt
が生成されていれば省略しても問題ありません。-k
カーニング以外の設定 (桁区切り、記号の移動) のみ作成します。-b
カーニング設定を基本ラテン文字に限定します。表示確認用です。-O
カーニング設定作成時に、全ての設定についてなんちゃって最適化処理を実行します。-o
カーニング設定作成時に、任意の設定 (ソースコードにて指定) に限りなんちゃって最適化処理を実行します。settings.txt
生成フォントのバージョン番号やラテン文字の拡大・縮小率、カーニングの移動量などが記述されています。
テキストを変更することで、スクリプトを直接編集せずに一部の設定を調整することができます。