Hatena::ブログ(Diary)

ちくちく日記 このページをアンテナに追加 RSSフィード Twitter

2013-03-07

Win8のIVS対応はあれなので、たすかったかもしれない

MSのセミナー「Windows 8 で変わる文字 - 異体字と Unicode IVS〜 情報システムにおける日本語処理 〜」に行ってきました!

ついにWin8でIVSを扱えるようになったということで、Win8がIVSにどういうふうに対応しているのか?もっというとそこで入力されたIVSテキストが入稿されたらどうなるのか?というあたりが知りたくて、参加してきました。

(私のブログを見る人の興味は主にDTPに関わるとどうなるか、というところでしょうから、そこは最後にまとめてます。途中の話がややこしくてわからんという方は最後だけお読みください。)


主に開発者を対象に、文字の基礎知識から最新Win8でのIVSの取り扱いまでを説明しますというこのセミナー、予定されているセッションコンテンツを見ると

どのセッション一つとっても、それだけで説明するのに数時間はかかりそうな項目なのに、これらをまとめて2時間でやってしまうという…!お得!いや違う!無理だろ!

とりあえず、今回の一番の目的は、最終セッションのWindows8における IVSサポート。Windows8で初めて正式サポートされたIVSについての説明。

そこまでちゃんとたどりついてくれよーと思いつつ、セミナー開始。

さすがに、この時間内で詳細な基礎解説…というのは無理で、どのセッションも概要というかざっくり大雑把な説明。

文字コード基礎知識解説といいつつ、多分、初心者がこのセミナーを受けてもちんぷんかんぷんだと思う。ある程度知識がある状態で聞かないとわからない。知識のない人のために解説してるというより、いままでの流れをざっくりとたどることで、受講者と基礎的な知識の擦り合わせをするためのセッションというのが正解かも。

基礎的なセッションの細かい内容については、レポートしませんが(文字コード関連の歴史とか調べればわかる話だし)全体的な印象として

  • 日本語文字コードをMicrosoftがWindowsにどう採用してきたか
  • 日本語文字コードについて、ソフトウエア開発者の視点からの解説

この二つのポイントでまとめられていたと思う。

文字コードの歴史を説明する時、どうしても話が長くなるのは、例えば書体、字形、字体などの文字そのもの話、JISやUnicodeといった規格の話、Windows、MacintoshなどのOSによる話など色々な要素が複雑に絡まっていて、それぞれを説明するのが大変だから。

この日のセミナーでは、視点をWindows関連の開発というとこにしぼることで、よけいな枝葉をばっさり落とした説明がされていた。

さて、前半の1時間でそういった基礎知識のダイジェスト説明が行われ、後半いよいよIVSのセッションに。

えー、このセッションが、なんていうかスムーズにつらつらと流されたのですが、後から資料を読み返すと色々疑問のでてくるセッションで…。私の理解が間違っているかもしれないので、ここからのレポートには詳しい人からの添削をお待ちしております。


どこから説明していいかわからないけど、とりあえずセッション最後のまとめのテキストを引用

Windows 8は、Unicode IVSをサポートすることにより、文字情報基盤構築事業で整備された文字、約58,000文字を扱えます

Windows 8日本語フォントにJIS90字体をIVSとして使用可能

・入力文字の範囲を環境に応じて管理する事ができます。

・Offie 2007/2010用のアドインを活用することにより、スムーズに移行できます


まず最初の「文字情報基盤構築事業で整備された文字を扱えます」という話。

この文字情報基盤構築事業で整備された文字っていわゆる汎用電子のIVDの事なのね。このセミナーではなぜかIVDコレクションについて汎用電子の方ばかりをフィーチャーしてて、Adobe Japan1にはあまり触れられてなかった。

じゃあ、Win8で使用できるIVSは汎用電子のものなのかな?と思うじゃないですか。MS明朝やメイリオは汎用電子IVS対応のフォントなの…?ついにIPAmj明朝以外にも汎用電子のコレクションに対応したフォントが…?しかもWin標準フォントがそれとか、涙がでそう…!(主にこれからの印刷入稿データの大混乱を予想して…!!!)

ところが2つ目の「Windows 8日本語フォントにJIS90字体をIVSとして使用可能」これ、どういうことかというと「VistaでWindows標準書体がJIS2004対応したことで、表示できなくなったJIS90の字体にIVSを振って、IVSで呼び出せるようにしました」という事。


わかります?


JIS2004対応ってのは JIS2004で168文字の字形が変更された事により、それまでのJIS90の環境と字形が変わってしまう文字がでるってやつ。ちなみにWinowsはVistaからJIS2004準拠のフォントを採用してる。

そのあたりのDTP的説明はこの辺を参照。(Vista文字対応、DTP的対処その1)(Vista文字対応、DTP的対処その2)


Vista以降のMSフォントがJIS2004を採用したことによって、自動的にJIS90で表示されていた一部の字形が表示できなくなっている。(ちなみにJIS2004の字形変更は168字だが、実際に変更された字形は122字である)※122文字という文字数について、そうではないという話もあるのですが、とりあえず公式発表が122文字ということなので、それに習います

この表示できなくなった字形にIVSをふって、表示可能にしましたよ、と言ってるのです。

えっっ?つまり、IVSをもっている文字は122文字だけなの??な、なにそれ?

どうなってんだとうろたえていたところ、ものかのさんが実際のWin8のシステム標準和文フォントに搭載されているIVSを一覧にしてくれました。仕事早い…!



f:id:akane_neko:20130307115603p:image

▲テキストを表示したところ(一部)

これ、MSフォントがもってるIVSを一覧にしてもらったものですが、二つポイントが…


  • コレクションが汎用電子じゃなくて、Adobe-Japan1
  • 122文字じゃなくて、127文字ある

おい!話がちがうよ!

まず、コレクションがAdobe-Japan1。

セミナー中では汎用電子の話ばかりふっていてAJ1にはほとんど触れなかったにも関わらず、採用されたコレクションはAdobe-Japan1。

と、いうことは、入力の際IMEが変換するIVSもAdobe-Japan1のIVSなわけで、汎用電子ではない。

つまり、デフォルトのWin8の環境では汎用電子コレクションのIVSを入力するのは不可能なわけです。


そして、122文字じゃなくて127文字のとこ。

JIS2004対応によって表示できなくなった文字は122文字のはず。なのにそれにプラス5文字が追加されている。これはなんだ?

いや、そもそも127文字だけ対応ってなんだそれ。対応するなら全字形対応すればいいじゃないか、なんで127文字だけなんだ?

これだとWin8の標準環境で入力できるIVSは127文字のみである。

なんだそれーーーーー…。

しかしこれはDTP的には(混乱を防ぐという意味では)悪い事ではない

実際に入力できるIVSが127文字しかないなら、変換も簡単だし、汎用電子ではなくAdobe-Japan1というDTPで主流のコレクションを採用していることによってこちら側でそのまま使用できる可能性が高くなった。(そもそもIMEの設定でデフォルトがIVS入力させない設定になっているので、そこからしてもうっかりIVS入力ってことは少なくなるように思う)

ただ、純粋に技術的な観点からいくと「なんでそんな中途半端な実装してんのMicrosoft…!」とかなり脱力する。

なんていうか…「IVS採用するけど、とりあえず全部じゃなくていっか。じゃあVistaん時にもめたJIS90だけのせとく?」みたいな感じ。

なんでMSがこんな実装にしたのかは不明だけど(セミナー後の雑談では「過去の環境との互換性をとにかく優先した実装じゃないか」みたいな意見がでてた)Win8のIVS対応にかなり身構えていたこちらからすると、やや肩すかしをくらったかも。

他にまだ色々疑問点はあるのだけど(127文字しか対応してないなら、フル対応で入力したいときはどうしたらいいのかとか、汎用電子の入力はどうすればいいのかとか)とりあえず、またWin8のIVS解説セミナーはあるので、そちらでも情報を仕入れてみたいと思う。


まとめ

Win8のIVS対応で、DTP的に入稿データが大混乱するんじゃないかと思ってましたが、蓋を開けたら、デフォルト対応は127文字しかなかったでござる。

採用されたIVDコレクションがDTP標準とおなじAdobe-Japan1だったので、入稿されたテキストに対応できるフォントがないという問題は回避できそうでござる。

それにしてもMSのIVS対応は中途半端でよくわからないでござる。

ogwataogwata 2013/03/07 13:37 「なんでそんな中途半端な実装してんのMicrosoft…!」について
マイクロソフトでは、Windows Vista以降はJIS X 0213のレパートリをサポートしています。これは扱える文字の範囲がJIS X 0213であるということです。逆に言えば、JIS X 0213を越える範囲、たとえばAdobe-Japan1-6などは(JIS X 0213と重なる部分を除けば)どうでもいい、というか無いも同然という割り切りをしていると思われます。もっといえば、JIS X 0213を越える文字をサポートする義理もリソースも、マイクロソフトにはないわけですね。
今回のIVSの実装の目的は、過去の実装との互換性を確保しようという目的「しか」ないのだと思います。ですから、IVSは約130ほどですむわけです。
IVDをHanyo-Denshiにしなかったのは、おそらくより普及しているのがAdobe-Japan1のIVDだからと推測します。まあ、たしかにこの点は確かめてみたい気がしますね。

こんな説明でお分かりいただけるでしょうか?

ogwataogwata 2013/03/07 14:03 まあ正確に言うとJIS X 0213以外にもいろんなUnicodeのキャラクタをサポートしているんですよね。WGL4とかね。このあたりご参照ください→ http://www.microsoft.com/ja-jp/windows/products/windowsvista/jp_font/jis90/default.aspx

akane_nekoakane_neko 2013/03/07 14:03 ありがとうございます。
あくまでWindowsで対応している文字コードの範疇しかサポートしないって事ですね。たしかにAJ1のグリフすべてに対応しようとすると、MSにとってはよけいな手間がかかりすぎるとも思います。

しかしIVSという規格からみると、なんとも…な実装ですね。

koikekaishokoikekaisho 2013/03/08 20:02 MicrosoftってJIS X 0212もサポートしてた気がするんだけどな。ま大勢に影響ないけど。

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

リンク元