今更だけどChromeでAAがズレる問題(DirectWrite設定消失)への対応

結論から言うとJavaScriptの導入が楽ですのでそれ使いましょう。
読み込み時間がかかってきつい環境ならFirefoxにしましょう。

 

まずどうしてこんなズレが発生していたかふわっとした説明をすると、

ブラウザが「文字等を綺麗に表示する設定」を導入して文字とかを綺麗に表示し始めました。
要はみんなの画面が高解像度になってきたので普通に表示すると文字がガクガクしちゃうと。
じゃあそのガクガクしたのを、ブラウザが滑らかに補正しますよという機能が付いたわけです。
この補正するのが「DirectWrite」って子です。

 

本来画面の文字は全部ドットなのでイメージとしては白いマスと黒いマスでできてます。
ここで「綺麗にしてやんよ」とガクガクした段差を中間色のマスで埋めだします。
例えば横に白黒で5マス使う文字が灰色混じりで6マス使うようになってきます。
普通に読む分には文字がなめらかで綺麗に見えます…が。


そうなると困るのはAA作ったり使ったり読んだりしてる人たち。
何しろその1ドットで微調整してる界隈なので、その辺りのズレが致命的です。

 

これまでの具体的な対策としては以下の方法でした。

1. Chromeを諦めて他のブラウザにする
2. Chromeの設定変更(裏で設定されているDirectWriteを無効に)
3. AA用のフォント設定をしてくれるブックマークレットを使う

1はまあ論外として、2は当然効果的でした。3は毎回読み込む必要があるので手間と言えば手間。ただし、3の方法は「専用フォントを読み込んで表示する」のをプログラムが実行してくれるのでMacだったりスマホからでも有効な手であります。


で、今回はこの2の手が使えなくなりました。

 

既にサイト側でこれが対策されてるサイトさんもありますが、そうでない場合はこちらのブックマークレット使いましょう。ただし多少の読み込み時間がかかりますのでそこは注意。

http://keagelog.blogspot.jp/2012/12/iosandroid-aa.html

他だと AAReadable(Chrome拡張)って拡張も前に入れてましたがそちらも使えるのかな? (未検証)

 

追記: 上記スクリプトを自動読み込みさせる方法を書きました。

私はこのブックマークレットをTampermonkey(Chrome拡張)にUserScriptとしてコピペしてます。
適用するブログをURL指定できますし、ページ開いた後の1クリックを省けますので。
ただどのみち結構読み込みにかかりまして、「リクエストを処理中…」で止まるのでFirefox使いだしました。

 

しかしあれですねー、綺麗に文字表示するための機能が追加されて、その上でそのずれを修正する為にスクリプト読み込ませて重くなるって本末転倒じゃないですけどシンプルイズベスト感が。

ちなみに以前紹介した新ブラウザ「vivaldi」も同じエンジンの為、最新版にしたらDirectWriteが無効にできなくなってました。

 


コメントを残す

メールアドレスが公開されることはありません。

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)