2012年5月17日木曜日

Windows 8 CP:4つめのU+2001

下図は、キリル文字U+0460の字形がフォントによってかなり違うことを示しています。


デフォルトはArialで、「a」(半角英数字)に隣接してもこれは変わりません。
「◯(U+25EF)」は「ゴシック化」文字で、これに隣接するとMS Pゴシックの字形に変化しています。「☉(U+2609)」はSimSun化文字ですが、SimSunにU+0460はありません。ここではフォントリンクにより、Microsoft Sans Serifが代替で表示されているのだと思います。


上のケースを踏まえて本題です。
全角幅の空白文字U+2001も上のU+0460と同じような挙動をとります。ただしWindows XPと7とではフォントが変化した結果が異なります。
下図の空白部分はU+2001を10個並べています。先頭の2文字のうち、フォント変化に直接かかわるのはU+2001に隣接する2文字めだと考えられます。1文字めは各コメントの条件を同じにするためのもので、U+2001が同じ幅であればコメント全体の幅も同じになるはずです。


XPのArialにはU+2001が無く、豆腐になっています。7のArialにはU+2001があります。
MS PゴシックはXP・7ともにU+2001があり、どちらも同じように表示されています。
「◯」と「a」を入れ替えただけの二つのコメントは、U+2001に隣接する文字の違いによりフォントが変わっています。7でコメント幅が少し違うのは、ArialとゴシックのU+2001の幅に差があるということではないでしょうか。
先頭に「ゴシック化」文字があったら、U+2001はゴシックじゃないのと思われるかもしれません。しかしそれはデフォルトがCJKフォントで表示される文字の場合で、U+2001のデフォルトは冒頭のU+0460同様Arialだと思います。

SimSunはXPも7もU+2001がありません。7の方はU+0460のケースと同じくMicrosoft Sans Serifだと思われます。一方のXPはMicrosoft Sans SerifにもU+2001はありません(というかSimSunのフォントリンク自体がなく、代替表示は内部的な処理で行われるようです)。
では別のフォントかと言うと、おそらくそうではありません。U+2001を他のU+200Xの空白文字と置き換えても、全角幅のまま変わらないからです。U+200Xの空白文字は文字によって幅が異なります。

スペース ‐ 通信用語の基礎知識

様々な幅ができた経緯は調べてもわかりませんでしたが、組版などで利用されるらしいです。

XPでの空白部分は何かのU+2001なのではなく、「表示できるものがない」という意味での全角幅の空白であると考えられます。このことに気づいたのは2年前でした。まとめると以下の通りです。


Windows XP Windows 7
 Arial  なし→豆腐   あり 
 MS Pゴシック  あり   あり 
 SimSun  なし→全角幅の空白   なし→Microsoft Sans Serif 
(Microsoft Sans Serif)  なし   あり 

7では図の通り幅がそれぞれ違います。つまり同じU+2001でも3種類あると言えます。
なお7のGulim化・MingLiU化についても、SimSun化と同じくフォントリンクでMicrosoft Sans Serifとなります。

ところがWindows 8CPで想定外の表示がありました。


SimSun化の幅が7よりずっと短くなっています。
しかも隣接させるSimSun化文字によっては、7と同じになります。


これまで見てきたWindows 8での表示からすると、幅が短い方のU+2001はSegoe UI Symbolかもしれません。Windows 8CPのフォントリンクは7とほとんど同じですが、なぜかフォントリンクより優先してSegoe UI Symbol(と思われる字形)が代替表示される場合があります。
下図はSimSunには無いU+263Aの代替表示の様子です。7の方はフォントリンクでMS P明朝が表示されていると思われます。



これだけで断定はできないですけど。
いずれにしろ、現時点では4つめ(の幅)のU+2001が存在しているようです。RP版でも変わらないだろうか。

0 件のコメント:

コメントを投稿