UDevSOL font
C言語での誤った代入 if (var = 1) を見落としにくくするフォント。
UDevSOL-set-ja は「代入」を表す演算子「単独の =」を大きな「=」記号として表示し、比較演算子 == は通常どおり表示します。
=, ==, === を出し分ける Full版、全角スペースの可視化版も付属します。詳しくは下記インストールとIDEごとの設定例をご覧ください(リガチャ機能の設定に注意)。商用・非商用問わず利用可能です。
まずは、下記のデモでフォントを適用した場合どのように見えるかを体験してみてください。
デモ
上部のLeft,Rightのプルダウンで比較したいフォントを選択すると、本フォントの適用後の見栄えを確認できます。
最初のテキストボックスにご自身のソースコードをペーストすると、同様に確認ができるので本サイト自体をレビューツールとしてもご活用いただけるかと思います。
Downloads
Variants
UDevSOL-set-ja
= だけを 代 として表示します。
UDevSOL-set-ja-zs
Set版に全角スペース可視化を追加した版。標準利用はこちらを推奨します。
UDevSOL-full-ja
=, ==, === を 代, 等, 厳 として表示します。
UDevSOL-full-ja-zs
Full版に全角スペース可視化を追加した版。
Install
通常利用では UDevSOL-set-ja-zs-Regular.ttf を推奨します。単独の = を強調し、全角スペースも可視化します。
Windows
UDevSOL-set-ja-zs-Regular.ttfを右クリックします。- インストール または すべてのユーザーに対してインストール を選びます。
- VS Code などのエディタを再起動します。
macOS
UDevSOL-set-ja-zs-Regular.ttfをダブルクリックします。- Font Bookでインストールします。
- VS Code などのエディタを再起動します。
Linux
mkdir -p ~/.local/share/fonts
cp UDevSOL-set-ja-zs-Regular.ttf ~/.local/share/fonts/
fc-cache -fv
フォントを追加したあと、VS Code などのエディタを再起動してください。
VS Code settings
注意: 下記のようにリガチャーの設定も有効にする必要があります (editor.fontLigatures)。
{
"editor.fontFamily": "'UDevSOL-set-ja-zs', Consolas, 'Courier New', monospace",
"editor.fontLigatures": true
}
設定を変更しても表示が変わらない場合は、VS Code を再起動してください。
JetBrains IDEs
Settings / Preferences → Editor → Font で UDevSOL-set-ja-zs を選択し、Ligatures を有効化します。フォントをインストール直後に認識されない場合は IDE を再起動してください。
Notes
UDevSOL はコードの内容を変更しません。変わるのは表示だけです。フォント機能だけで動作するため、コメント内・文字列内・通常の代入文内の単独 = も同じように表示されます。
このフォントについて
本フォントは、BIZ UD Gothic と JetBrains Mono / JetBrains Mono NL を元に、プログラミング用途向けに調整した「超」特殊フォントです。
フォントの合成方針については UDEV Gothic を参考にし、ASCII領域には JetBrains Mono 系の字形、日本語領域には BIZ UD Gothic 系の字形を使用しています。
本フォントは SIL Open Font License Version 1.1 の条件に基づき、商用・非商用を問わず利用できます。
技術的な仕組み
UDevSOL は、OpenType の機能を使い、ソースコードの文字列は変更せずに表示上のグリフだけを差し替えます。
通常版では単独の = を 代 記号として表示し、==、!=、<=、>=、+= などは通常どおり表示します。
-zs 版では全角スペース U+3000 も可視化します。
メディア掲載
窓の杜、Yahoo Newsで取り上げていただきました!
謝辞
本フォントの制作にあたり、BIZ UD Gothic、JetBrains Mono / JetBrains Mono NL、および UDEV Gothic の成果を参考にしました。
優れたフォントと制作手法を公開してくださっている各プロジェクトの開発者・コントリビューターの皆さまに感謝します。
また、このフォントを勢いで作るきっかけとなった、= と == の取り違えバグに苦しめられて、Xにてつぶやいていたすべての方々にも、深い敬意と感謝を表します。
これで、そうしたバグたちも少しは報われるでしょう。