ちくちく日記

DTP系備忘録。真面目にやってます。

MS IVSアドインでDTPにはどんな影響があるのか

マイクロソフトがOfficeドキュメントでIVSを使用できるようにするアドイン「Unicode IVS Add-in for Microsoft Office」の無償提供を開始しました。

これを使えばOfficeソフトの「Word」「Excel」「PowerPoint」でIVSでの表示、印刷、編集が行えます。「Access」や「Outlook」には対応しません。



ああああーーー、ついにきたかーーーー。
と、いうことで、OfficeソフトのIVS対応でDTP作業にどんな影響があるのかを簡単にあくまで簡単に説明してみる。



そもそもIVSって何?


まずは基礎知識から。

DTPでいわゆる異体字を使おうと思うと、例えばInDesignや、Illustratorなどのアプリケーションに入力された文字に対して字形切り替えパレットから字形の切り替えを行うといった方法があります。

InDesignの字形パレットで異体字を切り替える

ただし、これはあくまでInDesignIllustratorといったアプリケーションの機能によって字形の切り替えを処理しているので、この異体字情報を他のアプリで使用することはできず、たとえば字形を切り替えた文字を他のアプリケーション、エディタ等にコピペすると元の字形に戻ってしまいます。

テキストエディタにコピペすると異体字情報は消えてしまう


つまり、純粋なテキストファイルの状態だけでその文字の字形についての情報をやり取りすることはできなかった。
IVSとは、こういった状況を解消すべく、字形についての情報も文字コードに持たせてしまおうという規格です。

簡単にいうと、テキストエディタとかで文字打ってる状態から、異体字の情報も込みで入力できて、そのテキストをそのまま他のアプリ(InDesignでもIllustratorでも、WordでもExceldでも何でも)に持っていってもちゃんとその字形で表示できるようにしようって事。わぁ便利。


どうやってするの?


IVSがどうやって異体字の情報をやり取りできるようにするのかというと、今使っている文字コードに、字形を選択する番号を含ませて、字形まで特定します。

例えば

通常の文字コードunicode)にその文字の字形を選択する番号(字形選択子 VS)をくっつける事で、その文字の字形まで特定できるようにしようってことね。


すごい!じゃIVSってすぐ使えるの?


IVSを実際に使うには

1.OSの対応
2.アプリケーションの対応
3.フォントの対応

の3つが必要。

まず、OSが対応して入力の際にIVSで入力できるようにする。さらにアプリケーションが対応してIVSで入力された文字を表示、印刷、編集できるようにする。最後にフォントが対応してIVSの字形を表示できるようにする。

この3つがそろわないとIVSは使用できません。

今回のMSのIVSアドインを発表ってのは「2.アプリケーションの対応」部分にあたる。
「1.OSの対応」については、すでにWindows8がIVSでの入力に対応している。
あとはフォント。IVS対応フォントについては独立行政法人情報処理推進機構(IPA)が公開している「IPAmj明朝」を利用する事ができる

これでOffice製品でIVSを使ってテキストを入力する環境は整ったという事。

では、このIVSで入稿されたデータを使ってDTPはできるのか?

単純に、入力されたテキストを使うだけ、という前提だとして。
「2.アプリケーションの対応」AdobeのソフトはInDesignCS4以降でIVSの字形表示には対応している。
「3.フォントの対応」モリサワはPASSPORTの2012アップグレードで一部フォントのIVS対応を発表している。


アプリケーション、フォントの環境は整っているように見える…が、そうではない。

InDesignはCS4以降で一応IVSに対応しているけれども、実際はIVSが表示できるようになりましたよ、程度で業務に使用するにはかなり心もとない実装具合(IVSで入力された文字の検索置換はできなかったり、IVS入力された文字は二つの文字があるような挙動になったり。このあたりの問題はNAOIさんのブログに詳しい)、モリサワは一部のフォントでIVS対応したというだけ。今後全部のフォントがIVSに対応するのかどうかわからない。

フォントに関してはさらに、もうちょっとややこしい問題もある。
さっき、IVS対応フォントとして「IPAmj明朝」をあげたけど、実はこのフォントが対応しているIVSとモリサワが対応するIVSには違いがある。

IVSというのは、文字コードunicode)にその文字の字形を選択する番号(字形選択子 VS)をつける、と言ったけど、この字形を選択する番号を管理するデータベース(IVDコレクションという)が2種類ある。
それが「Adobe-Japan1」と「Hanyo-Denshi(汎用電子)」

Adobe-Japan1」は私たちDTP関係にはなじみが深い、AdobeのグリフセットAdobe-Japan1の漢字にIVSのための番号を降ったもの。
対して「Hanyo-Denshi(汎用電子)」というのは経済産業省が戸籍とか住基ネットのような行政システムに使う事を想定して作ったIVDコレクション。現在人名や地名などで使用される漢字(異体字)を積極的に集めたコレクション。

いま、IVSに対応したフォントを作ろうとすると、この2種類のIVDコレクションどちらかに対応させて作ることになる。
Adobe-Japan」のみに対応したIVSフォントでは「Hanyo-Denshi(汎用電子)」の字形を表示できないし、その逆もしかり。


今回のMSのIVSアドインで、入力フォントとしておすすめされている「IPAmj明朝」は「Hanyo-Denshi(汎用電子)」に対応のフォント。
モリサワが対応したIVSフォントは「Adobe-Japan」に対応。

クライアントが「Windows8だし、OfficeにIVSアドインいれたからIVS入力したテキスト入稿するよーよろしくね☆」って言ってもそれが「Hanyo-Denshi(汎用電子)」に対応のIVS入力だと、その字形を表示できるモリサワフォントはない。


つまりOfficeはIVS対応したけれども、それをそのままDTPで利用できるという環境では全然ないということだ。


もちろん、これはまだまだIVSというのが出始めの技術だからで、今後徐々に環境は整っていくだろうと思う。
しかし、今回OfficeがIVS対応してしまったことによって、環境が整わないなかで、実際に入稿が入ってくる可能性が出てきてしまった。

ただ、救いは今回のMSのIVS対応、実際にIVS入力するためには、Windows8でIVS入力のオプションをオンにし(デフォルトではオフ)、表示の為に「IPAmj明朝」などのIVS対応フォントを入手し、さらにOfficeのアドオンである「Unicode IVS Add-in for Microsoft Office」をポータルサイトCodePlex」から入手する…という結構めんどくさい手続きを踏まなければならない。

ここまでの手順を踏まなければならない事を考えると、何も知らない素人がIVSでうっかり入力…という事態は少ないだろう。
問答無用で字形が置き換わったWindows VistaでのJIS2004問題(Vista文字対応その1その2)に比べれば影響範囲は狭いと思われる。

【追記 2012/11/16】
OfficeへのIVSの入力について、私も一部誤解していたところがあるので追記。

Office 2010/2007への IVSアドインを使ったIVSの入力は、専用文字パレットからダブルクリックで入力するというたぐいのものだそうで、Windows8でも直接IMEから入力できるわけではないらしい。

ただし、今度発売になるOffice 2013ではWindows8IMEからダイレクトにIVSが入力できる。こちらはアドインも必要ない。

OfficeでのIVS入力はOffice 2013からが本命で、Office 2010/2007用のIVSアドインはあくまでOffice 2013とのIVSの互換性維持の為に用意されたと考えてもいいかもしれない。
【追記 ここまで】

とはいえ、故意にIVSで入稿されてくることはあるかもしれない。


入稿されたデータからIVSの使用が判断できるか?


現状DTPサイドでIVSを使ったデータでの作業が困難である以上、入稿されるデータにIVSが使用されているかどうかを判断したり、IVSを使用されたテキストを通常テキストに変換するような作業が必要かもしれない。

まず、入稿されたOfficeデータにIVSが使用されているかどうかを判断できるか?

…これ、現時点では判断する方法はないんじゃないと思う。
と、いうのもOfficeのIVSアドインは、IVS入力を実現するためにかなりトリッキーな仕組みをつかっているようで、Officeアプリケーション内ではIVSの文字コードを持っていないらしい



▲OfficeのIVSアドインがどういう風にIVSを処理しているか…についてのTwitterでの考察
Office上でいったん独自の外字領域に割り当てて表示した後テキスト書き出しの際にIVSに置き換えてるっぽい

だからOfficeアプリケーション上でIVSがあるかどうかを判断するのは難しそう。

入稿されたのがOfficeデータではなくテキストファイルなら、テキストのIVSを検出するツール、IVS Checkerでチェックできる…って思ったら、IVS Checker、今、公開見合わせてるのね…。
他にもIVS Checkeのようなツールがあるかどうかは知らないので残念ながら、今のところテキストファイルにIVSが含まれるかどうか簡単にチェックする方法はないと思う。

「テキストにIVSが含まれているかどうかは、VSの正規表現 [\x{E0100}-\x{E01EF}] がマッチするかどうかで判定すればいいと思います。」という意見をものかのさんからいただきました。これが簡単な方法と感じるかどうかはその人のスキルによると思いますが、確かにこれでチェックはできます。


入稿されたデータからIVSを取り除けるか?


InDesignなどでのIVSの取り扱いが完全ではなく、IVSを使うことによって不具合が生じる可能性がある以上、入稿されたテキストからIVSを(というか、字形選択子 VSの部分を)取り除いて使用した方がいい。
ただ、これも現時点では簡単なツールなどはないので、perlなどでテキスト処理を行い、VS部分を取り除く事になる。


ということで、現状のIVSを巡るDTP周りの問題点をまとめてみると


問題点まとめ


1.OfficeなどでIVSを使って異体字を含めたテキスト入力が出来るようになった

2.だが、DTP環境を見るに、これを処理する十分なツールがそろっていない

3.さらに入稿されたファイルにIVSが含まれているかどうかを判断する方法が確立されていない

4.入稿されたファイルからIVSを取り除く方法も同じく確立されていない



こういったあたりが問題なわけです。

色々書いたが、正直先に書いたように、現時点でOfficeのIVSアドイン使ってIVS入力しようなんてやるのは、ほんとーーーにごく一部のマニアかあたらしもの好きだけだと思う。
IVSを使った入稿がすぐにあるとは考えづらいし、こんな手段をわざわざ使って入力してくるような人は、入稿の前に「IVSを使います」ぐらい知らせてくるだろう。
まぁ知らせてもらっても、現段階で対応できないのは同じなんだけど。「IVS使えますか」って連絡があったら「すいません、使えません。通常のテキストをお願いします」っていうしかないなー。

もし「IVSを使います」の連絡もなく、いきなりIVSを使ったデータの入稿があったらどうするか?

そんな入稿してくるやつは「地獄に堕ちろ!」と全力で呪っちゃっていいと思います☆