MacType と蒼き朧月

その他
[ MacType と蒼き朧月 ]

Windows の文字描画を改善させる MacType と、相性バッチリのブラウザ Pale Moon に触れたいと思います。

MacType

MacType 自体については、多くの方がご存知だと思います。インストール方法やブラウザへの適用方法などは、Google などで検索すればすぐに見つかるでしょう。正式版の最終リリースから何度か Windows 10 の大型アップデートを挟んでいるので、気になる方は GitHub でのベータ版 をチェックすると良いかもしれません。

iniプロファイルの各項目に関しては、MacType wikiMacTypeの日本語訳プロファイル (ini) などが参考になると思います。

検証パターン

Yu Gothic UIメイリオ游ゴシックNoto Sans CJK JP
コンピューターの世界が広がります。コンピューターの世界が広がります。コンピューターの世界が広がります。コンピューターの世界が広がります。
コンピューターの世界が広がります。コンピューターの世界が広がります。コンピューターの世界が広がります。コンピューターの世界が広がります。
コンピューターの世界が広がります。コンピューターの世界が広がります。コンピューターの世界が広がります。コンピューターの世界が広がります。
コンピューターの世界が広がります。コンピューターの世界が広がります。コンピューターの世界が広がります。コンピューターの世界が広がります。
Segoe UIArialOpen SansTimes New Roman
The Quick Brown Fox Jumps Over the Lazy Dog.The Quick Brown Fox Jumps Over the Lazy Dog.The Quick Brown Fox Jumps Over the Lazy Dog.The Quick Brown Fox Jumps Over the Lazy Dog.
The Quick Brown Fox Jumps Over the Lazy Dog.The Quick Brown Fox Jumps Over the Lazy Dog.The Quick Brown Fox Jumps Over the Lazy Dog.The Quick Brown Fox Jumps Over the Lazy Dog.
The Quick Brown Fox Jumps Over the Lazy Dog.The Quick Brown Fox Jumps Over the Lazy Dog.The Quick Brown Fox Jumps Over the Lazy Dog.The Quick Brown Fox Jumps Over the Lazy Dog.
The Quick Brown Fox Jumps Over the Lazy Dog.The Quick Brown Fox Jumps Over the Lazy Dog.The Quick Brown Fox Jumps Over the Lazy Dog.The Quick Brown Fox Jumps Over the Lazy Dog.

閲覧環境によって、ローカルに Noto Sans CJK JPOpen Sans は無いかもしれませんが、Webフォントとして使われ事があるので含めてみました。Windows 10 以外では、フォントが見つからなくて同じに見えるかも知れません。

表のクリックでイタリック体と切り替わります。文字の大きさは 11pt で [コントロールパネル]-[フォント]-[ClearType テキストの調整] のサンプルと同じ大きさです。メイリオのイタリック体に関しては後述します。

調整で注意するポイント

  • 輪郭の滑らかさ・ソフト感・クッキリ感のバランスが良好なこと。
  • デザイン以上に、過剰に太すぎたり細すぎたりしないこと。
  • 配色によらずウェイト感が保たれること。
  • カーニングが不自然になっていないこと。

どのフォントでも、概ねこれらが満たされるようにしたいところです。

好みのフォントの好みの配色以外でイマイチになる場合、改善の余地があると思います。

Webフォントを念頭に

好みのフォントを念頭に、全般 (General) を設定してしまうと、日本語の本文に Webフォント を適用しているサイトなどで、潰れたり擦れたりして読みにくくなります。

Webフォントは、閲覧環境を問わずデザイナーが意図するフォントを表示できる、と説明されがちですが、フォントがどのようにレンダリングされるかが環境次第なことは、よく訓練された MacType 使いのみなさまにとっては当然のことでしょう。

Webフォントの適用を完全に無効にするとアイコンフォント等でのナビゲーションに支障が出るため使わざるを得ないのですが、MacType では個々のWebフォントを識別しての個別のチューニングは施せません。全般 (General) の設定ではデザイン相応のウェイト感のままにして、インストール済みのフォントへは個別 (Individual) の設定で詰めていくアプローチがオススメです。

比較画像

2秒毎に ClearType / MacType Hinted / MacType NoHint を切り替えて比較する GIF 画像です。概ねウェイト感を保ったまま、斜めや曲線の字画が滑らかになっていると思います。

ClearType と MacType の比較画像

改めて見ると、Yu Gothic UI, 游ゴシック の ClearType が大健闘していますね。「はらい」の部分以外は粗が目立ちません。メイリオ はビットマップに近いギザギザ感からの変化が分かりやすく、ClearType よりも MacType で真価を発揮するフォントに思えてしまいます。Noto Sans CJK JP は要注意で、ウェイト感が変わってしまっています。CFF/PostScript 形式の OpenType フォントでは高いコントラスト(シャープな側)に固定されているのかも知れません。

欧文フォントでは、Arial はイタリック体でより顕著ですが、カーニングが不自然になっています。Times New Roman は、太字は幾分マシですが、解像度が不足して仕方がない感じですね。Segoe UI, Open Sans は、ヒンティングの有無が x-height や e の横画に素直に表れています。

一応、ClearType 側もそれなりに調整したつもりのものです。ちなみに、[コントロールパネル]-[フォント]-[ClearType テキストの調整] での内容は、レジストリの HKEY_CURRENT_USER\Software\Microsoft\Avalon.Graphics\DISPLAY1HKEY_LOCAL_MACHINE\Software\Microsoft\Avalon.Graphics\DISPLAY1 にあります。ClearType レジストリの設定 などを参照しながら、レジストリエディタで直接弄った方が分かりやすい気がします。

全般 (General) の設定

前述しましたが、全般ではお気に入りのフォントに特化せずに、互換性とオールラウンドを重視して設定するのがオススメです。

HintingMode と AntiAliasMode と HintSmallFont

  • AntiAliasMode は液晶モニタ用の 4 か 5。
  • HintSmallFont=1 を利用して、小さな文字サイズでは「ヒンティング使用」に。
  • 一定以上の大きさの文字は、グリッドフィットの恩恵より歪みや不均一さが目立つので HintingMode=1 で「ヒンティングなし」に。

ほとんど隙のない、良い組み合わせだと思います。

HintSmallFont は 12pt 未満でフォント内のヒンティングが適用される旨が記されていますが、自分のブラウザ環境のメイリオでは 11.5px (約8.6pt) 前後が境になっていました。ピクセル単位で四捨五入して 12px 未満なのかな?

GammaValue

検証パターンで反転させた配色で異なる字画の太さに見えたら、ガンマ調節の出番です。

小さくすると真っ黒く、大きくすると薄くなります。液晶モニタによっては、ちょっとした姿勢や顔の角度の違いでも具合が変わって見えるので、ピッタリ以外でも見づらくならないように、余裕を持たせた調節にしましょう。

Contrast

小さくするとボカシ気味に太くなって、大きくするとシャープに細まりますが、自然に見える輪郭のサブピクセルレンダリングという観点では、あまり弄らない方が良いと思います。

TextTuning を増やす際に、僅かに減らすとウェイト感を保ちやすいです。

RenderWeight

デザイン相応のウェイト感になっていれば、ここも大きくは変えない方が無難だと思います。

TextTuning を増やす際に、僅かに増やすとウェイト感を保ちやすいです。

TextTuning と TextTuningR, TextTuningG, TextTuningB

AntiAliasMode によって、RGB共通と、各チャンネル毎の設定、どちらも参照されるようです。グレースケール相当の AntiAliasMode は使わないかも知れませんが、念のため同様の値が良いかもしれません。

増やしすぎると、小さな文字サイズで字画がおぼろげになります。輪郭のサブピクセルの色味を低減させやすい項目です。ClearTypeLevel では不可能な調整ができます。

フォント個別 (Individual) の設定

フォント毎に異なる HintingMode, AntiAliasMode, NormalWeight, BoldWeight, ItalicSlant, Kerning を設定できます。

ローカルの特定のフォントの描画の調整は、ここで行いましょう。

注意点

フォント名は英語名でなく使用中の言語名で記述する必要があるようです。Meiryo だと効かなくて、メイリオ だと効きます。

iniファイル自体の文字コードは、メモ帳での ANSIUnicode にしましょう。UTF-8Unicode big endian では認識しません。

OTF 形式(内部が CFF/PostScript な OpenType 形式)のフォントに対しては、個別の設定が働かないようです。MacType Tuner の [その他]-[独立プロファイル] でのフォント選択一覧でも TrueType 形式の書体しか現れません。

Regular と Bold の他のウェイトを持つフォントと NormalWeight, BoldWeight の関係も少し気になりますね。

動作に関する設定

起動モード

色々な一長一短があって、複数の起動モードが用意されていますが、私の環境では [MacTray ロード]-[独立モード] が最も安定しているように感じます。

サービスモードではエクスプローラなどに効いてくれませんでした。

有効にするプロセス

UseInclude=1 にして、MacType を有効にするプロセスを [IncludeModule] で個別に指定することを強くお勧めします。

システムの安定稼働を考えると、未確認のアプリや OS のプロセスに自動で掛かるのは、リスキーだと思います。

ディレクトリ違いの同じ実行ファイル名などが気掛かりですが、ブラックリスト方式よりは安心だと思います。

その他

Arial病

Issue#17 の現象だと思うのですが、カーニングの不自然さが際立つ文字サイズがあります。例えば Arial の 8pt で表示した Windows10 の w と s の間など。

Arial 8pt "Windows10"

ウェブサイトでの Arial 使用率を考えると、何とかしたいところです。

フォント自体を削除してしまう選択肢は採りたくありません。ClearType 描画に甘んじるのも Google の検索結果などで頻繁に目にするので良い解決策になりません。[FontSubstitutes] を使うと、字が被ったり字間が開いたりして、余計におかしくなります。

結局、普段使いのブラウザでは、ユーザースタイルシートでのフォント置換で対処しました。

@font-face {
  font-family: Arial;
  src: local('Segoe UI');
}

@font-face {
  font-family: Arial;
  font-weight: bold;
  src: local('Segoe UI Bold');
}

@font-face {
  font-family: Arial;
  font-style: italic;
  src: local('Segoe UI Italic');
}

@font-face {
  font-family: Arial;
  font-weight: bold;
  font-style: italic;
  src: local('Segoe UI Bold Italic');
}

MacType と相性の良いブラウザを求めて

Google Chrome / Chronium 系

Google Chrome が、高速化のために独自に開発したフォントレンダリングで文字描画していることは、よく知られていると思います。

DirectWrite での文字描画を無効に出来なくなった Google Chrome の代替としては Cent Browser という選択肢がありますが、やはりガンマの掛かり方が他のアプリケーションと異なります。[General@chrome.exe] で個別に調整を加えても、反転した配色へのガンマの影響が逆転しているように見えます。

5年以上前の AMD の GPU 統合型 CPU との相性なのかも知れませんが、ブラウザそのものが GPU のハードウェアアクセラレーションや他のアプリケーションを巻き込んで頻繁にクラッシュしやすくて、日常では使わなくなりました。

Electron 系

より根本的には、文字描画を満足に調節できない Google Chrome を含む Electron 系アプリ全体が、コーディングや文章の読み書きを主体とした用途に不向きのように思えます。文字サイズによっては U+007C | の羅列が、1文字毎にサブピクセルの占め方が異なる描画になります。画像は Adobe Brackets で 源ノ角ゴシック Code JP を 16px で表示したものと、部分拡大です。Windows でも Linux でも同様になります。

Adobe Brackets (Electron系のテキストエディタ)

異なる具合に描画されて、知覚的にも微妙に違って見える表現を、疑いようもなく同じ文字だと無自覚にストレスなく認識できる人は幸せかも知れません。ちょっと違って見えるけれど同じ文字、と気付いてしまって飲み込む、その一瞬の判断自体が、煩わしくて思考の邪魔で不快なのです。

Skia が有効なデフォルト状態の Firefox も同様なのですが、幸いにして about:config から無効にできます。そこは Firefox の良いところです。……が、しかし!

Firefox 系

Firefox には、イタリック体の メイリオ を独自に斜体化する処理が入っています。この部分に MacType は効きません。

メイリオ の日本語部分にはイタリック体でも標準 (Regular) と同じ字形が割り当てられている仕様なのですが、それを不服と感じた方々がいらっしゃったようです。その結果、メイリオ はもちろん、MeiryoKe_Gothic などまで低品質なギザギザ斜体に。ちなみに Meiryo UI へは、この独自の斜体化処理が入らないようです。不思議ですね!

ソースコードを meiryo で検索 してみたのですが、ピンポイントにハードコーディングされていて、設定等で無効にできない模様です。

Google Chrome に続いて Firefox までもが独自のフォント処理で NG になりました。

Pale Moon

そこで、Firefox と同系統ながらも独自路線に舵を切ってメンテナンスされている Pale Moon を推したいと思います。「青白い月」とか「おぼろ月」とか、そんなニュアンスっぽいです。この記事のタイトルはアレっぽいですが。

初めて使う際は、Pale Moon 日本語化 などと調べれば、すぐに紹介記事が見つかるでしょう。

現在使っているアドオン (Extensions) は次のもの。

ウィンドウやタブを50以上開いていても滅多にクラッシュしません。Firefox と比べても堅牢だと思います。

終わりに

というわけで、どんなWebフォントが来ても、それなりにストレス無く閲覧できる MacType 環境を目指していたら、Pale Moon に辿り着いた、という話でした。

それでは、ごきげんよう!

コメント

タイトルとURLをコピーしました