遠近法ノート

本好きのデザイナー、西岡裕二の日記帳なのです。デザインと読書について書くはず。

等幅半角の欧文フォント「Noto Sans Mono Extra Condensed」

最近発見したんですけども、Google Fontsにある「Noto Sans Mono Extra Condensed」って等幅かつ半角の欧文フォントなんです。


なぜ今まで誰も気がつかなかったんだ……。
プログラミング向けの等幅フォントであるNoto Sans Monoには、標準のほか、Semi Condensed/Condensed/Extra Condensedがあります。書体でコンデンスっていうのは幅が狭いタイプのことです。4書体それぞれに9ウエイトのファミリーを持っている書体群だったんですね*1。このうちExtra Condensedは最も幅がタイトで、幅は和文全角のちょうど半分。つまり等幅半角だったんです。

fonts.google.com

リンク先には標準のサンプル画像しかないですが、Download famiyのボタンでDLして解凍すれば、中のstaticフォルダにフォントファイルが入っています。

とりあえず先にエディタでの使用法を解説

では実際にエディタで「Noto Sans Mono Extra Condensed」を使ってみます。VS Codeでの設定はこうです。

表記の注意点として「ExtraCondensed」は間にスペースなし。「Medium」はウエイトなので、9ウエイトのうちお好きなものを(RegulerかMediumになると思いますけど)。
和文は游ゴシックMediumをあてましたが、こちらも自由に好みのものが使えます(MacWindowsの游ゴシックは別物なので名前表記に注意)。指定しなければデフォルトのMSゴシックなんかが表示されると思います。
書体名にスペースを含む場合は' 'で括る、日本語を含む場合は" "で括るというところはお約束。
お手軽に等幅半角の環境が構築できました。

そもそも等幅半角ってなんだ?

プログラミングには必須の等幅フォントですが、実は、等幅かつ半角の欧文フォントって、これまでほぼ存在しませんでした。
等幅なら半角に決まってると思い込んでる人もいます。でも、それは違います。
欧文フォントには全角とか半角とか無関係ですから、書体によって幅がまちまちです。一般的な欧文フォントなら、文字ごとに幅が違っています。
「半角」というのは正確には和文全角の半分のこと。全角幅を1とすれば半角の幅は0.5ということです。
等幅の欧文フォントなら文字幅は当然均等にそろえてありますが、それは半角ではなく、書体ごとに違った幅を持っています。
あらためて調べてみると、Vera Sans Mono以降のプログラミング向け等幅フォントは、たいていCourierと同じ0.6幅(つまり5文字で全角3文字分)にそろえてあるようです*2
で、Noto Sans Mono Extra Condensedは幅が0.5に設定されているわけです。

当方はプログラマーではなくて紙媒体のデザイナーです

理工系書籍をよく手がけています。
先にエディタでの使用法を解説しましたけど、普段はVS Codeとか使ってません。
プログラミング書の制作時、等幅半角が必要な時には、InDesignで長体をかけた合成フォントを作っていました。フォントはVera Sans Monoとその派生版*3か、最近ならRoboto MonoとかSource Code Proとか。長体83%とすれば、ほどよく等幅半角におさまるんです。
でもそれももう終わりで、今後は長体をかけずにNoto Sans Mono Extra Condensedを和文に合成すればいいですね。
それにしても、Vera Sans Mono以降、プログラミング向けの等幅フォントオープンソースで出るようになって、とてもたすかりました。それ以前は使える等幅フォントってCourierぐらいしかなかったです*4

等幅半角はデザイナー/組版者のこだわり?……いや、ちょっと違います

さてしかし、等幅半角に設定すると日本語のほうがかなりでかくなるので、プログラミング書でもあえて採用しないことのほうが多いんです。
等幅フォントはもちろん使うが、かならずしも等幅半角にはしません。
ソースコードの中に日本語はコメントぐらいしか入らないし、そこがズレても別に気にならない場合は、等幅半角とせず、等幅の欧文フォントをそのまま使えばいいわけです。日本語部分が大きく見えないよう、欧文を拡大して使うことすらありえます。
プログラミング書でソースコードを等幅半角にするのは、デザイナーのこだわりというよりも、著者ないし編集者、あるいは読者層の要望に合わせてのものです。
エディタで等幅フォントを使うプログラマーも、等幅半角にこだわりを持つのは一部です。他の多くの方々は「等幅だけど半角ではない欧文フォント」を普通に使っているようです。等幅半角は、環境によっては字間が詰まって(幅もタイトなので)見づらい場合があります。

等幅フォントなんていっぱいあるだろ」というツッコミへ

存じてます。まあ今は色々ありますよね、日本語込みのプログラミング向け書体。
それらはたいていオープンソース系のフォントを組み合わせた派生版だったりします。
判読しやすいように調整したり、欧文と数字に長体をかけて等幅半角にしたり、それなりに工夫が施されているようですので、エディタで使うぶんにはそちらでいいのでしょう。
MSゴシックとかOsakaとかはこちらでは扱っていないので、除外でお願いします。

 

 

というわけで、以上、Noto Sans Mono Extra Condensedは現状ほぼ唯一の等幅半角の欧文フォントだよっていうお話でした。

*1:ただしイタリックはなし。あまり出番もないけど。

*2:もちろん例外もあり

*3:WEB+DB PRESS』のためにDeja Vu Sans Monoの改変版を作ったりしたのもよい思い出です。Source Han Sansのパーツを利用してキーボードフォントも作ったな……。

*4:Courierは微妙に違うバージョンがいっぱいあって、入稿すると字が溢れるとかいう昔話もありました。