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

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