PlemolJPか、それ以外か – プログラミング用フォント徹底比較!

2021年7月24日。IBMから『IBM Plex Sans JP』がリリースされました。
「だから?」と思われた方、罰としてこのまま長い序文をお読みください。それ以外の方は次の見出しでお会いしましょう。

以前の記事でもお話ししましたが、これまでにリリースされてきた日本語対応のプログラミング用フリーフォントは、一部を除いて『源ノ角ゴシック』と『M+』という2つのフォントから派生したもの。

なぜ他のフォントが使われないのか。それは選択肢が無いからです。この2つ以外で、

  • 漢字を網羅し
  • クオリティが高く
  • ライセンスフリーで使える

そんな都合の良いフォントはほぼありませんでした。あるとすればそれは、漢字を含まないフォントのみ。

ここに加わってきたのが『Plex Sans JP』という新たな選択肢です。
日常使いできる安定感、多彩なウェイト (太さ) 、そして商用利用可能なフリーフォントであるという大きな武器を持つPlex Sans JPは、自身の領域であるプロポーショナルフォントのみならず、プログラミング用フォントの勢力図まで書き換えてしまう可能性を秘めています。

つまりこれからは、源ノ角ゴシック派生でもM+派生でもない全く新しいルーツのフォントが爆誕する!

それでは今回の主役をご紹介しましょう。
Plex Sans JPによってもたらされた第三極。その先陣を切ったのが『白源』でおなじみ、たわら氏による新生フォント『PlemolJP』(プレモルJP) です。

GitHub - yuru7/PlemolJP: IBM Plex Mono と IBM Plex Sans JP を合成したプログラミングフォント PlemolJP (プレモル ジェイピー)
IBM Plex Mono と IBM Plex Sans JP を合成したプログラミングフォント PlemolJP (プレモル ジェイピー) - yuru7/PlemolJP

今回はそのPlemolJPをテーマに、

  • PlemolJPとは何か
  • どれを選ぶ? PlemolJPのバリエーション
  • 他フォントとの徹底比較 (ASCII文字、2バイト文字、判読性)

以上のメニューでお送りします。

PlemolJPとは何か

  • 欧文フォントにIBM Plex Mono、和文フォントにIBM Plex Sans JP を採用したプログラミング用フリーフォント
  • 3つのバージョン、その中に最大4つのファミリを含み、さらに8種類のウェイトと斜体を含む
  • Plex Mono Language JP

詳細は作者自身による記事をご覧ください。

あの IBM が作ったオープンソース日本語フォントを使い、プログラミングフォント『PlemolJP』を作ってみた - Qiita
(2021/08/07) Nerd Fonts 対応版となる v0.2.1 をリリースしました。こんにちは。以前 HackGen というフォントを公開した人です。先日、IBM がリリースしたオ…

記事に書いてあることをまとめるとこんな感じ。

PlemolJPのバリエーション

ダウンロードはGitHubのリリースページから。

Releases · yuru7/PlemolJP
IBM Plex Mono と IBM Plex Sans JP を合成したプログラミングフォント PlemolJP (プレモル ジェイピー) - yuru7/PlemolJP

どのフォントをダウンロードするか?

この時点での選択肢は3つ。テキストエディタで使うなら通常バージョンかHS。ターミナルで使うならNFも有り。

名称特徴と用途
PlemolJP通常バージョン
PlemolJP_HS全角スペースを可視化しない (Hidden Space) バージョン
PlemolJP_NFNerd Fonts 対応版 (ターミナル用)

Nerd Fontsを使うと、無機質なターミナルの見た目をカラフルに変更できます。導入に多少の手間はかかりますが、ターミナルをイケてる感じにしたい方にはおすすめ。

なおWindowsで使うにはWindows TerminalPowerShell 7以上が必要。詳しくはこちらの外部記事が参考になります。

[PowerShell] Oh my Posh (Powerline) を使ってPowerShellコンソールをおしゃれにカスタマイズする | DevelopersIO
しばたです。 BashやZshなどのシェルではPowerlineをつかってコンソールのプロンプトをおしゃれにカスタマイズすることができます。 (上図はこれから説明する内容を実施した後の結果ですが、こんな感じの表示ができる …

どのフォントをインストールするか?

ダウンロードしたファイルを解凍すると、通常バージョンとHSでは4つのフォルダが出現。(NFはこのうちターミナル用の2種類)

フォントファミリ特徴と用途
PlemolJP1バイト文字はPlex Mono、2バイト文字はPlex Sans JP
プログラミング用途に幅広く使える
PlemolJP35文字幅比率 半角3 : 全角5
Source Han Code JPやSource Han Monoが好きな方向け
PlemolJPConsoleターミナルでの利用に特化。記号類は半角で表示したい方向け
PlemolJP35Console文字幅比率 半角3 : 全角5

さらに各フォルダには8種類のウェイトとイタリック (斜体) を含み、フォントファミリ1つで全16ファイルという多彩なバリエーション。
「とりあえず試したい」という方は通常版をダウンロードし、PlemolJPフォルダから『PlemolJP-Regular.ttf』のみインストールすればOK。斜体も使いたい場合は、同じフォルダの『PlemolJP-Italic.ttf』をインストールしましょう。

各ウェイトと特徴的な斜体に関しては上記のGitHubページに記載されているので、そちらをご覧ください。

フォント比較 (ASCII文字)

フォントの紹介をサクッと終えたところでココからが本題。実際にテキストエディタで文字を打ち込み、PlemolJPと他フォントとの比較を行います。
エディタはWindowsのVisual Studio Code、フォントサイズは16で固定。

まずはASCII文字 (欧文フォント) に絞って見ていきましょう。

PlemolJP vs IBM Plex Mono vs PlemolJP35

PlemolJPのASCII文字に採用された欧文フォントは『IBM Plex Mono』。しかし当然ながら、何も手を加えずにそのまま使用しているわけではありません
PlemolJPは元々のフォントにどのような調整を施したのか?

真ん中がPlex Mono。文字幅は通常のフォントより広く、PlemolJP35と同等。
文字幅を考えると若干面長な印象を受けるPlex Mono。そのアゴを削って整形したようなPlemolJP35といった感じ。

より変化が分かりやすいのは数字でしょう。PlemolJP35の数字はPlex Monoに比べて、かなり縦長の印象が薄れています。
PlemolJPは文字幅が狭くなった分、Plex Monoに近いフォルム。

PlemolJP vs 白源

次に同じ作者である『白源』のASCII文字と比較してみましょう。

アルファベットの「i」や小文字の「L」を見れば一目瞭然ですが、白源のASCII文字に採用されたHackは、全体的に曲線を意識した柔らかめのフォントです。
和文フォント『源柔ゴシック』とのマッチングを考えての採用でしょう。

パイプ文字 (縦線) の分割やチルダ (~) の曲線など、単純に判読性で言えば白源か。ただ@や#、%といった記号の収まりはPlemolJPの方がより自然に溶け込んでいる感じ。

GitHub - yuru7/HackGen: Hack と源柔ゴシックを合成したプログラミングフォント 白源 (はくげん/HackGen)
Hack と源柔ゴシックを合成したプログラミングフォント 白源 (はくげん/HackGen). Contribute to yuru7/HackGen development by creating an account on GitHub.

PlemolJP vs Myrica

ASCII文字にInconsolataを採用し、細部を調整した『Myrica』との比較。このInconsolataは、その他のプログラミング用フリーフォントでも広く利用されています。

スタンダードなだけあって見やすく素直なInconsolata。ただ環境によっては若干かすれが気になるかも。
PlemolJPと比較すると「0」の斜線やチルダの位置、ダブルクオート (“) の形や「D」の横棒など、細かく見ればかなりの違いがあります。

プログラミングフォント Myrica
プログラミング用フォント MyricaMyrica (ミリカ)は、フリーなプログラミング用 TrueType フォントです。視認性、判別性 が高くなるように、複数のフォントファイルを元に合成/修正しました。フォントの特徴多くの特徴をプログラ

PlemolJP vs Cascadia Code vs PlemolJP35

2019年9月にMicrosoftが公開した合字 (リガチャ) 対応の欧文フォント Cascadia Codeとの比較。

Cascadia Codeの文字幅はPlemolJP35とほぼ同等です。
Hack同様、丸みを帯びたフォルムが特徴的ですが、こちらはしっかりと角ゴシックの輪郭を持ちます。
どちらもクオリティは高く、正直ここまでくると好みとしか言いようがありません。

和文フォントを別で指定する必要がありますが、合字に興味のある方は試してみるのもいいでしょう。

GitHub - microsoft/cascadia-code: This is a fun, new monospaced font that includes programming ligatures and is designed to enhance the modern look and feel of the Windows Terminal.
This is a fun, new monospaced font that includes programming ligatures and is designed to enhance the modern look and feel of the Windows Terminal. - microsoft/...

PlemolJP vs MSゴシック

ASCII文字比較、最後はMSゴシック。

やはりMSゴシックの表示は前時代的。特に「h」に引きずられてる感じの「g」が気に入らない
「MSゴシックしか知らない」「使ったことがない」という方は、これを機会に他のフォントも試してみてはいかがでしょうか?

フォント比較 (2バイト文字)

続いて2バイト文字である和文フォントを比較。
比較対象はプログラミング用フリーフォントのルーツとして代表的な源ノ角ゴシックとM+、その等幅フォントである『Source Han Mono (源ノ等幅) 』と『Mplus 1 Code 50』です。

2バイト文字の比較ということで、今回は川端康成の小説「片腕」の冒頭を入力してみました。
最初にSource Han Monoとの比較から見ていきましょう。

PlemolJP vs Source Han Mono

上がPlemolJP、下がSource Han Mono。

それぞれの文字のキャラクターはあまり大きな差を感じませんが、ポイントは2つ。
1つは全角スペース。PlemolJPの下から2行目の頭、点線の□で表示されているのが全角スペースです。この表記によって、半角スペース×2なのか全角なのかを見分けやすいのもPlemolJPの特徴となっています。

もう1つのポイントは……お気付きになったでしょうか?

フォントサイズを固定しているにもかかわらず、PlemolJPとSource Han Monoでは一行に収まる文字数が大幅に違うんです。冒頭部分を拡大してみましょう。

フォントサイズ自体は確かに同じです。しかしPlemolJPでは文字と文字の間を大きく取っているため、一行に収まる文字数が少なくなっています。
これが文章全体を俯瞰したときに感じる印象の違い、その大きな要因です。どこかスッキリとして落ち着いた味わいが出てくる反面、画面の情報量をできるだけ増やしたい場合には不向きかも。

GitHub - adobe-fonts/source-han-mono: Source Han Mono | 思源等宽 | 思源等寬 | 思源等寬 香港 | 源ノ等幅 | 본모노
Source Han Mono | 思源等宽 | 思源等寬 | 思源等寬 香港 | 源ノ等幅 | 본모노 - adobe-fonts/source-han-mono

PlemolJP vs Mplus 1 code 50

最近アップデートされ、公開サイトをGitHubに移したM+との比較。

こちらはSource Han Monoとは違い、文字単体のキャラクターの違いがはっきり区別できます。
フォーマル寄りのPlemolJPに対し、ややポップなM+といったところでしょうか。こちらも一部拡大してみましょう。

「を」や「め」など曲線が目立つひらがなで、よりその違いが実感できるはずです。

GitHub - coz-m/MPLUS_FONTS: M+ FONTS
M+ FONTS. Contribute to coz-m/MPLUS_FONTS development by creating an account on GitHub.

フォント比較 (判読性)

最後に判読性比較。プログラミング用フォントとしてはかなり重要な要素ですが、果たしてPlemolJPは他のフォントと比較して、似ている文字が見分けやすいのかどうか

今回比較する文字列は以下の通り。

  • 数字の1、小文字のL、大文字のi、パイプ文字
  • 数字の0、大文字のo
  • バッククオートとシングルクオート
  • 漢字の夕、カタカナのタ
  • 漢字の工、カタカナのエ
  • 漢数字の一、長音のー
  • 漢数字のニ、カタカナのニ
  • 濁音と半濁音

前半戦はMSゴシック、HackGen、PlemolJP、Myrica、Source Han Monoの順で比較。特に工夫が感じられる部分は○で囲っています。

『文字の見分けやすさ』という観点で見た場合、PlemolJPはそこまで特徴があるとは言えないようです。この点を重視するならMyricaや白源か。
特に白源の濁音は見やすく、ストレスを全く感じません。

続いて後半戦。ラインナップはRicty Diminished Discord、Nasuフォント、PlemolJP、Mplus Code Latin 50、Cicaの5つです。

個人的に注目したいMplusのパイプ文字。上下に分割して判読性を高めた白源やMyrica、Ricty Diminished DiscordやCicaに対し、線の長さを長くすることによって見分けやすくするという独自の手法をとっています。

全体的な判読性で言えば、この中だとやはりNasuフォントが一番ではないでしょうか。さすが那須与一の名を取っただけあり、判読性に対する飽くなき探究心が見て取れます。

プログラミング用フォント Ricty Diminished
Nasuフォント : 見た目が似ている文字を判別しやすくするフリーフォント - itouhiroはてなブログ
Nasu(ナス)フォントを作成しました。

総括

今回は新しい『PlemolJP』と他フォントとの比較を中心にお届けしました。こうしてみると、プログラミング用と銘打たれたフォントの中にも、いくつかの方向性の違いがあるのが分かります。

  1. 汎用性重視 (PlemolJP、Source Han Monoなど)
  2. 判読性重視 (白源、Myricaなど)
  3. 情報量重視 (文字幅が狭いNasuフォントなど)

アプリケーションも同様ですが、「どんな人にもハマる完璧なフォント」など存在しません。だからこそフォントの世界は奥深く、そして楽しい。
それぞれの特性を理解し、時と場合によって使い分けるのが肝要です。

フォントとは、小さなアートの集合体である。

それではこのへんで。またお会いしましょう。

プログラミング用フォントの選び方とおすすめ無料フォント
Visual Studio CodeやAtom、Android Studioなど...
タイトルとURLをコピーしました