2015年12月26日土曜日

Windows 10:Cortanaに「お前を消す方法」を聞いてみた。

いまいち使ってないCortanaですが、ふと思いついてやったらちゃんと仕込まれてたので。


全く同じ質問に複数の回答が用意されていました。
進化したらデスクトップがちょっと楽しくなるかもしれません。

2015年12月22日火曜日

Windows 10(Build 10586.36):フォントが戻った

昨晩ニコニコを見ていて気づいたのですが、コメントのフォントがまたMS Pゴシックに戻っていました。


どうも先週末の更新によるもののようです。いつもの「累積的な更新プログラム」 だと思ったのですが。


おそらく当初のBuild 10240と同じ状態なのでしょう。なんとも掴めない環境です。

2015年12月14日月曜日

Windows 10:Gulim化文字とU+200B

毎話が温泉回という神アニメを見ていて、ふと思い出しました。温泉マーク(U+2668)もGulim化文字です。Windows 10では単独だとArialの豆腐になります。


少なくともYu Gothic UIで表示される文字に隣接していれば、表示はされます(フォント変化の影響でYu Gothic UIはMS UI Gothicに変わってしまいます)。字形から、フォントはSegoe UI Symbolだと思われます。デザインをもう少しどうにかしてほしいものです。

ところで、このコメントは7だと当然Gulim化してしまいます。こういう時U+2668の前にU+200Cを挟んでゴシックに戻すのですが、Windows 10ではU+2668が豆腐になってしまいます。


U+200CがArialなのでしょう。
しかし、ここでさらにU+200Bを挟めばこの豆腐化は避けられるなと思いました。


U+200BとU+200Cの何が違うのか、そう言えば以前ここに書いたことがありました。→過去の投稿
U+200CはArialから変化しないのに対して、U+200Bのフォントは不定で隣接した文字に従うのでしょう。

この方法はGulm化文字が単独の場合でも使えます。


あくまで豆腐化させないというだけですけど。

2015年12月13日日曜日

Excel:指数表示にされてしまった数値を一気に直すマクロ

Excelで指数表示にされてしまった数値は、区切り位置指定ウィザードを使えば列ごと直せるのに気づいたのはもうずいぶん前のことです。


今は同じことをマクロでやっています。


Selection.TextToColumns DataType:=xlDelimited, FieldInfo:=Array(1, xlTextFormat)


マクロを使う利点は、特に複数列を処理する場合にあります。手作業では1列ずつしかできないからです。


Dim r As Range

For Each r In Selection.Columns
         r.TextToColumns DataType:=xlDelimited, FieldInfo:=Array(1, xlTextFormat)
Next


仕事でCSV形式のデータを扱うことが多く、今だに頻繁に使っています。

ついでにおまけです。
YYYYMMDD形式の日付データをYYYY/MM/DD形式に変換したい時、昔は関数を使って年・月・日の文字列を取り出して・・・なんてことをやってました。これも上の方法でデータ形式を指定すれば、列ごと変換できます。


Selection.TextToColumns DataType:=xlDelimited, FieldInfo:=Array(1, xlYMDFormat)


なぜか数式バーの表示が変わっていませんが、セルを選択し直すなどすれば更新されます。


これも便利な機能です。

2015年12月6日日曜日

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

先週Chromeを46から47へ更新したところ、ニコニコのコメントで一部の文字のフォントが変わっていました。


U+25E2~U+25E5が縮んでいます。U+2587は比較のために置いたものです。

その後他の文字も見てみたのですが、どうもArial Unicode MSの有無によって状況が異なるようです。46が残っているのがもう8.1の環境しかなかったので、以下はそれで見たものです。

下図はU+25E0~U+25E7で、このうちArialにはU+25E6しかありません。他はLucida Sans Unicodeが代替表示されていたのではないかと思います。


Arial Unicode MSありの方だけ各文字が縮んでいます(ちなみに冒頭の7もArial Unicode MSありの環境です)。Lucida Sans Unicodeで表示されていたものがArial Unicode MSに代わったように見えます。
と言っても冒頭のU+2587もLucida Sans Unicodeだと思われ、全てではないようです。

Arial Unicode MSの有無に関係なくフォントが変わったケースもありました。下図はU+25A8~U+25AFで、左2つ(25A8・25A9)と右の3つ(25AD・25AE・25AF)はArialにありません。


U+25ADだけはArial Unicode MSの有無にかかわらず47でフォントが変わっています。他の4つはArial Unicode MSありの方だけ変わっています。両者の何が違うのかはわかりませんでした。

いずれにしろ仕様としては迷走しているかのように感じます。 Arial Unicode MSで表示されていたものが44でSegoe UI Symbolに代わり、Arial Unicode MSの有無は関係なくなったと思っていたからです。いずれまた変わるのではないでしょうか。

2015年11月29日日曜日

Windows 10:空白文字U+200Xの表示について

ニコニコのコメントでの空白文字U+200Xは、デフォルトではArial・CJK文字に隣接した場合はそのフォントに従うのではないか、というのが個人的な考えです。

下図のコメントの空白部分はU+2001を10個並べたものです。上段と下段との違いは「あ」と「a」の位置が逆になっているだけです。


Chromeでは何をしようとArialから変化しません。一方IEの場合、下段は「あ」と隣接したことでゴシックへと変化して、上段よりコメント幅が広がっているのではないかと思います。

さて、このケースをWindows 10上で見たところおかしなことになりました。


Edgeでの下段は2001が極端に縮んでいます。

下図のコメントはU+2000~U+200Aの10種類の空白文字を、幅の広い順に積み上げたところです。この状態ではIEもChromeもフォントはArialだと思われ、両者の表示に差は見られません。


これはWindows 10でも同じです。


次に、これらの空白文字の前に「あ」 を置いたのが下図のコメントです。IEとChromeで表示に若干の差が見られるようになります。これはIEの方がゴシックへフォント変化したからではないかと思います。


これをWindwos 10で表示させると下図のようになりました。


Edgeでは2002と2003以外は同じ幅の空白であるように見えます。なぜこんなことが起きるのかとBabelMapで見たところ、Yu Gothic UIには2002と2003しかありませんでした。


その他の幅の狭い空白は、空白文字というより表示させるものが無いという意味のスペースなのではないでしょうか。

下表は同アプリのFont Coverageの機能を使い、U+200Xを持つフォントのそれぞれの文字を有無を集計したものです。

フォント名 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 200A
Arial
Arial Unicode MS
Calibri
Cambria
Cambria Math
Consolas
Ebrima - - - - - - - - - -
Gadugi - - - - - - - - - -
Leelawadee UI - - - - - - - - - -
Lucida Sans Unicode
Meiryo UI
Microsoft JhengHei - - - - - - - - - -
Microsoft JhengHei UI - - - - - - - - - -
Microsoft PhagsPa
Microsoft Sans Serif
Microsoft YaHei - - - - - - - - - -
Microsoft YaHei UI - - - - - - - - - -
MS Pゴシック
MS P明朝
MS UI Gothic
MS ゴシック
MS 明朝
Palatino Linotype - -
Segoe UI
Segoe UI Emoji - - - - - - - -
Segoe UI Symbol
Tahoma
Times New Roman
Yu Gothic UI - - - - - - - - -
メイリオ
游ゴシック - - - - - - - - -
游明朝 - - - - - - - - -

2002と2003だけがあるというのは、游書体フォントの特徴のようです。他に該当するものはありませんでした。

代替フォントを使わずただ同じスペースを表示してしまうのは、Windows 10上のFlash Playerがこの新しいフォントにまだ対応していないということかもしれません。そのうち直るんでしょうか。

2015年11月15日日曜日

Windows 10:日本語フォントの変更

前回書いたWindows 10のBuild 10586が、先週末に正式版としてリリースされました(バージョンがちょっと上がって10586.3)。Windows Updateで配信されましたが端末によってすぐ来たり来なかったりのようで、来ない端末には公開されているISOからインストールしました。

10IPで見た通り、やはりニコニコのコメントはフォントが変わってしまいました。Firefoxも同様です。


長年見慣れたMS Pゴシックでないのにはまだ違和感があります。Chromeで見れば変わりないんですが。

Gulim化でちょっと気づいたことです。下図の2段目はU+2661によりGulim化、3段目はU+30FCでこのGulim化を解除しています。


デフォルト→フォント変化→デフォルトに戻るという挙動は7も10も変わりません。ただし10の方はU+2661のフォントまで変化しています。字形から、これもYu Gothic UIではないかと思いました。Gulimが無い環境だとデフォルトに変化するということかもしれません。

と言っても、この挙動は不安定なようです。表示した時によっては豆腐になる場合もありました。


原因はわかりません。

ちなみにSimSunは今のところ変わりありません。


もっともSimSunも古いフォントなので、いずれ変わるのかもしれませんが。

2015年11月8日日曜日

Windows 10IP:日本語フォントの変更

先週、Windows 10IP向けにBuild 10586がリリースされました。現在Build 10240の一般ユーザー向けにも今月の月次更新のタイミングで配信されると言われています。


この10586でニコニコを見ていたところ、日本語フォントが変わっていることに気付きました。


10240のMS Pゴシックより幅の狭いフォントとなり、コメント幅が縮んでいます。EdgeだけでなくFirefoxでも同様でした。
字形から、10586のフォントはYu Gothic UIかなと思いました。Yu Gothic UIはMeiryo UIに代わり、Windows 10でシステムフォントとして採用されています。


なおChromeではこの影響はありませんでした。


かな文字は明らかに幅が狭くなっています。


Gulimが標準ではインストールされていない10でGulim化を起こすと、MS UI Gothicが表示されるという話を以前に書きました。同じように幅は狭いものの、これとも字形が異なります。


漢字は変わらないのかと思いきや、比較してみるとこちらも10586の方が若干幅が狭いようです。


2つの画像を重ねあわせたところ:


Chrome 21(PepperFlash)でフォント変化が起こらなくなってから、デフォルトのArialとMS Pゴシックであればブラウザ間でコメント表示に差は出ないという考えでした。しかしこうなると、もうArialだけになってしまいます。
同じWindows環境であっても、幅に依存したコメントはますます難しくなりそうです。

2015年11月3日火曜日

64bit版Firefox:ニコニコでIMEが無効になる問題

Cyberfoxが41に更新された際、ニコニコのコメント欄でIMEが無効になるという問題が発生していました(Waterfoxも同様)。Windows 7では言語バーが表示されなくなるだけでしたが、10だと日本語入力自体ができなくなりました。MSのIMEでもGoogle日本語入力でも同じでした。

これはCyberfoxやWaterfoxの問題ではなく、41以降の64bit版Firefoxで起きる現象のようでした。実際、ベータ版で公開されていた42の64bit版でも確認できました。

Bug 1201904 – [x86_64][Win] IME is disabled on Flash Player - Bugzilla

本日42の安定版が公開されており、64bit版も提供されていました。しかしこのバグについては今のところ直っていないようです。

いちおう回避策はあって、Cyberfoxの掲示板で紹介されています。

Cyberfox Part2 [転載禁止]©2ch.net

こういうことをしていいのか判断がつかないので、お勧めはできません。
コントロールパネルのシステムの詳細設定→環境変数で、このMOZ_ALLOW_WEAKER_SANDBOXを新規に追加します。


そしてFirefoxのabout:configで、dom.ipc.plugins.sandbox-level.flashをデフォルトの2より小さい値に変更します。自分は1にしています。


これで冒頭の現象は起きなくなります。
早くバグが直ればそれに越したことはないんですが。

2015年9月21日月曜日

Windows 10:タスクバーのアイコンが重複する問題

2015/10/1追記:
Cyberfoxについては、41.0.2で下記の問題に対応したようです(既に直した後のため未確認)。

Windows 10にアップグレードしてから時々おかしなことが起きるようになりました。
下図はタスクバーにピン留めしたCyberfoxのアイコンです。これをクリックしてCyberfoxを開くと、ピン留めしたのとは別にCyberfoxのアイコンがもう一つ表示されます。使用する上で問題はありませんが、実に気持ち悪い。


下図はこの状態で7+ Taskbar TweakerのTaskbar Inspectorを表示させたところ。ピン留めしたのと開いているCyberfoxとは別のIDになっています。


一方、下図は同じくピン留めしたWaterfoxを開いた場合です。ピン留めしたIDからWaterfoxは開いています。


ただしこの現象はCyberfoxだけで起きるわけではありません。Waterfoxで起きる場合もありますし、ググってみるとFirefoxや全く別のアプリケーションで起きることもあるようです。
Cyberfoxのフォーラムでこの問題が取り上げられていました。

Cyberfox in W10 taskbar - 8pecxstudios Support Forums

この中でレジストリのTaskBarIDsというキーについて触れられています。FirefoxやCyberfoxをインストールすると、ここにアプリケーションのIDが登録されるようです。ピン留めした際、アイコンがこのIDにならないことが原因みたいです。


フォーラムではこのTaskBarIDsを削除してしまう方法が紹介されています。どうやら必須のキーではないようです。自分の環境では以下の2箇所にありました。

HKEY_CURRENT_USER\Software\Mozilla\Cyberfox\TaskBarIDs
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Mozilla\Cyberfox\TaskBarIDs

この2つを削除したところ、ピン留めしたアイコンからCyberfoxが開くようになりました。


なおWaterfoxの場合はFirefoxのキーの中に登録されており、Waterfoxでこの現象が起きた時にはこれを削除しました。

しかし、このTaskBarIDsはどうもインストールを実行するとまた登録されてしまうようです。バージョンアップの度に削除しなければなりません。やはりTaskBarIDsに登録されたIDでタスクバーにピン留めしないことには根本的な解決になりません。

MSのコミュニティで解決法があるのを見つけました。

タスクバーにピン留めをすると同じアイコンが 2 つ表示される - マイクロソフト コミュニティ

ここで紹介されているwin7appidを試しました。このソフトを適当な場所に置き、コマンドプロンプトから以下のように実行しました。

win7appid1.1.exe [Cyberfoxのショートカットのフルパス] [TaskBarIDsに登録されたID]

実行結果:


これにより、ピン留めしたCyberfoxのアイコンはTaskBarIDsに登録されたIDになりました。


この問題は同じWindows 10環境で起きないこともあり、 何が理由なのかはわかりません。

2015年8月28日金曜日

Windows 10:U+2661の挙動

Windows 10上でのコメント表示は、製品版ビルドになっても結局プレビュー版で見たのと変わってないようでした。日本語版にGulimやMingLiU(PMingLiU)はインストールされておらず、Gulim化やMingLiU化は起きません。
やはりストレージ容量への配慮から、よけいなフォントはオプション扱いにしているようです:

Windows 10 の一部のアプリでテキストの一部が正方形で表示される理由 - Microsoftサポート

それにしてもGulim化のケースが妙なのでもうちょっと見てみました。
下図はひらがなのみのコメント(上段)と、その先頭にGulim化文字U+2661を置いた場合(下段)を比較しています。


10ではひらがながGulimのかわりにゴシックで表示されます。ただしMS Pゴシックではなく、なぜかMS UI Gothicになっています。MingLiU化だと代わりに表示されるのはMS Pゴシックです。


下図は下段のコメントの先頭へさらにSimSun化文字U+2609を追加したところです(U+2588はMingLiU属性も持つためここでは使いません)。


8.1以前ならU+2609に従ってひらがなもSimSunに変化します。一方10では何も変化が起きません。
これがMingLiU化の場合だと、10でもひらがなは8.1以前と同様に変化します。


上の10でのGulim化文字による挙動は、U+2661とひらがなが直接隣接しないと起きなくなるようです。


Gulim化を起こさないU+2661の隣接は、CJKフォント変化そのものを無効化しているように見えます。

ところで、上の図の上段ではU+2661が豆腐になっています。
SimSunにトランプのマークは無いため、8.1以前であればフォントリンク先であるMicrosoft Sans SerifのU+2661が代替で表示されます。10のSimSunのリンク先は増えているものの、途中までは8.1と同じです。


Microsoft Sans Serifを調べてみたところ、10ではこのフォントからU+2661が消えていました。元々ここにあったのはバグだと思われるので、10でようやく消えたのでしょう。


しかし、それであれば同じくリンク先のMS P明朝で表示できるはずです(現に他のトランプマークはそうであると思われます)。

ところがあらためて下図のように見てみると、どうもそういう問題ではないようでした。デフォルトが豆腐です。
この豆腐はArialではないかと思います。Arialに白抜きのトランプマークはありません。


そしてSimSun化させた時も、フォントリンクは使われず豆腐のままです。
ひらがなと隣接したケースだけ、8.1と同じようにSegoe UI Symbolが表示されています。Segoe UI Symbolが表示されるのは8以降の挙動ですが、フォントリンクとは別の理由によるものと考えられます。
豆腐は10特有の挙動なのか、Gulimが無い場合の挙動なのかは確かめていません。