電子書籍の(なかなか)明けない夜明け
第6回 電子書籍時代の外字問題を探る(1)~文字コード規格とフォントの関係
●「電子書籍元年」の次は外字問題?
5月23日、米国の出版団体IDPF(International Digital Publishing Forum)は、かねて審議を進めてきたEPUB3のPublic Draftをリリースしたことを発表した[*1]。EPUB3はこの版で仕様として一応確定され、今後はバグフィクスだけが行われるという[*2]。ここで注目すべきは、リリースにある「EPUB3は夏過ぎにも最終的なIDPF勧告仕様になると確信している」という一節だ。従来EPUB3のリリースは今年5月15日とされてきた。この一節は、その目標は守れなかったものの、ゴールは手を伸ばせば届くほど間近に迫ってきたことを告げるものと言える。
EPUBの現バージョン(EPUB2)は、これまでApple、Google、Sony等、有力ITベンダーがこぞって対応する一方で、縦書きや禁則処理など日本語に不可欠な処理が実現できず、紙の書籍より数段劣る組版品質に甘んじざるを得なかった。しかし次バージョン、EPUB3のめどがついたことにより、そうした不満も解決へと向かうことになろう。これによって、日本でも本格的に電子書籍の普及が進むことが期待される。
さて、フォーマットについてはめどがつきつつある現在、次に乗り越えるべき技術的障壁として注目を集めつつあるのが、外字問題だ。なぜか? 電子書籍が普及する条件として、紙の本と同じ品質の実現が挙げられることは多い。例えば去年、総務省、経産省、文科省が連携して電子書籍振興の枠組みを議論した三省デジ懇の報告書では、以下のような表現があった。
電子出版においても、歴史的文書における字体、著者の表現、編集者の方針等を正確に電子化することが求められるため、原字を正確に表現できるようにする必要がある。[*3]
このように信じる人々(紙の本をつくっている出版社が多いようだ)にとって、外字問題を解決しないことには、電子書籍の普及は絵に描いた餅のままだ。そこで、この問題がクローズアップされることになる。
外字問題とは、言い換えれば「コンピューターで使える文字が足りない」という問題でもある。もちろんこのテーマは「電子書籍元年」のずっと前から議論されてきた。しかし電子書籍という現実的な用途を目前にして、外字問題に関する興味深い動きが出てきたように思う。以下、新しいトピックをお届けしたい。
●「外字」を再定義してみる
まず、外字とは何なのだろう? 一見すると簡単そうに思えるが、意外にこの疑問に答えるのは難しい。外字とは便利な言葉で、その場に応じて多様な意味で使われる。それだけに本当の姿を捉えるのが難しい。そこで、外字よりも1つ上のレベル、コンピューターで扱える文字全体を概観してみよう。外字以外を見定めれば、おのずから外字そのものも見えてくるはずだ。
およそ工業製品である限り、標準と実装の2つの軸で考えることができる。コンピュータにおける文字に当てはめると、標準は「文字コード規格」、実装は「フォント」ということになるだろう[*4]。これらをマトリクスで分類してみた。
図1 コンピューターにおける文字の、標準と実装による分類 |
上図のように標準と実装を組み合わせることで、コンピューター上の文字は4つに分類され、そのうち外字は3種類に区分できる。この図から分かることは、いつでもどこでも常に外字である漢字など存在しないということだ。外字とは相対的な存在だ。それは(あまり使われない表現だが)内字以外のことであり、内字とする範囲が変われば、外字も変わる。内字と外字の境界線は、常に揺れている。
以下、この原稿では基準とする文字コード規格を現在主流を占めるUnicode、そして基準とする実装を、現在主流を占めるパソコン向けOS、Windows Vista/7とMac OS Xの両方、あるいはどちらかとする。また、この原稿で俎上にあげるのは漢字に限定する。つまりこの原稿で文字と言えば漢字を指す。
●「内字」としてのJIS X 0213
それでは以下、図1の区分に従ってひとつずつ説明していこう。まず右上、図1では「内字」とした緑色の区分。文字コード規格に収録され、フォントにも実装されている文字。これは標準化されただけでなく、実装も済んだ文字だ。この区分の大きな強みは、機種や環境が異なった相手と情報交換をしても、互いが同じ規格をサポートしている限り、文字化けを心配しないで済むとだ。
たとえばWindows 7で作成したテキストファイルを、Mac OS Xに持ってきても文字化けしないのは、両OSが同じ文字コード規格に対応しているからだ。逆に言えば標準化されていない文字は文字化けの心配がある。
漢字に関して、Windows Vista/7とMac OS Xとで共通する文字コード規格は、JIS X 0213だ(漢字収録数10,050字)。この範囲が両OSにおける「内字」であり、これらの漢字を使う限り文字化けは発生しない。もちろん、それら以外にも共通する漢字は多い。つまり「JIS X 0213に収録されていないが、Unicodeには収録されている漢字」ということだ。しかし、これらはいくつかの偶然が重なって、結果として両OSに重複して実装されたというべきで、どこで文字化けをするか分からない。
このJIS X 0213とは何か? かつて日本の基本的な文字コード規格だったJIS X 0208が規定していた第1水準(2,965字)・第2水準(3,390字)に、そのまま第3水準(1,259字)・第4水準(2,436字)を追加した拡張規格だ。以前主流だったシフトJISは、漢字はJIS X 0208(合計6,355字)を使っていたから、その時代と比べて第3・第4水準の分だけ、つまり全部で3,695字拡張されたと言える。それでもインターネットメールでは、現在もISO-2022JP、つまりJIS X 0208の漢字を使う方法が主流なので、第3・第4水準の漢字をメールに使うと文字化けするかもしれない。
このISO-2022JPを図1に当てはめると、「内字」の範囲はJIS X 0208になる。このように、Unicodeが普及した今でも、過去との互換を理由に「内字」の範囲がより狭い方法が使われ続けている環境も残っている。例えば、この原稿を掲載しているINTERNET Watchも、charsetはシフトJISのままだ。寄稿者の一人としてはUTF-8にしてくれると楽なのだが、とは書いておこう。
●フォントの文字セットと文字コード規格の関係
話を戻そう。Windows Vista/7とMac OS Xにおける標準的なフォントはメイリオとヒラギノ(明朝/角ゴシック)だ。それぞれのフォントで符号位置を割り当てられている漢字の収録数を、Unicodeのブロックごとにまとめてみた(図2)。
図2 Windows Vista/7とMac OS Xの標準的なフォントにおける漢字収録数。前者はメイリオ(バージョン6.02)、後者はヒラギノ明朝ProN W3(バージョン8.00)を、フォントユーティリティPopChar 5.2[*5]での表示結果 |
どちらも収録数はJIS X 0213のそれを上回っていることが分かる。Windows Vista/7とMac OS Xは、JIS X 0213を文字セットの中心に据えるのは共通しているが、それぞれバラバラにUnicodeから漢字を選定、追加して、結果として全部で11,000~13,000字程度を実装しているのだ。
それぞれのフォントの収録漢字数の合計から、JIS X 0213の漢字収録数10,050字を引いた数が、前述した「JIS X 0213に収録されていないが、Unicodeには収録されている漢字」になる。ここでメイリオがヒラギノより2,000字以上多いのは、Windows Vista/7だけはJIS X 0212(補助漢字)をサポートしているためと思われる(同規格はUnicodeに内包されている)。マイクロソフトはこの規格を1998年発売のWindows 98からサポートしていた[*6]。このように両フォントは実装する文字セットが非対称だ。下図は、両フォントの片方だけで符号位置が与えられている漢字の例だ(図3)。
図3 Windows Vista/7とMac OS Xの標準的なフォント間で、どちらか片方だけに符号位置を割り当てられている漢字の例。左列はJIS X 0213の包摂範囲外だが、Unicodeには収録されている漢字。そして右列はJIS X 0213の包摂範囲外だが、JIS X 0212には収録されている漢字[*7] |
上図の漢字のほとんどは、大多数の人には読めないのはもちろん、もしかしたら一生目にすることもないような漢字かもしれない。ただし、例外的に2文字ほど、比較的頻度が高いのに、JIS X 0213の原案作成時に収録を見送られた字がある(図4)。
図4 JIS X 0213で包摂分離されなかった「吉、高」の異体字 |
この2文字は、それぞれJIS X 0213では「吉」(1面21区40点)、「高」(1面25区66点)に包摂されている。つまり、規格の上からは図4の字体と「吉、高」のどちらをフォントに実装してもよい(両方は実装できない)。固有名詞ではおなじみの字体であり、JIS X 0213の原案作成委員会でもメーカー系委員から強く包摂分離を主張する声があったが、包摂規準(ルール)の一貫性を重視する委員が多く、多数決で否決された。
ただし、Unicodeでは既にU+9AD9は台湾の提案漢字として収録されており、U+20BB7もJIS X 0213の制定後ほどなく同じく台湾の提案漢字として拡張B(後述)に収録された。Windows Vista/7とMac OS Xの両方とも、こちらを実装することでJIS X 0213を補っている。
ここまでの話を整理するため、JIS文字コード規格とUnicodeの関係、そして文字コード規格とフォントの関係を図にしてみた。
図5 JIS文字コード規格とUnicodeの関係 |
図6 文字コード規格とヒラギノ・メイリオとの関係 |
●文字コード規格の違いを抽象化する「フォント・フォールバック」
ところで、ここまで述べたことをすべてひっくり返すようだが、最新のOSを使う限り、あまりフォントごとの文字コード規格の違いは意識しなくてよくなっている。「フォント・フォールバック」と呼ばれる機構が整備されているからだ。
これはフォントがある文字の形を持っていない場合、それを持っている別のフォントに表示を代替させる仕組みだ。つまり、文字が足りない部分をフォント同士が相互補完するわけだ。同じ漢字使用国でも言語により使用字種がずれている。ヒラギノやメイリオになくても、中国語フォントならあるという漢字も多い。逆に中国語フォントにない字を日本語フォントが持っている場合もある。
Windows Vista/7もMac OS Xも、このフォント・フォールバック機構を持っている。この機構はユーザーに文字コード規格を意識させない環境を提供する一方、実装されている文字の範囲をきわめて見えづらいものにした。この機構のおかげで、使用可能な漢字を調査するには、インストールされている全フォントを調べ、その差分を明らかにしなければならくなったからだ。知る限り、そこまでしている人はいないように思う。まあ、便利だからいいのだけれど。
フォント・フォールバックにもデメリットはある。代替させるフォントをユーザーが選べず、思わぬ表示結果になる場合がある。中国語と日本語ではフォント・デザインの流儀が異なるからで(図7)、代替結果に満足できる人ばかりではないだろう。
図7 日本語フォントと他の漢字使用国のフォント。符号位置はフォントごとに同じ。ただし「〓」は当該フォントがその文字の形を持っていないことを示す。例に使った漢字のうち、冒頭は表外漢字字体表の印刷標準字体。それ以外はすべて常用漢字 |
もうひとつ、インストールされているどのフォントにも実装されてない文字の形は、フォールバックしようがない。もっともこれはデメリットというより限界というべきか。ただし、理論上そうした外字をなくすのは簡単だ。Unicodeの漢字すべてをサポートするフォントをインストールすればよい。とはいえ、現時点でUnicodeの収録漢字数は74,582字にものぼるのだ。現実にそんなクレージーな文字数のフォントができるとは、誰も思わなかった。
ところが痛快なことに、名だたるOS/フォントベンダーを押しのけて、素人集団が寄ってたかって74,582字を書きあげてしまった。先頃、新版が公開された花園明朝は、Unicodeに収録されている全漢字を収録している[*8]。これはフリーかつオープンなフォントだ。OpenTypeフォーマットだから、Windows Vista/7でもMac OS Xでも使用可能だ。
引き続き次回も、図1にしたがって灰色の区分以降の外字について解説する。
●注釈
[*1]……「International Digital Publishing Forum “EPUB 3 Proposed Specification Released” 2011-05-23(http://idpf.org/epub3_proposed_spec_released)
[*2]……EPUB3の多言語拡張ワーキンググループの責任者を務める村田真氏の、次のツィートを参照。
(https://twitter.com/#!/muratamakoto/status/70674204927864832、
https://twitter.com/#!/muratamakoto/status/70745265044332544)
[*3]……『デジタル・ネットワーク社会における出版物の利活用の推進に関する懇談会報告』2010年6月28日、P.47(http://www.soumu.go.jp/main_content/000075191.pdf)
[*4]……ここでは実装に関する最も分かりやすい指標としてフォントを取り上げたが、これだけで文字の実装を考えられるわけではない。IME、そしてAPIも不可欠だ。つまりフォントとは別に、これらに関する「外字」もまた存在しうることになる。
[*5]……http://www.ergonis.com/products/popcharx/
[*6]……マイクロソフト「次期Windows NT 5.0 及びWindows 98にて、JIS X 0221 日本語規格を標準サポート」1997年12月16日(http://www.microsoft.com/japan/presspass/detail.aspx?newsid=1260)。発売日については次を参照。マイクロソフト「「Microsoft Windows 98 」日本語版 記録的な販売実績を達成」1998年7月30日(http://www.microsoft.com/japan/presspass/detail.aspx?newsid=1378)
[*7]……JIS X 0213とJIS X 0212の対応については、安岡孝一「JIS X 0213とJIS X 0212」(『京都大学大型計算機センター第64回研究セミナー報告』2000年、京都大学大型計算機センター、P.19~P.46)を参照。
[*8]……GlyphWiki Project、花園明朝(http://www.fonts.jp/hanazono/)。ただし現在の2011年05月16日版はいくつかトラブルが報告されているようなので、自己責任で使用されたい。
2011/7/8 06:00
-ページの先頭へ-