2012年9月15日土曜日

Chrome 21:Arial Unicode MSの問題

Chromeでのトランプのマーク(U+2660~U+2667)の表示をあらためて見てみます。


黒塗り(2660・2663・2665・2666)はArialにありますので、Chromeで表示されているのはそれだと思われます。仮にLucida Sans Unicodeが代替に使われるとしても、Lucidaにもトランプのマークは黒塗りしかありません。
それなら白抜きはArial Unicode MSじゃないかということでフォントを削除してみると、図の通り白抜きの表示が変わります。U+2661がMicrosoft Sans Serifだというのは前にも書きました。他はMSゴシックや明朝に見えます。U+2662はもともと両者の字形がそっくりなのでなんとも言えませんが。

実はU+2XXX辺りの特殊文字だけ見ても同様のケースがたくさんあります。
これはけっこう面倒な問題です。Arial Unicode MSというのはOffice添付のフォントで、必ずしもインストールされているとは限らないからです。インストールされていてもシステムフォントではないので、ユーザーがかんたんに削除できてしまいます。

<参考>
Windows 7 によってインストールされるフォント - Adobe
Arial Unicode MS - Microsoft typography

IEと完全にコメント幅を合わせるためにこういうケースを避けてしまったら、使える文字がかなり限定されます。完全に合わせる場合と、多少ズレても破綻しない程度で済む場合とを、組み合わせて使うのが現実的なのかなぁと思います。

ただし極端に表示が異なるケースもあったので、一応紹介しておきます。Windows 8です。


図の通り、Arial Unicode MSを削除すると白抜きは消えてしまいました。
何が起きたのかと思ったらゼロ幅になっていました。下図はU+2661を単独で入力したところです。


トランプのマークだけでなく、他のArial Unicode MSと思われる文字でも同じことが起こりました。
しかし豆腐になるならともかく、ゼロ幅になるのは仕様としておかしいのでは?そのうち直されるんじゃないかと思いました。それともなんか意味があるんでしょうか。

12/3追記:
今はゼロ幅にならないことに気づきました。→この日記

0 件のコメント:

コメントを投稿