やじうまの杜

C/C++言語の古典的バグ“=と==の取り違え”をフリーフォントで撲滅! 「UDevSOL font」

商用利用もOK

 「やじうまの杜」では、ニュース・レビューにこだわらない幅広い話題をお伝えします。

代入演算子をフォントで可視化する「UDevSOL font」

 数値を比較する(a == b)つもりが、間違って代入してしまう(a = b)……C/C++系のプログラム言語ではよくあるミスですよね。文法上は正しいためコンパイルが通ってしまい、見落としがちです。

 こうした古典的なバグを“フォントの力”で見つけやすくしようというのが、KT_Music(@neoclassic_tech)氏が公開したフリーフォント「UDevSOL font」です。



 もっともベーシックな「UDevSOL-set-ja」は、単体の「=」(代入演算子)だけを「代」という漢字のバッジとして表示します。インパクトがあってわかりやすいですね。比較演算子の「==」はそのままなので、コードレビュー時などに一目で気づけるというわけです。

 また、代入演算子にあわせて比較演算子も漢字バッジとして表示したいユーザーのために「UDevSOL-full-ja」も用意されています。これを使うと、比較演算子(==)は「等」、JavaScriptなどで用いられる厳密等価演算子(===)は「厳」と表示されます。

どのような挙動をするのかは、配布サイトを見るとわかりやすいです

 そのほかにも、コンパイルエラーを誘発しやすい全角空白を可視化するバージョン(-zs)もあるので、好みのものをチョイスすればよいでしょう。

  • UDevSOL-set-ja:=だけを「代」と表示
  • UDevSOL-set-ja-zs:上記に全角スペース可視化を追加
  • UDevSOL-full-ja:=、==、===を「代」、「等」、「厳」と表示
  • UDevSOL-full-ja-zs:上記に全角スペース可視化を追加

 「UDevSOL font」は、TrueType形式のフォントで、商用・非商用問わず利用可能。リガチャ(合字)をサポートする各種エディターで使えるようです。「Visual Studio Code」やJetBrains系の統合開発環境(IDE)へ導入する方法が配布サイトで解説されているので、それを参考にしましょう。私は面倒なので、フォントのインストールだけして、あとは「Claude Code」に設定してもらいました。

「Visual Studio Code」に適用したところ