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

何に使うんですかね。

2015年2月8日日曜日

Google Shortcuts(Shortcuts for Google Products)が便利

GmailやGoogleドライブなど、ChromeではGoogleのサービスを新しいタブページのアプリボタンからすぐ開くことができます。しかしFirefoxでは、何かのGoogleサービスを開かないとこのショートカットは使えません。また表示されるアイコンは主要なサービスに限られています。

Google Shortcuts(Shortcuts for Google Products)は、各Googleサービスへのショートカットをツールバーに配置することのできるアドオンです。ショートカットの種類はGoogleのアプリボタンよりはるかに多く、デザインもカスタマイズできます。

Google Shortcuts - Add-ons for Firefox

インストールするとツールバーにアイコンが表示されます。


クリックすると各サービスへのショートカットアイコンが表示されます。


ショートカットはこれだけではありません。右下の拡大ボタンをクリックすると、使用可能なすべてのアイコンが表示されます。


アイコンの位置はドラッグで変更することができます。必要なアイコンだけ上に配置後、再度右下のボタンをクリックして拡張部分を非表示にします。これでオリジナルのショートカットパネルとなります。


なおアイコンをポイントすると、図のようにサービス名が表示されます。


さらに左下の歯車ボタンをクリックすると、カスタマイズ項目が表示されます。


左からアイコンのサイズ、表示列数、背景色、リセットとなっています。
下図はアイコンサイズを40・列数を5に設定し、背景色も変えてみたところです。


また、これらのアイコンを単独でツールバーに配置することもできます。
アドオンタブからこのアドオンの詳細を開き、配置したいショートカットにチェックを入れてFirefoxを再起動します。


下図はGoogleドライブのショートカットを配置したところ。


Googleのアプリボタンより便利なので気に入っています。Chrome・Opera・Safari向けにも配布されているようです。

Google Shortcuts - add0n.com

2014年12月26日金曜日

追加漢字面でのフォント変化

IE上では拡張領域の文字でもコメントのフォント変化が起きるのですが、BMPの文字とは挙動が異なるようです。下図は追加漢字面にあるU+20DE1を投稿したところです。


デフォルトはSimSun-ExtBというSimSunの拡張フォントだと思われます(SimSunにはBMPの文字しか収録されていません)。SimSun化文字なのかと思いきや、下段の通り後ろにゴシックの文字を隣接させただけでゴシックに変化しています。


BMPの文字では見られない変化の仕方です。
ちなみにSimSun化させたコメントの中に置いた場合、デフォルトの方の字形のままです。ただし少し縮んでいるように見えます。


代替表示で呼び出されてサイズを調整されたような感じです。下の重ねた図はpurpleの方がU+20DE1を単独で投稿した場合です。


下図は各フォント変化をさせたコメントの中に置いてみたところです。
この文字はGulimにはありません。MingLiU(PMingLiU)はSimSunと同様、ExtBという拡張フォントに収録されています。


「あ」の字形から各フォント変化が有効であることはわかります。
MingLiU化ではExtBの字形が表示されているようです。右下の部分のSimSunとの違いが特徴的です。


Gulim化ではなぜかSimSunと同じ字形が表示されています。「なぜか」というのは、BMPの漢字であればフォントリンクによりMS UI Gothicが代替表示されるからです。


下図の漢字は妹(U+59B9)に似ていますが、妺(I+59BA)というまた別の文字です。これは4つのCJKフォントの中でGulimにだけありません。


Gulim化の場合、MS UI Gothicが代替表示されていると考えられます。字形はデフォルトのMS Pゴシックと同じです。

U+20DE1はMS UI Gothicにもあります。SimSun-ExtBが表示されるということはフォントリンクは機能しないみたいです。 そもそも冒頭の時点でBMPの文字とは全く違うルールがあるようでしたが。

2014年12月14日日曜日

Excel 2013:ActiveXコントロールが認識されなくなった件

今月のOfficeのセキュリティ更新後にActiveXコントロールが認識されなくなった件です。

本日実施した Windows Update 後から Excel 2010 の VBA が動作しなくなった - マイクロソフト コミュニティ

今のところ2010では直接確認していないのですが、2013・2007では同様のケースを確認できました。
下図は2013でシート上に配置したコマンドボタンです。


別のPCでこのシートを開いてコマンドボタンをクリックしたところ、2010(セキュリティ更新済み)では問題ありませんでした。一方、2013では下図のようになりました。デザインモードになっているわけではありません。


カーソルの形が変わるだけで押し下げすることはできません。CommandButton1_Clickプロシージャも実行されません。

下図は元のPC、別のPCそれぞれでデザインモードにしてみたところです。別のPCの方ではプロパティウィンドウにCommandButton1が表示されません。

シートを作成した元のPC
 
別のPC
当然ながらコードからCommandButton1を参照すればエラーになります。また、この状態から新たにActiveXコントロールを挿入しようとしてもエラーになりました。


なお図の通り元のPCは8.1、別のPCは7でした。Windowsのバージョンの違いが関係あるのかはわかりません。

この不具合を起こしているセキュリティ更新は特定されており、アンイストールすれば解決すると言われています。しかしセキュリティ更新なので削除はやめた方がいいように思います。
もう一つの回避策として冒頭のリンク先でも紹介されている、MSForms.exdを削除する方法を試してみました。


このファイルは、削除してもActiveXコントロールを含むシートを開けば自動的に再作成されます。

ところがこれだけでは解決しませんでした。それどころか2013で再作成されたMSForms.exdだと、同じPC上でなんともなかった2010でも同様の不具合が発生するようになりました。
うっかりしてたのですが、2013はWindows Updateとは別に更新が行われます。確認したところ元のPCも別のPCも最新のバージョンになっていませんでした。手動で更新を実行しました。


更新後、再度MSForms.exdを削除・再作成したところ不具合は起きなくなりました。
逆に、元のPCで不具合が発生するようになりました。こちらもMSForms.exdを削除・再作成したら直りました。要は更新前のバージョンで作成されたMSForms.exdが問題を起こすということでしょうか。

公式でもこの問題は認識されていて、対応中のようです。

Office 2010 ActiveX Disabled - December Update KB2553154 - TechNet Blogs

早く修正パッチが出るといいんですが。

2014年11月17日月曜日

Chrome 38:囲み文字のグリフ置換

追加多言語面U+10000~U+1FFFFには、ニコニコのコメントで使いたくなるような絵文字や飾り文字がたくさんあります。しかし今のところ、Windows 8.1上のIEまたはFirefoxでSegoe UI Symbolかゴシックにある文字が表示できるだけのようです。
ChromeのPepperFlashはSegoe UI Symbolを表示しません(たぶん)。またWindows 7はIEでもSegoe UI Symbolを表示せず、7のゴシックはこの領域にグリフを持っていません。

ただ一部の文字について、Chrome上でおもしろい挙動が起きるのに気づきました。
下図は8.1のSegoe UI Symbolだけにある文字です。Chromeでは豆腐になります。


これに、以前「Lucida化」の話で使ったU+2501(というかLucida Sans Unicode)とU+0323を隣接させてみます。


Chromeの表示が豆腐ではなくなりました。と言っても、どう見てもただのArialの「(A)」と「A」です。どうもSegoe UI Symbolを表示しない代わりに、こうしてグリフを置換する文字があるようです。

下図は、何に使うのか丸囲みのCDという記号です。ChromeではただのArialの「CD」になりました。


U+1F12D - Segoe UI Symbol

Windows 7にはSegoe UI Symbolも含めてこれらの文字を持つフォントはありません。当然ながらIEでは豆腐になりますが、Chromeでは同じようにArialに置換されました。


なぜU+2501とU+0323がこのような挙動を起こすのかはわかりません。

今度は日本の記号です。下図の文字は8.1だとSegoe UI Symbolのほか、ゴシックなどにもあります。


IEではデフォルトがSegoe UI Symbolだと思われます。U+2501を隣接させるとなぜかゴシックに変わりました。一方、Chromeはいずれの状態でもゴシックを表示しているようです。

Windows 7では上の文字はSegoe UI Symbolにしかありません。IEもChromeも豆腐になります。


ただしChromeのコメント一覧を見ると、U+2501とU+0323が隣接したコメントでやはりグリフ置換が行われていました。下図の通りただの「得」と「可」が表示されました。

Chrome 38 - Windows 7
これもコメントの表示に反映されればいいんですが。なお似たような文字だからと言って必ずしも同じことが起きるわけではありませんでした。