8 . 1 は じ め に
本 章 で は 、 多 文 字 対 応 と し て Unicode 定 義 さ れ て い る Ideographic Variation Sequence(IVS) を 使 用 し た 異 体 字 文 字 表 示 の 実 装 を 試 み た 。IVS は 、Unicode
Consortium で仕様 定義されて いるが、現 在まだフォ ント、入力 、レンダリ ングエ
ンジンが充分整備されていないため、一般には使用できない状態が続いている。有 効性を確認するため、実装と実験を行い、今後の課題を整理する。
8 . 2 IVS 対 応 に 向 け た 環 境 の 整 理
IVSとは、「5.3.1 異体字」で示したように、多文字である漢字において、
符号化されている漢字の異体字を表現可能とするコード列でしかない。つまり、実 際に異体字をディスプレイ等に出力するためには、IVSが定義されているだけでは、
まったく意味をなさず、IVSを入力する InputMethod、IVS対応のフォントと IVS を解釈しフォントから適切なグリフを呼び出し表示するレンダリングエンジン、そ してそのレンダリングエンジンに対応するアプリケーション(テキストエディタや ブラウザ)が必要である。
過渡期であるため、公式に IVS 対応している環境は 2009 年 12 月現在ほとんど ない。
InputMethodについては、現状でIVS対応を表明している InputMethodはない
た め 、「 第 七 章 多 言 語 InputMethod の 実 装 と 評 価 実 験 」 で 実 装 し た 、 多 言 語
InputMethodの IVS対応を試みる。
フォントについては、Adobe Systems 社が IVD 登録時にも利用している小塚明 朝 Pr6N や 小 塚 ゴ シ ッ ク Pr6N、 ま た グ リ フ wiki で 公 開 し て い る 花 園 明 朝 OT
xProN66が IVS 対応を表明している。今回は、IVS のフォント実装方法も確認対象
とするため、オープンフォントであるIPAフォントを使って IVS実装を試みる。
66 グリフ wiki 「花園明朝 OT とは」
http://glyphwiki.org/wiki/Group:mashabow_%E8%8A%B1%E5%9C%92%E6%98
%8E%E6%9C%9DOT%E4%BB%AE
161
レンダリングエンジンとして、OS レベルでは Windows7 が対応しているが、表 示できるアプリケーションはメモ帳だけである67。これは、Windows7 で稼働 す る ブラウザやオフィスソフトウエア等の多くのアプリケーションが独自のレンダリン グをおこなっているため、必ずしも OSレベルの対応だけでは、IVS 実装の確認が 出来ない状況を示している。
8 . 3 IVS 対 応 の 実 装
多 言 語 InputMethod の IVS 対 応 お よ び IPA フ ォ ン ト の IVS 対 応 を 行 い 、
Windows7での異体字表示を行う。
8 . 3 . 1 IVS 対 応 フ ォ ン ト の 作 成
IPAフォントを利用して、IVS対応フォントを作成した。
OpenType フ ォ ン ト の IVS 対 応 に つ い て は 、OpenType specification version 1.6(2009)の中で、cmapテーブル(Character To Glyph Index Mapping Table)の Format 14(Unicode Variation Sequences)に仕様が明示されている68。この仕様 に従って、IPAフォントの改変を行った。IVS 追加の対象を、JIS X 0208:1997 か
らJIS X 0213:2004で例示字形が変更された 168字とした。
8 . 3 . 2 IVS 用 変 換 辞 書 作 成
多言語 InputMethodのIVS対応においては、「7.4.3 変換辞書データ」の
登録が必要となる。
変換辞書とは、key input string、output string、Detailed Information をタブ 区切りしたテキストデータであるが、IVS対応にあたっては、output string に異体 字セレクタ(Ideographic Variation Selector Character:IVSC)を付加すること になる。
例えば、葛飾区や葛城市の「葛」は、本来の字体を図 47 に示すような字体であ
67 2009年12 月現在、Microsoft社は、Windows7に対する IVS対応は正式にはコ
メントしていない。技術者間による非公式情報に基づいて確認作業を行ったところ、
メモ帳での異体字表示を確認した。また、Adobe社は OSには依存せずに Acrobat9 でIVS対応済みを公表しており、異体字表示切り替えが行えることを確認した。
68 http://www.microsoft.com/typography/otspec/cmap.htm
162
る と主 張 し て いる が69、 多 くの フ ォ ン トで は 、 異 なる 字 形 が 採用 さ れ て いる た め 、 表示することはできない。
図 47 葛 飾 区 や 葛 城 市 の 例
そこで、多言語 InputMethod で葛飾区や葛城市の「葛」を所望の字形で表示す るために、図 48 のような変換辞書テキストを作成した。図 48 は可視的に異体字 セレクタを表示するために Mozilla Firefox3.55 上で表示した際の画面ダンプであ る。
図 48 IVS 用 変 換 辞 書
葛飾区の例では、1行目は IVSを用いない通常の出力のために key input string:
katushikaku、output string:葛飾区、Detailed Information:名詞とした。2行
69 葛飾区議会「文字の表記について」:
http://www.katsushika-kugikai.jp/10300.html
163
目は、IVS を用いた異体字出力のためにkey input string:katushikaku、output
string:葛 U+0E0100 飾区、Detailed Information:名詞とした。これにより、2
種類の葛のグリフを切り替えることができるか試すことができる。
8 . 3 . 3 MySQL へ の 登 録
IVS 用変換辞書を、MySQL に登録するにあたってテーブルの修正とそれに伴う プログラムの修正が必要となった。
今回実装に利用したリレーショナル DB である MySQL5.0.82 は、Unicode を扱 うエンコード方式である UTF-8 をサポートしているが、UTF-8の 4バイト文字対 応をしていないことがわかった。
UTF-8は、図 49のようなビットパターンになっており、3バイトまでで 16bit、
4 バイトまでで 21bit まで表現できる。3 バイトで表現できるのは Unicode の第 0 面である Basic Multilingual Plane面(U+0000〜U+FFFF)であり、U+E0100か
らU+E01EFの異体字セレクタは4バイト文字対応でなければ使用できない。
0xxxxxxx (00-7f) 7bit
110yyyyx 10xxxxxx (c0-df)(80-bf) 11bit 1110yyyy 10yxxxxx 10xxxxxx (e0-ef)(80-bf)(80-bf) 16bit 11110yyy 10yyxxxx 10xxxxxx 10xxxxxx (f0-f7)(80-bf)(80-bf)(80-bf) 21bit 111110yy 10yyyxxx 10xxxxxx 10xxxxxx 10xxxxxx (f8-fb)(80-bf)(80-bf)(80-bf)(80-bf) 26bit 1111110y 10yyyyxx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx (fc-fd)(80-bf)(80-bf)(80-bf)(80-bf)(80-bf)
31bit
図 49 UTF-8 の ビ ッ ト パ タ ー ン
そこで、多言語 InputMethod用に設計したDB における output stringのデータ
型がvarcharであったところを、varbinaryに変更し、さらに Ajax プログラム側で
varbinaryを変換するように改変を行った(図 50)。
結果として、図 51のようにIVSCを含む文字列をDBに登録することができた。
ただし、表示は Webブラウザから MySQL を操作するツールである phpMyAdmin の画面であるため、WebブラウザがIVS 未対応であるため、異体字セレクタ部分は
164
□で表示されている。
図 50 多 言 語 InputMethod の DB 構 造
図 51 IVS 用 変 換 辞 書 の DB へ の 登 録
165 8 . 4 IVS 対 応 の 検 証
文 字 入 力 ク ラ イ ア ン ト 環 境 と し て 、OS を Windows7、 文 字 入 力 は Internet
Explorer 8上で多言語 InputMethodを用いて、IVS 対応の検証をおこなった。
図 52、図 53は、葛城市を入力した例である。図 53のように確定した文字の中 の 異 体 字 セ レ ク タ は □ で 表 示 さ れ て お り 、 異 体 字 が 表 示 さ れ て い な い 。 こ れ は 、
Internet Explorer 8がIVS 対応できていないためである。
図 52 葛 城 市 の 入 力 ( IVSC な し )
166
図 53 葛 城 市 の 入 力 ( IVSC あ り )
そこで、Internet Explorer 8で表示されている図 52、図 53は、葛城市の文字
列をメモ帳にコピーした。同様に「枢機卿」も多言語 InputMethod で入力しメモ 帳にコピーしたものが、図 54 である。メモ帳上では、IVS を解釈し、異体字を表 示していることが確認できた。
したがって、多言語 InputMethod により、IVS を文字コードとして間違いなく 処理できていることが確認できた。
図 54 メ モ 帳 で の 表 示
167 8 . 5 お わ り に
本章で、IVS に対応したフォントおよび InputMethod を作成し、IVS を使用し た異体字文字表示の実装を試みた。結果として、IVS対応が過渡期であるため、表 示環境に制約はあるものの、IVSにより異体字表示をおこなうソリューションの展 開は可能であることが確認できた。また、本研究で開発した AjaxIMEのような IVS
対応 InputMethod および IVS 対応のパブリックフォントをオープンソースとして
提供すれば、行政システム等の情報通信基盤における障害となっている異体字問題 を解決するひとつの手段となりうることを同時に確認できた。
今後の課題としては、IVS のレンダリングを行うことができる OS 並びにアプリ ケ ー シ ョ ン を 増 や す こ と で あ る 。 本 章 の 検 証 の よ う に 、 フ ォ ン ト お よ び
InputMethod が対応していても、表示側(=レンダリング)が対応していないと、
相互運用性が生まれない。
行政システムにおける文字処理環境の整備という視点において、オフィスソフト、
Webブラウザなどが IVS に対応することが期待される。
168
169
第三部 結論
170