2012年12月29日土曜日

Windows 8:Segoe UI Symbolの表示パターン?

Windows 8ではコメントでSegoe UI Symbolが表示されることがあるという話の続きです。

下図はU+2487・U+2488という二つの文字が「あ」を「明朝化」させているところ。いずれもコードページ936にだけ定義のあるSimSun化文字で、表示は8も7も変わりません。ブラウザはIEです。


下図は「あ」を困ったちゃんマーク(U+2639)に置き換えたところです。
この文字はSimSunには無く、フォントリンクでMS P明朝が表示されるはずです。しかし8では、U+2487の後ろだと別の字形が表示されています。これがSegoe UI Symbolであることはわかっています。


U+2639の後ろに「あ」をつけるとU+2488でも字形が変わります。
2487と2488の何が違うのか、今のところ全くわかりません。ただ、後ろにもう一文字足して変わるケースではどうもパターンがあるように見えました。別の文字でちょっと試してみました。

以下はすべてWindows 8での表示です。
下図は「あ」 を丸囲み英数字(U+2460~U+2473)に置き換えてみたところ。下段は先頭をU+2661にしてGulim化のコメントにしています。すると3つのパターンに分かれました。


それぞれの違いは、CJKコードページでの定義の有無と一致していました。これらはコードページ1250~1258、874に定義はありません。

パターン Unicode 字形 cp932 cp936 cp949 cp950
1 U+2460-2469 ①~⑩ 8740-8749 A2D9-A2E2 A8E7-A8F0 -
2 U+246A-246E ⑪~⑮ 874A-874E - A8F1-A8F5 -
3 U+246F-2473 ⑯~⑳ 874F-8753 - - -

下図は各パターンの他の文字も試してみたところです。


もっとも、これだけではなんとも言えません。この困ったちゃんマークの挙動とは違って、8では単独でもSegoe UI Symbolで表示されるものもあります。これがパターンだとしてもSegoe UI Symbolが表示に使われるケースの一つに過ぎないでしょう。それでも、既知のフォント変化と何か関係はあるのかなと思いました。

2012年12月20日木曜日

Chrome 23:ニコニコ電子書籍のフォントを変えてみた


2013/1/11追記:
Chrome 24になった現在では下記の挙動は見られませんでした→この日記

Chromeの話ばかり書いてますけど一応Firefox派です。念のため。

先日書いた話の続きです。
以前動画のコメントのことを調べていた時に、Chromeのフォント設定でSans SerifがFlash Playerのテキスト表示に反映されるらしいというのをどこかで見ました。動画のコメントでは反映されなかったのでそれきり忘れていたのですが、ふと思い出して静画の電子書籍で試してみたら反映されることに気づきました。

まず下図はChromeでのデフォルトの状態です。リフロー型でシステムのフォントが使われている場合、このような表示になると思われます。


明朝で表示されるべきものがMS Pゴシックになり、文字によって左右の位置もおかしくなっています。
フォントのカスタマイズでSans Serifを変更してみました。


等幅のMSゴシックにしてみたところ、左右がおかしいのが直りました。プロポーショナルフォントなのが原因だったらしい。


ゴシックでゴテゴテなのもなんなので、同じく等幅のMS明朝に変えてみたところ。


デフォルトよりだいぶいい感じになりました。同じように等幅で、より電子書籍向けなフォントにしたらいいんでしょうね。
メイリオも試してみました。等幅フォントではないのでやはり一部レイアウトが変です。


まぁでもこうしてフォントが変えられるならChromeで見てみるのも一興ですね。これが動画のコメントでも反映されるならもっとおもしろかったんですが、なんか仕組みが違うんですね。

Chrome 23:ゴシックに無い漢字などの表示

下図は注音字母というブロックの文字です。
ふと気づいたら、Chromeだと見慣れない字形で表示されていました。調べたらArial Unicode MSでした。Arial Unicode MSが無いと明朝体です。


IEでこれらはSimSun化文字です。下図の「あ」はフォント状態の確認のために置いています。MingLiU(PMingLiU)でも表示できますが、ChromeのはSimSunみたいです。


これらの文字はMS Pゴシックにはありません。下表は各フォントの定義の有無を示しています(数字はグリフインデックス)。

Arial UM MS Pゴ SimSun Gulim PMingLiU
3105 4828 - 639 - 947
3106 4829 - 640 - 948
3107 4830 - 641 - 949
3108 4831 - 642 - 950

他のブロックで同じパターンの文字を見てみました。Chromeでの挙動は同様のようでした。



Arial UM MS Pゴ SimSun Gulim PMingLiU
3025 4624 - 888 - 764
4E52 8417 - 1154 - 7674
FE4B 6451 - 927 - 28818
FE55 6460 - 936 - 28827

下図はCJK統合漢字ブロックのSimSun化文字、およびCJK互換漢字ブロックのGulim化文字の挙動を見ています。Chromeではゴシックにあるものはゴシックで表示されているようです。



Arial UM MS Pゴ SimSun Gulim PMingLiU
4E02 8337 2895 1074 - 7594
4E06 8341 - 1078 - 7598
F91D 5501 15800 - 32648 28523
F91E 5502 - - 32650 28524

Chromeにおける漢字の表示は、IEでフォント変化文字であるかどうかにかかわらず
  • ゴシックにあればゴシックで表示される。
  • ゴシックに無いものは、Arial Unicode MSにあればArial Unicode MSで表示される。
  • Arial Unicode MSが無ければSimSunやGulimで表示される。
という挙動であるように見えます。一概に言えるのかはまだわかりませんけど。

レアケースですが、Arial Unicode MSに無い場合にMingLiU(PMingLiU)で表示されるものもあります。
下図の文字はゴシックにもSimSunにもGulimにもありません。MingLiU(PMingLiU)およびArial Unicode MSにはあります。なお「あ」の状態を見れば分かる通り、これらはフォント変化文字ではありません。



Arial UM MS Pゴ SimSun Gulim PMingLiU
319D 4975 - - - 995
319E 4976 - - - 996
319F 4977 - - - 997

下図のケースは、Windows 7にインストールされていたフォント全体の中でもMingLiU・MingLiU_HKSCS・PMingLiUにしかなかったものです。ChromeではいずれもIEと同じ表示になっています。こちらもフォント変化文字ではありません。



Arial UM MS Pゴ SimSun Gulim PMingLiU
9FA6 - - - - 33344
9FA7 - - - - 33385
9FA8 - - - - 33392
9FA9 - - - - 33424

ちなみに先の「天」「地」「人」はメイリオにならあるんですが、そういう新しいフォントは使われないようです。古いフォントで対応しているのは、まだXPをサポートしているからでしょうか?
そう言えばGmailはIE8のサポートを終了しました。ChromeはいつまでXPをサポートするんでしょうか。上のような挙動も、いずれ変わるのかもとちょっと思いました。

2012年12月12日水曜日

Chrome 23:ニコニコ静画の電子書籍の件


2013/1/11追記:
Chrome 24になった現在では下記の挙動は見られませんでした→この日記

使ってなくて気づかなかったのですが、pepflashplayerの影響というのは電子書籍にもありました。
コメントのことを調べようとしてて、こちらの投稿で知りました。

Issue 161419:[Pepper Flash] Poor font rendering: different font, wrong alignments, weird spacing with symbols... - chromium

ニコニコ静画の電子書籍をいくつか見てみたところ、リフロー型と固定レイアウト型(というかページをそのままキャプチャしたもの?)が混在しているようでした。 これはあくまでリフロー型と思われるものでの問題です。
ある書籍をIEで見ると下図のように表示されます:http://seiga.nicovideo.jp/watch/bk46791


フォントの種類は特定してませんがふつうに明朝系です。これをChromeで表示させると下図のようになりました。


ゴテゴテにゴシックです。
動画のコメントでは日本語のデフォルトがMS Pゴシックですから、この挙動はむしろいいことじゃないかと思っています(「フォントの連れ回し」が起こらないという点で)。しかし電子書籍では元が明朝なので、これはいただけないです。しかも縦書きであるためか文字の配置がところどころ変です。

pluginsでpepflashplayerを無効にすればIEと同じ表示になります。


動画同様、静画もChromeは推奨環境ではありません。でもふつうはふだん使っているブラウザでそのまま見ますよね。Chromeユーザーがこれを見たら、「ニコニコの電子書籍はフォントが汚い」と勘違いしちゃうんじゃないのかなと思いました。

2012年12月4日火曜日

Excel 2010:条件付き書式コピペの弊害

以前にも困ったことがあったのですが最近また遭遇したので。

下図のシートでは表のC列部分に条件付き書式が設定されています。適用先はC2からC6です。


表に1行足して書式を上の行からコピーすると、条件付き書式の適用先はC7となります。元のルールの適用先が拡張されるわけではありません。


これがネックです。適用先が異なるため、新規に作成された別のルールとして認識されるからです。
7行目を切り取って4行目に挿入してみます。ルールの適用先はC4に変化します。


すると元のルールの適用先は、連続した一つの範囲だったのがC4を飛ばした二つの範囲に分割されてしまいます。


後から編集する時にわかりづらいです。そこで再び連続した一つの範囲になるように修正したとします。


全体の数式や書式を変えようという場面であれば、コピペでこれをやってしまうでしょう。
ところがこうすると先の4行目では、適用先がC4のルールとC2からC7のルールとが重複する形になります。別のルールとして認識されているので当然ですが。


マイクロソフトはこれを仕様であるとしています。

Excel 2007 条件付き書式をコピーした場合、以前より条件付き書式が増加する - Microsoftサポート

2003以前の感覚だと上のような書式のコピペはふつうにやっていたと思います。実用的に考えて、どうにかならなかったんでしょうか。ちなみに2013 Previewでもこの挙動は変わりませんでした。

ルールの重複が累積するとファイルサイズは目に見えて大きくなります。実際、条件付き書式を使って作りこまれたファイルで困っています。
いろいろ考えたのですが、結局VBAでルールをリフレッシュするしかないのかなという結論になりました。

Dim fc As FormatCondition

     With Range("C2:C7")
         .FormatConditions.Delete
         Set fc = .FormatConditions.Add(Type:=xlCellValue, Operator:=xlGreaterEqual, _
             Formula1:="=300")
         fc.Font.ColorIndex = 3
         fc.Interior.ColorIndex = 6
     End With

しかし複数のルールがいろいろ設定されていたら一々コードを作るのも面倒です。全ルールを自動で照合するような汎用コードも作れないことはないでしょうが・・・
こんな仕様なら、いっそコピペでは条件付き書式が貼り付けられないようにしてほしいなと思います。

2012年12月3日月曜日

Windows 8:Arial Unicode MSの件(追記あり)

前に、Windows 8上のChromeではArial Unicode MSで表示されている文字がArial Unicode MSが無いとゼロ幅になってしまうという例を紹介しました。→この日記
ふと気づいたらこれが直ってました。


挙動としては7と同じです。Arial Unicode MSありとなしで表示が異なるのは悩ましいことに変わりありませんが、ゼロ幅になるよりはマシかなと。

ゼロ幅になってしまったのは評価版の時です。一般発売された製品版で変わってたのか、いつかの更新の時に変わってたのかはわかりません。

2013/3/3追記:
どういうわけか現在の環境で確認したところ、また以前と同じ状態になってしまいました。


ただしArial Unicode MSなしの方は、Office関連のプロセスを止めて無理やりフォントファイルを削除しました。元々Officeが入っていない環境ではまた違うのかもしれません。

2012年11月27日火曜日

Windows 8:あげぽよ~の表示(U+261D)

先日書いた八卦の記号と同じと思われるケースです。ブラウザはIE10です。


7と8で指差し記号(U+261D)の字形が全く違います。目の部分も違いますが。
下図はこの文字だけフルスクリーンで表示したところです。


これを含むフォントは7も8も八卦記号と同じでした。


字形に特徴があるので特定できそうです。7はMSゴシック(か明朝)、8はSegoe UI Symbolでしょう。


単独・半角文字隣接ではそれぞれこの字形で変わりませんでした。


下図はCJKフォント変化の影響を見ているところ。7のSimSun・Gulim・MingLiU(PMingLiU)は、やはりフォントリンクによる表示だと思います。 8の方はゴシックと隣接した場合だけ字形が変化しています。


なぜ8のU+261Dは、SimSun・Gulim・MingLiU化の影響を受けないのでしょうか。
八卦記号の話ではArialのようなものではないか?とちょっと思いました。しかしゴシックに隣接すると変化するということは、そうではないようです。

念のため確かめてみました。 下図のように文字を組み合わせた場合、コメントの最後の漢字は前にArialがあることにより2文字目のフォント変化文字の影響を受けず、先頭のU+30FBに従ってゴシックになります。


「a」 をU+261Dに入れ替えるとこのようなことは起こりません。これは8でも同じでした。


8での表示は、あくまで「ゴシック化」された場合以外はSegoe UI Symbolで表示されるという独特の挙動のようです。冒頭の顔文字だとU+261Dは半角カッコや半角スペースつまりArialに隣接した状態で、「ゴシック化」はされていません。

この顔文字を直してみます。下図の下段のコメントは半角カッコを全角に替えています。


8でも指差し記号がゴシックの字形になりました。
しかし今度は7の方で、目の部分(U+055E)がおかしくなってしまいました。ゴシックに隣接するとフォントが変わるようです。そこで目とカッコの間にゼロ幅文字(U+200C)を挟んでみました。


一応直りました。ただしU+055Eのフォントが7と8で違うようで(TahomaとSegoe?)、コメントの幅は合っていません。幅まで合わせるなら別の字を使わないとダメですね。なかなか難しいです。

2012年11月21日水曜日

Android版niconicoアプリ見てみた

Android版のniconicoアプリが出てたので、インストールしてちょっと見てみました。

niconico - Google Play

スマホやタブレットではふだんPCで見てるものをマイリスから開くという使い方が多いので、まずはマイリスだけ見てみました。とりあえずマイリストは新しい順で並んでいるようですが、他は古い順になっており並べ替えができませんでした。実用的ではないので改良されると思いますが。


サムネをタップすると右の図のように縮小表示で再生が開始されました。この状態でコメントが表示されたのはコメント好きとしてちょっと感激する仕様でした。

右上のアイコンをタップすると動画情報が表示され、縮小表示されている動画をタップすると画面全体が視聴ページに切り替わりました。


画面を横回転させたところ:


コメントの表示はブラウザ向けのAndroid版ニコニコと変わらないように見えます。コントローラのデザインがブラウザ向けよりわかりやすく洗練された感じです。

「コメントする」を試してみます。入力欄は画面上部から出てきました。


 テスト用動画で「大」・「下」・色つきのコメントをしてみたところ:


ブラウザ向けより使いやすいなと思いました。

スマホ(Galaxy S2)上でのブラウザ向けはカクついたり再生できなかったりと不安定なことが多く、今までは非公式アプリを利用させていただいてました。おすすめはこちら:

NicoRo Tri-α - Google Play

しかしこうして公式アプリがリリースされたのは、やはりありがたいですね。これからいろいろと改良されて、いいアプリになることを期待したいです。

2012年11月14日水曜日

Windows 8:八卦記号の表示

Windows 8特有のフォントの挙動は、いまだになんだかわかりません。とりあえず気づいたら個々に書いときたいと思います。

ところでWindows 7向けのIE 10(プレビュー版)がリリースされたので入れてみました。
8ではMetro版と共通の独自のFlash Playerが使われているそうですが、7向けは今までと変わりありませんでした。見た限りではIE 9の表示と同じです。

さて、下図は八卦の記号(U+2630~U+2637) の表示を7と8で比べているところです。


BabelMapで調べてみると、これらの文字を含むフォントは9つありました。
これは7も8も同じでした(どちらにもOfficeが入っています)。


7の表示はMS Pゴシックでしょう。8は特定できません。
下図はU+2637をフォント変化をさせてみたところ。一見どれも字形に変化はありません。


SimSun・Gulim・MingLiU(PMingLiU)はいずれもこの文字を持っていません。既知の挙動であれば、フォントリンクが使われるはずです。7のSimSun化・MingLiU化はMS P明朝、Gulim化はMS UI Gothicが表示されていると思われます。ただしどちらも字形はMS Pゴシックと一緒です。
下図は7において、それぞれのフォントリンクからMS P明朝・MS UI Gothicを削除して表示してみたところです。やはりフォントリンクが使われていたことがわかります。


問題は8で、フォントリンクは7と同じにもかかわらず表示が異なっています。


つまり8ではフォントリンクが参照されていない・・・Arialのように、CJKフォント変化の影響を受けないということなんじゃないでしょうか。

下図はフルスクリーンモードでU+2637を大きく表示してみたところです。


これもやっぱりSegoe UI Symbolなのかなーと思ったのですが、各フォントのグリフを書きだしてみたところMeiryo UIやメイリオも同じ字形でした。


というわけで、これ以上はなんとも言えません。

ちなみChromeではOfficeが入っていればArial Unicode MS、Arial Unicode MSが無いとMS Pゴシックで表示されるみたいです。


7と8・IEとChromeで、字形だけでなく文字幅も異なります。フォント変化でも変えられないので、表示に互換性を持たせるのは無理っぽいですね。