2015年7月26日日曜日

Chrome 44:表示フォントの変更

Chrome 44になって、コメントの表示に使用されるフォントの一部が変わったことに気づきました。
下図のトランプマークのうち、白抜き(U+2661・2662・2664・2667)はArialにありません。


43と44では、この白抜きの4つのフォントが変わっています。
この変更は8.1も7も同じようですが、たまたま見た環境が8.1はMS Officeなし・7はOfficeありでした。この2つをArial Unicode MSの有無の違いとして見てみます。


44ではArial Unicode MSが使われなくなったということだろうと思います。

代わりに使われているのはSegoe UI Symbolのようです。
IEでも8.1であればこの白抜きをSegoe UI Symbolで表示させることができるので、比較してみます。


Chromeの方が大きく表示されますが、字形は同じのようです。


他の例も見てみます。下図の音符マークのうち、U+2669・266CはArialにありません。


Arial Unicode MSありの場合:


下図の指差しマークはいずれもArialにありません。


Arial Unicode MSありの場合:


ちなみに、このケースはIEだと8.1と7で表示がだいぶ異なります。


これらの文字のうちU+261C・261EはGulim化文字、他の4つはフォント変化の属性を持ちません。後者は8.1ではChrome 44と同じもの、つまりSegoe UI Symbolが表示されているように見えます。先のU+2661と同じような現象かもしれません。

Arial Unicode MSが使われなくなったことにより、Chrome 44ではOfficeの有無にかかわらず同じ表示になっています。これまでArial Unicode MSが使われていたのは、XPでは多くの記号類などをカバーできるフォントが他になかったからじゃないでしょうか。Segoe UI Symbolなら7以降に標準でインストールされています。

ただし、 7のSegoe UI Symbolはバージョンが5.01のままずっと更新されていません。このため8.1では表示されても7では豆腐になってしまうケースもあります。
下図の文字は、いずれも標準フォントではSegoe UI Symbolにしかありません。


XPの時代が終わって7対応、というよりは間もなくリリースされる10対応ということなんでしょうか。

なお、拡張領域は43より前からSegoe UI Symbolが表示されていたようです。以前は豆腐になったと記憶しているので、どこかのバージョンで対応してたんでしょう。


いずれにしても8.1のIEとは表示サイズが異なりますが。
こうして見ると、これはこれで環境による表示のバラつきがけっこうありそうな仕様です。それでもOfficeの有無によって違うよりはずっといいと思いました。

2015年7月14日火曜日

CCC:GPUScaling010

先日Windows 10にも対応したCCCの15.7が公開されましたが、その前のOmegaの時の話です。
なぜかインストールがエラーになり、 いったん削除して再インストールしたり前のバージョンを入れ直したり・・・なんてことを繰り返しているうちに、GPUアップスケーリングの「アスペクト比の保持」が無効の状態になってしまいました。

ところがCCCを開いてみるとGPUアップスケーリングは有効で、「アスペクト比の保持」が選択されていました。


ここでおかしなことがありました。
一度GPUアップスケーリングをオフにして、もう一回オンにしたら直るかな?と思ったのですが、オフにして適用をクリックすると勝手にオンに戻ってしまいます。

「アスペクト比の保持」の値をレジストリで設定する方法は知っていました。

Intel Display Driver Scaling Scripting - TechNet

しかしGPUアップスケーリングのオンオフ自体がおかしいので、そういう問題ではなさそうでした。念のため値を確認しても、「4」(アスペクト比の保持)になっていました。

レジストリで他に設定するところがあるんだろうと調べていたら、「GPUScaling010」というそれらしき名前を発見しました。


これをググってみたら、自分と同じ現象に遭遇した話を見つけました。

AMD Catalyst 14.4 was just released :: DARK SOULS™ II 総合掲示板

リンク先に書かれているように、この値を「01 00 00 00」から「00 00 00 00」に変更してCCCを開いてみると、GPUアップスケーリングはオフになっていました。そしてオンにして適用すると、「アスペクト比の保持」は再び有効な状態に戻りました。
なんかCCCのUI上の表示とレジストリへの値の反映がうまくいかなくなっていたようです。

なお15.7は問題なくインストールできました。

2015年4月23日木曜日

Windows 10TP:Spartan上のフォント変化(3)

さらに前の話の続きです。

Build 10061が配信されていたのでアップデートしようと思い、とりあえず起動して先日入れた韓国語と繁体字中国語の言語パックを削除して再起動しました。フォントを確認すると、Gulimはこれでは消えませんでした。
謎なのは、先日はインストールされなかったMingLiUがこの時点でインストールされていました。

先のコメントの表示をあらためて確認してみました。


今度は10でもMingLiUも表示されるようになりました。
ただし比較でわかるように、8.1とは異なり途中のひらがなでフォント変化が解除されています。
原因はわかりません。

なお10061をインストールしたところ、またGulimもMingLiUも入っていない状態に戻りました。
上のコメント表示は前の前の話と同じでした。

2015年4月15日水曜日

Windows 10TP:Spartan上のフォント変化(2)

前の話の続きです。
GulimやMingLiU(PMingLiU)が表示されないのは、そもそもインストールされていないのだと教えていただきました。8.1まではデフォルトで入っていたフォントなんですが。

そこで言語パックを追加してみました。


韓国語の言語パックをインストール後、再起動するとGulimがインストールされていました。
繁体字中国語はマカオ・香港・台湾の三種類があるようですが、今のところ台湾版しか提供されていませんでした。これをインストールしてもMingLiUはインストールされませんでした(香港版なら入る?) 。

とりあえずGulimインストール後の表示です。


Gulim化も8.1と同じ表示になりました。

それにしても、なぜGulimやMingLiUがデフォルトでは入ってないのでしょうか。
ちなみに下図は8の最初のプレビュー版当時に検証でキャプチャしたものです。英語版でしたが、どちらのフォントも入っていました。


タブレットなんかは容量限られてますし、よけいなフォントは入れない仕様に変わるんですかね。

2015年4月14日火曜日

Windows 10TP:Spartan上のフォント変化(1)

Windows 10上でのコメント表示については、新ブラウザProject Spartanが公開されてからと思ってたので今まで特に調べてませんでした。それまでIEでちょっと見る限りは8.1と変わらないように見えました。
先日のBuild 10049でそのSpartanが公開されました。下図はその時キャプチャしたものです。


少なくとも今の時点ではSpartanもIEも変わらないようです。
それより図の通り、10ではGulimとMingLiUが表示されないことに気づきました。2661はSegoe UI Symbolのように見えます。ゴシック・SimSunは8.1と変わりません。
ちなみにChromeでは10も8.1も違いは見られませんでした。


さて、10ではGulim化やMingLiU化は起きないのでしょうか。下図の2段目と4段目のコメントは、U+301Dを使って途中からGulim化を起こさせたものです。
U+301DはGulim属性を持たない文字です。

Unicode 字形 cp932 cp936 cp949 cp950
301D 8780 A894 - A1A9


10ではGulim自体は表示されないものの、8.1と同じようにフォント変化が起きています。Gulimの代わりにMS UI Gothicが表示されているように見えます。

下図はMingLiU化させたコメントにSimSun化文字U+2588を挿入してみたところです。10ではやはりMingLiU自体は表示されませんが、8.1と同じようにU+2588をフォント変化させています。


U+2588がこのような挙動となるのはMingLiU属性も持っているからだと思います。下図はMingLiU属性を持たないSumSun化文字U+2609に替えたところです。

Unicode 字形 cp932 cp936 cp949 cp950
2588 - A880 - A269
2609 - A891 - -


10でのフォント変化の仕方が8.1と変わりました。
3段目が「な」 からSimSun化しているのは、ひらがながMingLiU属性を持たないことによるものだと思います。

Unicode 字形 cp932 cp936 cp949 cp950
900F 93A7 CDB8 F7E2 B37A
660E 96BE C3F7 D9A5 A9FA
306A 82C8 A4CA AACA -
5D50 9792 8DB9 D5B9 B450

10のU+02CDはMingLiU化的な振る舞いはするものの、単独の属性しか持たないU+2609よりは効果が弱いのではないでしょうか。

これらが10特有の挙動なのか製品版では8.1と同じになるのかはわかりませんが、フォント変化を知る上では貴重なサンプルになりそうです。以前XPでMingLiU化を調べた時、MingLiU自体は表示されないのにMingLiU化のような挙動が見られたのを思い出しました。

2015年4月13日月曜日

Excel 2013/2010:.xlsのFormatConditions.Add

以下はExcel 2003の頃に.xlsファイルへ書いたプロシージャの例です。A~C列に対して、同じ行のD列のセルが1の場合にセルが黄色になるという条件付き書式を設定しています。

With Sheet1
     With .Columns("A:C")
          .FormatConditions.Delete
          .FormatConditions.Add Type:=xlExpression, Formula1:="=RC4=1"
          .FormatConditions(1).Interior.Color = vbYellow
     End With
End With

このプロシージャはWindows 7上のExcel 2010でもWindows 8.1上のExcel 2013でも動作します。


ところがこのファイルを.xlsm形式で保存し直したところ、上のプロシージャを実行してもセルの色が変わらなくなってしまいました。


どうもFormula1のところの反映のされ方が.xlsと違うようです。

.xls上で実行した場合:


一方、.xlsm上で実行した場合:


Formula1のところを以下のように修正したら当然ながら直りました。

With Sheet1
     With .Columns("A:C")
          .FormatConditions.Delete
          .FormatConditions.Add Type:=xlExpression, Formula1:="=$D1=1"
          .FormatConditions(1).Interior.Color = vbYellow
     End With
End With

こんな落とし穴があったとは。

2015年3月21日土曜日

Windows 10TP:Segoe UI Historic 1.00

今週公開されたWindows 10 Technical PreviewのBuild 10041をいじっていて、またフォントが少しバージョンアップしているのに気づきました。

以前も書いたSegoe UI Historicのバージョンが1.00に上がっており、CMAPを調べたところ0.90と1299文字の差分がありました。やはり古代の文字が追加されているようです。以下、またBabelMapで見ています。

ウガリット文字:


カローシュティー文字:


全く聞いたことのない文字ですが。
有名な楔形文字が数としては多いようです:


ちなみにSegoe UI Symbolも6.15から6.17に上がっており、差分が995文字ありました。
主に数学向けの文字が増えているようです:


一つ、BMPの中でU+2B7Eという文字が増えていました。


こんな記号あったんだと思ったら、新しいUnicode 7.0で追加されたもののようです。

Unicode Character 'HORIZONTAL TAB KEY' (U+2B7E) - FileFormat.Info

何に使うんですかね。