睡人亭

Microsoft Office IME 2010を使いこなすを使いこなす

IMEパッドでUnicodeの異体字セレクタを利用する

IVSとは何か

Unicodeでは、複数の異なる字形を一つに包摂して扱っています。

これによって、文字表がシンプルになる等のメリットがあったのですが、分野によっては包摂された文字を別個のものとして扱いたいという要望も存在しました。

その問題を解決するために、Unicodeが制定した仕組みがIVS(Ideographic Variation Sequence)になります(Unicodeテクニカルリポート37)。

簡単に言えば、IVSとは、プレーンなテキストデータとして異体字を使えるようにする仕組みです。

元々、IVSの仕組みは、モンゴル文字(ウイグル文字で書かれたモンゴル語)を表記するために制定されたものです。

モンゴル文字は、その使われる場(語頭・語中・語尾)によって字形が変化する文字です。その機能を実現し、なおかつ同じ文字が異なる文字として文字表に収録されるのを防ぐために、通常の文字VS(Variation Selector:異体字セレクタ)の組み合わせが、考え出されたのです。

ᠠᠠᠠ(Google ChromeやSafariだと化けるかと思います。)

上のモンゴル文字は、ラテンアルファベットで「a」に相当するものを三つ並べたものです(「aaa」と同じ。本来モンゴル文字は縦書きです。)。これが語頭では「ᠠ᠋」、語中では「ᠠ᠌」、語尾では「ᠠ᠍」と字形が三通りに変化します。

上記「ᠠᠠᠠ」から一文字だけを選択してコピー貼り付けをすれば分かるかと思いますが、何れもコード上は同じ文字です(三文字を一度にコピーして貼り付け、一文字毎に改行すると字形が変化するので確認できます)。

モンゴル文字の場合、IVSの仕組みに対応しているオペレーティングシステムやアプリケーションを使うことで、字形の変化を自動的にやってくれています。

上記「ᠠ᠋」「ᠠ᠌」「ᠠ」の三字については、元々のU+1820「ᠠ」の直後に異体字セレクタ(モンゴル文字の場合、語頭が「U+180B」、語中が「U+180C」、語尾が「U+180D」)を入力して明示的に区別しているだけです。

漢字のIVS

冒頭に書きましたように、Unicodeに漢字を収録する際、包摂の考え方を使って、多くの異なる字形を一つの文字としてまとめました。

しかし、特定の分野では、実際の運用上これら包摂された異体字を異なる字形として利用したいという要望が根強くありました。それを実現するために、外字や独自コードが多く提供されてきました。

このように、文字コードの世界では様々な異体字セットが存在している状態が長く続いてきた中で、2005年にUnicodeに対し、エリック・ミューラーと樋浦秀樹両氏によってIVDの規格がUnicodeに提案(テクニカルリポート37)され、2006年に正式に制定されました。

IVDとは、IVSで利用する文字を登録・管理するデータベースです。IVDは有料登録制で、上記Unicodeテクニカルリポート37の4 Registration Procedureにその方法が掲載されています。

現在、IVDには、以下の二つの漢字コレクションが登録されています

Adobe-Japan1
Adobe社が使用している文字コレクションの規格であるAdobe-Japan1に収録されたグリフ集合のコレクションです。2004年に発表されたAdobe-Japan1-6(23,058グリフ)に相当します。
Adobe社の製品やAdobe-Japan1は、DTP分野で非常によく利用されているため、この分野では標準的な規格となっています。
Hanyo-Denshi
日本の経産省下の汎用電子情報交換環境整備プログラム委員会が管理する、住基ネット・戸籍システム・登記システム等での利用を想定したコレクションになります。主に日本国の行政上使用する漢字のうち、戸籍などの異体字を登録するために作成されたものです。元々は、互換漢字として追加することを企図していましたが、2010年にIVDに登録することに決定し、同年に正式登録されています。

漢字IVSの問題

IVDによって、これまで区別できなかった漢字の異体字が、テキストデータとして区別できるようになりました。

「邦」のIVDデータ
「邦」のIVDデータ(UnicodeのIVDデータ(73MBのPDF)より抜粋。以下、画像のIVDの出典は同じ。)

これはこれで喜ばしいできごとなのですが、その一方、様々な問題が生じています。

IVDの重複

同じ異体字が、複数のIVDとして割り当てられているものです。

「達」のIVDデータ
「達」のIVDデータ。「U+9039 U+E0101」と「U+9054 U+E0101」が重複。

基底文字とIVDとの重複

IVDとして制定された文字が、その後の検討で基底文字(異体字の親となる文字)として存在しているじゃないか、という問題が挙がっています。

参考:183についてのメモ

IVDの規格自体の縛り

IVDでは、その規格として、正式登録後に文字の削除や変更ができないという仕様になっています。そのため、よりふさわしい基底文字へと変更したい場合などが生じた場合、変更前と変更後の二通りの基底字+IVSの関係が発生する可能性があります。

原規格自体に起因する問題

現在のIVDには、Adobe-Japan1とHanyo-Denshiの二つのデータベースが登録されています。それぞれ、別個に制定されたものなので、統合時に重複が発生している場合があります。このようなよく似た字形が複数のIVSに入っている場合、単純なミスのほかに、この二つのIVDの包摂基準などが同じではないために、見た目上重複のように見える可能性もあるわけです。

「与」のIVDデータ
「与」のIVDデータ。U+E0100とU+E0102及びU+E0101とU+E0103の字形が類似。

これについて、上記テクニカルリポート37の1 IntroductionにThe Ideographic Variation database ensures that a given variation sequence is used in at most one collection.と、IVDに収録されたせいぜい一つの文字コレクションの中でしか整合性がないことが明記されています。そのため、規格の枠組みとして複数の文字コレクションの間で整合性がとれないのは、仕様なのであきらめるしかないです。

利用する側としては、今どの文字コレクションを使用しているかについて念頭に置き、それのみで使うということが望まれます。しかし、実際の使用上、そんな区別が出来るとも思えませんので、それぞれの文字コレクションが実装されたフォントを使い分けるなかで、IVSも使い分けてる形での利用になるかと思います。

それに加えて、Hanyo-Denshiでは、元となった戸籍統一文字や住基コードの文字を汎用電子情報交換環境整備プログラム成果報告書の「4.4.4.2デザイン統一基準」に従って改編したため、結果として字形の違いがよく分からなくなっているものがあります。この変更自体は、印刷標準字体に準拠したデザインにした結果など、複数の要因がありますが、IVSの違いがよく分からなくなっているのは事実でしょう。

「廷」のIVDデータ
「廷」のIVDデータ。
「廷」の異体字
「廷」の異体字。戸籍統一文字情報による。

上の例では、「戸籍統一文字番号108170」を出典として、IVDのU+5EF7のE0103にマッピングされています(出典のHanyo-Denshi KS108170は、汎用電子コレクション:戸籍統一文字番号108170を意味する)。しかし、筆押さえを無くしてデザインされているので、字形として類似したものがない形になっています。

IVSを利用するためには

UnicodeのIVSを利用するためには、それに対応したオペレーティングシステム・アプリケーション・フォントが必要になります

オペレーティングシステム

Windowsの場合は、VISTAから対応していますが、対応する対応するフォントとアプリケーションが必要です。

Windows7でも、もちろん利用可能です。標準アプリとしては、メモ帳がIVSに対応していますが、対応するフォントが必要です。。

Mac OS Xでは、10.6から利用可能です。対応するフォントとアプリケーションが必要です。

フォント

WindowsやMac OS Xでは、標準インストールされた状態でIVDに対応したフォントは、ありません。

対応したフォントとしては、以下のものがあります。

小塚明朝/小塚ゴシック Pr6N
Adobe社製品に付属しているフォントです。
花園フォント
GlyphWikiで開発されている漢字フォントです。明朝体しかありませんが、CJK統合漢字全てと、IVDに対応しています。フォントは二分割されています。
Y.OzFont
手書きベースの書体です。
IPAexフォント
独立行政法人情報処理推進機構(IPA)が提供する無償利用可能な日本語フォントです。ここから派生したIPAmj明朝(検証版)が、現在汎用電子などを含んだフォントとして利用できます。

アプリケーション

IVSが利用可能なアプリケーションには以下のものがあります。現在の所、余り対応しているアプリケーションはありません。個人的によく使うのが、一太郎とInDesignあたりです。

  • Windows7標準のメモ帳
  • 一太郎2008以降
  • 一部のブラウザ(Mozilla FireFox4以降等)
  • Abode社の製品(InDesign等)
  • Alpha(テキストエディタ)
  • Emacs 23

Windows7&メモ帳でIVSを使ってみよう

ここでは、Windows7に標準でインストールされているメモ帳を利用して、IVSを入力してみましょう。

入力前にメモ帳をあれこれ設定

IVSに対応しているメモ帳とは言っても、そのままではIVSを表示できません。いくつか設定する項目があります。

まず、メモ帳を起動しましょう。

スタートメニューすべてのプログラムアクセサリの順にメニューを辿ってメモ帳を左クリックして起動します。

メモ帳を起動

メモ帳の画面です。

メモ帳の画面

入力前に、IVSに対応したフォントに切り替えましょう。

メニューの書式フォントを選択します。

メモ帳からフォント設定を選択

フォントの設定画面です。ここでは、フォントを小塚ゴシックProNの標準に、文字サイズを大きめの24ポイントにしてみました。

メモ帳のフォント設定

IMEパッドでIVS入力

設定が終わったら、IVSを入力してみましょう。

ここで活躍するのが、MS-IME 2010のIMEパッドです。

まず、メモ帳に普通に文字を入れてみましょう。ここでは「辻」を入れてみました。

「辻」を入力

入力したら、IMEパッドを起動し、文字一覧に切り替えます。

「辻」を入力 「辻」を入力

次に「辻」の直後にカーソルを移動し、文字一覧バリエーションセレクタ補助を左クリックします。

次に、一覧のU+E01000をクリックします。

「辻」を入力

U+E01000をクリックすると、未確定の空白らしきものが表示されます。

「辻」のIVSを入力中

Enterを押して確定すると、未確定の空白らしきものが消え、異体字に変換されます。

「辻」のIVSを確定

Y.OzFontを使って、IVSを色々入力してみました。

「辻」のIVSを確定

一太郎でもこのように使えます(上記メモ帳の入力結果をコピーして貼り付けたものです)。

「辻」のIVSを確定

参考資料

インターネットで見ることができるIVS, IVD関連情報の一部です。参考にして下さい。