« Nexus 7 2013 LTEモデルをLollipop (Android 5.0.2) にアップデート | トップページ | HDL2-G2.0からAS-202TEへのデータ移行 »

2015.02.08

WindowsとMacのターミナル用フォントに関する考察

以前、WindowsにRictyフォントを導入しました。ただし、Windows環境下ではRictyフォントは欠け欠けになることから、併せてMacTypeを導入しました。
ThinkPad E440をとりあえず設定する(その3) - cygwin、フォント設定等 -
しかし、MacTypeはOSのレンダリングシステムに関わるソフトウェアであり、事実、セキュリティソフトやWindows Update等に影響を与えるケースがあるようで、gdi乗っ取り系ソフトであるMacTypeを常用することには一長一短があります。できればOSの設定を使って日常使いとしたいという思いがあります。

そこで、レンダリング方式を変えるとフォントの見え方がどのように変わるものか調査しました。
特に、ターミナル上での操作やコーディングでは文字を比較的小さく表示させることから、漢字を含む文字列を小さな字形で表示させた時にどのようにアンチエイリアシングがかかるのか、見ていくことにします。

Web上には、フォントのレンダリングとレンダリング方式に応じたフォントの考察についての考察が見られます。
特に、次のサイトが参考になりました。
文献1.2013年後半のプログラミングフォント事情:色々日記(ざ・めも))
文献2.Font smoothing, anti-aliasing, and sub-pixel rendering:Joel on Software
文献3.Type rendering on the web:Adobe Typekit Blogシリーズ記事。特に、2nd Articleを参照。
ありがとうございます。

以下、MacはOS X Yosemite、WindowsはWindows 8.1とします。
文献1及び文献3(2nd)を参考に、表示条件を整理してみます。
1−1.Macのアンチエイリアシングなし
1−2.Macのアンチエイリアシングあり
2−1.Windowsのアンチエイリアシングなし
2−2.WindowsのClearType
2−3.Windowsの標準アンチエイリアシング
2−4.WindowsのMacType
フォントサイズは12ポイントと18ポイントで試します。そして、キャプチャした画像を5倍に拡大して比較することにしました。
表示させる文字列は「葡萄Grapeグレープ」とし、使用するフォントは、Mac及びWindowsの双方でRictyとVLゴシック。加えて、WindowsではMSゴシックを使用しました。
ただし、MacとWindowsではポイントあたりのピクセル数が異なることに注意が必要です。MacとWindowsで比較するなら、Macの18ポイントとWindowsの12ポイントとを比較するのが、スケールが近いです。
また、画面キャプチャ時にJPEGに一旦落としたからか、画像にJPEG特有の染みが出ているところがあります。また、領域選択が細かい作業となり、上の文字列の一部が入り込んでいるところがあります。この点、ご容赦ください。

※ 最近はある程度調整可能になっているようですが、ここでは、ドットとインチの関係は、かつての標準の値である、Macでは72dpi、Windowsでは96dpiとして扱っています。よって、8ポイント、12ポイント、18ポイントは、各々Macでは、8ピクセル、12ピクセル、18ピクセルとなり、Windowsでは、約12ピクセル、16ピクセル、24ピクセルに換算できます。
※ 以下の画像は同じ大きさに縮小されて表示されてますが、各々のイメージをクリックするとオリジナルサイズで表示されます。

1−1.Macのアンチエイリアシングなし
OS X純正のターミナルソフトで「葡萄Grapeグレープ」を表示させました。

Macrictynon12pt5times
Rictyフォント 12ポイント 欠け欠けで、見られたものではありません…

Macrictynon18pt5times
Rictyフォント 18ポイント 「葡萄」の形は大体再現出来てます。

Macvlgothicnon12pt5times
VLゴシックフォント 12ポイント Rictyに比べると再現性が高いです。

Macvlgothicnon18pt5times
VLゴシックフォント 18ポイント 「葡」の中が分離されています。

1−2.Macのアンチエイリアシングあり
Macrictyalias12pt5times
Rictyフォント 12ポイント sub pixel効果により、色味がかっていることが分かります。アンチエイリアシングなしで欠けていたた部分はぼけた感じになっています。

Macrictyalias18pt5times
Rictyフォント 18ポイント 

Macvlgothicailas12pt5times
VLゴシックフォント 12ポイント 

Macvlgothicalias18pt5times
VLゴシックフォント 18ポイント 

2−1.Windowsのアンチエイリアシングなし
ターミナルソフトにminttyを使って表示させました。

Winrictynon312pt5times
Rictyフォント 12ポイント ところどころ欠け欠けになっています。

Winrictynon318pt5times
Rictyフォント 18ポイント

Winvlgothicnon12pt5times
VLゴシックフォント 12ポイント 結構普通に見られます。

Macvlgothicnon18pt5times
VLゴシックフォント 18ポイント

次に、MSゴシックを使って表示させます。17ポイント未満ではビットマップフォントとして、17ポイント以上でアウトラインフォントとして扱われるそうです。

Winmsgothicnon12p5times
MSゴシックフォント 12ポイント さすがビットマップフォント。文形が細部まで潰れることなく表示されています。

Winmsgothicnon18pt5times
MSゴシックフォント 18ポイント 面白いことに、12ポイントに比べて潰れてた箇所ができています。


2−2.WindowsのClearType
Clear Typeは、sub pixelを駆使して横方向の解像度を上げたものです。また、縦方向のアンチエイリアシングはかからず、Clear Typeの名のとおり、エッジを効かせたとでもいうんでしょうか。

Winrictycleartype12pt5times
Rictyフォント 12ポイント 縦方向のアンチエイリアシングが効かないため、横方向が欠けていると欠けはそのままに表示されてしまいます。

Winrictycleartype18pt5times
Rictyフォント 18ポイント

Winvlgothiccleartype12pt5times
VLゴシックフォント 12ポイント

Winvlgothiccleartype18pt5times
VLゴシックフォント 18ポイント

Winmsgothiccleartype12pt5times
MSゴシックフォント 12ポイント ビットマップフォントにはアンチエイリアシングはかからない仕様のようです。

Winmsgothiccleartype18pt5times
MSゴシックフォント 18ポイント


2−3.Windowsの標準アンチエイリアシング
Windows 8.1でClear Typeのチェックを外すと、グレースケールのアンチエイリアシングとなります。

Winrictystd12pt5times
Rictyフォント 12ポイント 縦方向のアンチエイリアシングがかかるので、欠け部分の見方が改善されます。

Winrictystd18pt5times
Rictyフォント 18ポイント

Winvlgothicstd12pt5times
VLゴシックフォント 12ポイント

Winvlgothicstd18pt5times
VLゴシックフォント 18ポイント

Winmsgothicstd12pt5times
MSゴシックフォント 12ポイント ビットマップフォントにはアンチエイリアシングはかからない仕様のようです。

Winmsgothicstd18pt5times
MSゴシックフォント 18ポイント


2−4.WindowsのMacType
gdiを乗っ取ってレンダリングしてくれるMac Typeを使って表示させます。Mac TypeはDefault設定としました。

Winrictymactype12pt5times
Rictyフォント 12ポイント 確かに、Macテイスト。

Winrictymactype18pt5times
Rictyフォント 18ポイント

Winvlgothicmactype12pt5times
VLゴシックフォント 12ポイント

Winvlgothicmactype18pt5times
VLゴシックフォント 18ポイント

Winmsgothicmactype12pt5times
MSゴシックフォント12ポイント Mac Typeを使うと、ビットマップフォントに対してもアンチエイリアシングしてくれます。

Winmsgothicmactype18pt5times
MSゴシックフォント 18ポイント

Mac Typeの問題点は、GUIのメニューの文字列を含めアンチエイリアシングがかかって、全体がぼやけた感じになること。アンチエイリアシングがかからないビットマップフォントやClearTypeに最適化されたフォント含めてぼやけた感じになるので、それを嫌う人もいるんじゃないかと思います。WindowsでRictyを使うためにMacTypeを導入するのがいいのか、考えてしまいます。もちろん、Windowsのデスクトップ全体にMac Typeのレンダリングを適用して気に入る人もいるとは思うのですけれども。

3−1.おまけ(その1)
これまでの例は、小さいフォントサイズで、漢字を含む細かい文字をいかに表示できるのかを確かめたものです。なので、そもそも字形を再現するレベルのピクセル数ではないですしね。

それでは、RictyとVLゴシック本来の字形は、どのようなものでしょうか。
72ポイントで表示してみます。
※ イメージをクリックすると、オリジナルサイズで表示されます。

Macrictyalias72pt2
Mac Rictyフォント 72ポイント アンチエイリアシングあり

Macvlgothicalias72pt2
Mac VLゴシックフォント 72ポイント アンチエイリアシングあり

Winrictycleartype72pt
Windows Ricty 72ポイント ClearType

Winvlgothiccleartype72pt
Windows VLゴシックフォント 72ポイント ClearType

3−2.おまけ(その2)
このような実験をするうちに、昔のフォントの状況を思い出しました。
90年台当時のPC環境は、画面のドット数がそもそも少なく、少ないピクセル数(粗い解像度)でも読めるフォントがいくつか発表されていました。私は恵梨沙フォントを愛用しておりました。ピクセル数は8x8ピクセル!
もはや、字形を正確に表示するという状況ではなく、少ないドット数でいかに視覚的に識別可能な文字を作るか、に注力されたフォントです。いわゆる「嘘字」ですね。心眼で見るというか…

恵梨沙フォントのTrueTypeフォントは見つかりませんでしたが、HP100LXなどで使用されていた美咲フォントのTrueTypeフォントが提供されておりました(!)ので、試してみました。(ここまでくると本来の目的からずいぶん外れているような…)

※ イメージをクリックすると、5倍に拡大したイメージを表示します。

3-2-1.美咲フォント
Winmisakigothiccleartype8pt5times
美咲フォント 8ポイント ClearTypeあり 本来の8ピクセルよりは若干多めのピクセル数になっております。

Winmisakigothicnon8pt5times
美咲フォント 8ポイント アンチエイリアシングなし フォントの字形がビットマップフォントに最適化されているため、やはりアンチエイリアシングは無効にした方がしっくりきます。

3-2-2.メイリオ系フォント
メイリオを元にMeiryoKeフォントを合成し、MeiryoKe Consoleフォントを試してみました。
メイリオはClearTypeに最適化して作られており、細かい文字まで表示できるようになっています。

Winmeiryokeccleartype8pt5times
MeiryoKeConsoleフォント 8ポイント ClearType これは、すごい…頑張って表示してくれます。

Winmeiryokeccleartype12pt5times
MeiryoKeConsoleフォント 12ポイント ClearType

※ メイリオフォントを加工して使用するのは、厳密にはおそらくライセンス違反です。今回の実験にあたり比較のために作成しましたが、運用時には使用を控えることにします。(0とOの違いがつきにくいことも、ターミナルソフト用フォントに採用しない理由です)

4.結論
文献2及び文献3にありますが、アンチエイリアシングのテースト付けには正解はなく、MacはDTP用途の出自があり、Windowsは当時の解像度のディスプレイで読みやすいフォントを作る試みがあり、このような歴史の経緯から、各々の方式に至ったものと考えられます。

そして、Rictyのように、少ないピクセル数では欠けが出てしまう性質を持ったフォントは、ClearTypeのような縦方向のアンチエイリアシングがかからないレンダリング方式では補完がかからないことが確かめられました。
レンダリング方式に合った(または意識して作成された)フォントを使うのが一番いいという、ある意味当然の結果になったと思います。そして、自分にとってはVLゴシックがバランスが良かったです。

結局、自分の環境で使用するフォントですが、次のようにしました。

Macでは、ディスクトップでWindowsノートPCに比べてディスプレイサイズや解像度の制約が緩いので、ターミナルソフトiTermでは、Ricty(アンチエイリアシングあり)14ポイントを使うことにしました。Rictyの文字の視認性の良さは気に入ってますし。

一方、Windowsノートでは、MacTypeはTrayモードで利用することにして、システム起動時にMacTypeを起動しない設定にして必要なときのみ起動することにし、通常はOS標準のClearTypeを使用することにしました。そして、ターミナル用フォントとして使う上で、自分にとってはMSゴシックの数字の0とアルファベットOの区別がつきにくいところは致命的であることから、当面の間、ターミナルソフトではVLゴシック12ポイントを使うことにしました。

ディスプレイの高密度化が進んでいる昨今、Retinaディスプレイやいわゆる4Kディスプレイのような超高解像度ディスプレイが今後普及するにしたがい、アンチエイリアシングの重要性は下がっていくと思われます。
もちろん、ディスプレイ上の文字がドットで表現される以上、アンチエイリアシングは使われ続けられていくのですが、ディスプレイの高密度化や表示方式の変遷とともに、アンチエイリアシングの考え方も変わっていくかもしれませんね。

|

« Nexus 7 2013 LTEモデルをLollipop (Android 5.0.2) にアップデート | トップページ | HDL2-G2.0からAS-202TEへのデータ移行 »

パソコン・インターネット」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.f.cocolog-nifty.com/t/trackback/1024423/58806527

この記事へのトラックバック一覧です: WindowsとMacのターミナル用フォントに関する考察:

« Nexus 7 2013 LTEモデルをLollipop (Android 5.0.2) にアップデート | トップページ | HDL2-G2.0からAS-202TEへのデータ移行 »