2014年7月20日日曜日

Chrome 36:全角幅の空白文字(3)

IEでもChromeでも全角幅になる空白文字はないか、という話をずっと前に書きました。その続きです。
なお今さらですが、「全角幅」 という言い方は正確でないかもしれません。「固定ピッチフォントでの全角文字の幅」ということです。

U+2001はIE上でゴシックであれば全角幅となります。一方Chromeではこれが少し縮んでしまいます。ChromeのU+2001はArialだと思われます。
下図の上段のコメントは、下段のコメントの真ん中3文字をU+2001で置き換えています。


IEのU+2001もArialにしてしまえばChromeと同じ幅にすることはできます。しかし下段のコメントと幅を合わせることができなくなります。


最近ふとおもしろいことに気づきました。U+2000は元々U+2001の2分の1の幅として定義されているようです。試しに3個のU+2001を6個のU+2000と置き換えてみます。


実際には2分の1より少し広いようで、IEでは上段と下段の幅が合わなくなってしまいました。ところがChromeの方は幅が合うようになっています。そこでIEのU+2000もArialにしてみます。


完全に全角幅と同じではないでしょうが、U+2001よりはずっと差が小さいようです。

SimSunの場合を見てみます。下図はブロック文字U+2587との組み合わせです。


SimSunにU+200Xはなく、フォントリンクでMicrosoft Sans Serifが表示されていると思われます。ゴシックやArialよりかなり幅が狭く、そのままでは全角幅と全然合いません。上と同様にIEのU+2000もArialにすれば合うようになります。


さらに下図のようなこともできます。U+2000を1個ずつ使って、半角文字分ずらしながら全体の幅を合わせています。


Windows XPではArialにU+200Xがなかったため、このようなことをしたら豆腐になっていました。XPの時代が終わった今だからできるやり方です。

0 件のコメント:

コメントを投稿