上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

役に立ったらぽちっとよろしく。 人気ブログランキングへ

ひさびさの話は、Windows では何故かフリーフォントがパッとしないという話。

少ないドット数でも文字 (グリフ) を読み易くするため、文字色とその背景色だけでなく、その中間色も利用する技術、これがフォントスムージング。

例えば

元の文字 スムージング無し スムージングあり

ただ、Windows のフォントスムージング技術、ClearType はかなり奇妙な特徴がある。こいつは、多くの液晶画面が横方向に R (赤) G (緑) B (青) の順で画素が並んでいる事を利用して、色調を犠牲に横方向への解像度を極端に高くする。ところが、横方向にはこれだけ神経を尖らせているのに、縦方向の解像度は完全に無視するようになっている。(Mac では、縦方向は単純なスムージング、横方向は Windows と似た形式)

そのせいで、'誉' のような縦につまってる字を、(IPA フォント等のフリーのフォントで表示すると)、横線同士がひっついて一つの太い線のように見えてしまう。

元の文字 Win Mac

ところが、Windows に元からバンドルされているフォントでは、上のようにはならない。これには二つのパターンがある。

  • ビットマップ内臓フォント

    この場合、そもそもスムージングが無効。フォントサイズが小さい場合、内臓ビットマップから近いサイズのものを選びそれを使う。内臓ビットマップに半透明を扱う情報がないため、スムージングされたフォントと比べるとギザギザしている。

  • ヒンティングを利用するフォント

    塗りの情報 (ベクトルデータ) をドット (ビットマップ) に落とし込むさいに、ヒント情報を利用して、見栄えがよくなるように調整する。

MS Pゴシック
(内臓ビットマップ)
メイリオ
(ヒンティング)

上の例ではどちらも、二本の線を一本にまとめて視認性を向上させている。内臓ビットマップの場合、人が手作業で調整しているものが多いが、ヒンティングによる場合は、ヒントにより自動的に似た処理を実現できる。


さてさて、フォントファイルのフォーマットは紆余曲折はあったが、最近は統一されてきている。ところがそうなると、ヒンティングを、縦にも解像度の高い Mac 側に合わせるか、低い Win 側に合わせるか、という問題がでてくる。そして多くの場合、Mac 側にあわされている。そのため、Win でフリーのフォントを使うと、インクが滲んだように汚く見えて仕方がない。

となると、小さめの文字でスムージングが効き、なおかつ日本語のフォントと言えば、Win では "メイリオ" の類しか残らない。これはちょっと困った話だ。"メイリオ" は、確かに視認性に優れた良いフォントだけど、じゃぁ MS ゴシックのような等幅フォントは?明朝体は?という事になる。

思うに、長めの小説なんてのは、明朝体がいい。そして例えば、Mac をお使いのあなたが、フリーで素晴らしい明朝体のフォントを見つけてきたとする。Web フォント等の仕組みを利用して、ユーザにフォントをダウンロードさせる。これで全ての環境であなたの小説が読みやすく!とはならない。あなたが気づかないうちに、Win 環境では酷い事になっている。

解決策としては…

  1. 個人レベルの対策としては、マニアックなソフトを入れれば、フォントのレンダリングを Mac 風味にできる。……が、Web では意味が無い。
  2. Microsoft が Windows のフォントレンダリングを Mac 風に変える。……ただ、メイリオ等の既存のフォントのイメージが若干変わってしまうかも。
  3. 一つ一つのドットが問題にならないほどの高解像度ディスプレイをみんなが使う。……将来的にはこうなるのかな。
  4. スクリプトで Win ならメイリオもしくはその改変フォント、それ以外ではフリーフォントを使うように細工する。……等幅フォントくらいならこれで何とか。

正直、現状ではどれもかなり苦しい。…… Windows 最大の問題はフォントにあり!とすら思う。

役に立ったらぽちっとよろしく。 人気ブログランキングへ

スポンサーサイト
Copyright © ふらふら技術者の日記 All Rights Reserved.
Powered by FC2 Blog
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。