Soroit

Title

全角英数や半角カナが判別しやすい、文字間隔調整機能付き等幅フォント「Soroit」

Soroit (そろいと) はコーディングにもお使いいただける日本語等幅フォントです。
自作合成フォント Cyroit にプログラミングフォント Source Code Pro を合成した姉妹フォントになります。
Source Code Pro には既に Source Han Code JP という本家製作の日本語対応フォントがありますが、半角と全角の比率が異なる合成フォントとして形にできないかと思い、製作しました。

全角英数記号や半角カナ等にアンダーラインが引いてあるため、全角・半角の組み合わせになっている括弧や、誤って使われている全角チルダなどをすぐに見つけることができます。
また calt を利用したカーニング機能を実装しており、ラテン文字は等幅のまま前後の文字に合わせて文字間隔を調整します。

その他にも全角・半角・ノーブレークスペースを可視化したバージョンや自動で桁区切りマークを表示するバージョン、カラー絵文字フォントとの併用を前提として絵文字を減らしたバージョンなども用意してあり、使い分けて使用できます。

英数文字が窮屈に感じられる方は、半角と全角の横幅の比率を9:16にしたバージョンもございますので、お好みによりお選びください。

フォント生成用のスクリプトを利用すれば、必要な機能のみ実装したフォントを作っていただくこともできます。

フォントサンプル

CotEditor にて
ScreenShot

warp + Starship + lsd にて
ScreenShot

egword Universal2 にて
ScreenShot

カーニングサンプル
ScreenShot

桁区切り表示サンプル
ScreenShot

半角幅の違いサンプル (上: 1/2、下: 9/16)
ScreenShot
ScreenShot

追加した記号等のコードポイント
ScreenShot

ダウンロード

最新版 v1.0.0 (2024-12-15)

リンク 説明
フォント (Soroit) 通常版。半角幅が全角の1/2。
フォント (SoroitLoose) 文字間隔ゆるい版。半角幅が全角の9/16。
ソースコード 使用方法は下の方にあります。

フォントやスクリプトの使用は自己責任にてお願いいたします。
各ファイルを使用することで生じた不具合・損害等について omonomo は責任を負いません。
ライセンスに従ってのご使用をお願いいたします。

その他の特徴

ラテン文字について

仮名文字について

漢字について

記号類について

機能的なものについて

Loose (文字間隔ゆるい) 版について

収録フォントの違い

見た目が少し違うだけなのに種類を増やしたため、無駄にファイルサイズが大きくなってしまい大変申しわけございません。
それぞれにレギュラー、オブリーク、ボールド、ボールドオブリークの書体が含まれています。
Loose 版は名称が 「SoroitLoose…」 になります。

名称 サンプル 説明
Soroit Normal 通常版。スタイルセット対応。
内容については後述。
Soroit EH Normal 絵文字減らした版。スタイルセット対応。別の絵文字フォントとの併用推奨。
(サンプルの㊙は Apple Color Emoji のものです)
Soroit BS BS 基本版。
全角スペースを可視化しています。
Soroit SP SP スペシャルスペース版。
半角スペース、ノーブレークスペースも可視化したバージョン。
Soroit DG DG 桁区切り表示版。
たくさん並んだ数字とにらめっこする時間を短縮できます。
Soroit FX TS 文字間隔固定版。calt と相性が悪いソフト用。
また他のバージョンよりも軽快に動作します。
Soroit HB HB 平凡版。全てのスペースが不可視でグリフ改変も抑えたバージョン。
プリントアウト用にどうぞ。

通常版、絵文字減らした版のスタイルセットについて

設定方法については、Fira Code の説明が分かりやすいと思います。

タグ名 サンプル 内容
ss01 ss01 全角スペース可視化
ss02 ss02 半角スペース可視化
ss03 ss03 3桁区切りマーク表示
ss04 ss04 4桁区切りマーク表示
ss05 ss05 小数小文字化
ss06 ss06 全角・半角形の下線、点字の外枠消去
ss07 ss07 識別性向上グリフ無効
ss08 ss08 DQVZ のグリフ変更
ss09 ss09 JIS に含まれる罫線を全角化、矢印を細線化
(環境によって全角にならないことがあります)
ss10 ss10 0のスラッシュ消去

ライセンス

素材元のフォントやスクリプトはライセンスが異なる場合があります。

生成スクリプトの使い方

ビルド環境

Soroit は以下の環境でビルドできることを確認しています。

基本的な使い方

あらかじめパッケージマネージャ等を利用して FontForgeFontTools をインストールし、使える状態にしておいてください。

スクリプトのある場所をカレントディレクトリにして

./run_ff_ttx.sh -F

異常なく完了した場合、直下の build フォルダにフォントが保存されます。

各スクリプトの説明

Cyroit の生成スクリプトと使い方は同じです。
注意点として、素材となる Cyroit を最新版に入れ換える場合は完成した Cyroit….ttf ではなく、生成途中の Cyroit….nopatch.ttf を用意する必要があります。

1. run_ff_ttx.sh

一連の処理を自動化します。全スクリプトの中のリーダーです。
-F オプションを付けずに生成したフォントは、表示確認用の未完成品になります。
パラメータとして引数に font_generator のオプション (hVxfNn 以外) をハイフン無しで羅列することにより、生成フォントをカスタマイズすることができます。

(例) 接尾語に「NoNF」を付けて、Nerd Fonts 抜きの基本版 (完成品) を生成する場合

./run_ff_ttx.sh -F -n "NoNF" ztse

2. font_generator.sh

通常、直接実行する必要はありません。
FontForge のスクリプト機能を利用してフォントの合成とグリフの改変を行います。
オプションを指定することでフォントの見た目や機能を変更することができます。
オプションの最後に素材にするフォントのファイル名を指定する必要がありますが、基本的に auto で問題ありません。
合成したフォントを完成させるには、table_modificator を実行してフォント情報を書き換える必要があります。

(例) 下書きモードで平凡版を生成する場合

./font_generator.sh -dZzubts auto

3. table_modificator.sh

通常、直接実行する必要はありません。
font_generator で合成したフォントの情報を FontTools の ttx コマンドを使用して書き換えます。
またカーニングや桁区切り表示等の設定ファイルを作成して登録します。
とりあえずオプション無し、もしくは -o のみ付けて実行すれば必要な情報を書き換えてフォントを完成させてくれます。
-r を付けていないか、必要なテーブルファイルが存在しない場合、スクリプト内で uvs_table_maker と calt_table_maker を実行します。

4. uvs_table_maker.sh

通常、直接実行する必要はありません。
フォント合成時に失われた IVS 関連の cmap テーブルを作り直します。
作成したデータは table_modificator で使用します。

5. calt_table_maker.sh

通常、直接実行する必要はありません。
calt テーブル (前後の文字によってグリフ置換を行う設定) を作成します。作成したデータは table_modificator で使用します。
作成に時間がかかるため、通常はテーブルファイルが存在しないか calt_table_maker.sh を更新した場合、オプションやフォントのグリフ数を変更した時のみテーブルを作り直します。

6. settings.txt

生成フォントのバージョン番号やラテン文字の拡大・縮小率、カーニングの移動量などが記述されています。
テキストを変更することで、スクリプトを直接編集せずに一部の設定を調整することができます。

メモ

リンク