文字コードの最近のブログ記事

ウソに戸惑う

| コメント(0) | トラックバック(0)

JIS X 0213の追補1:2004で、所謂「表外漢字UCS互換」10文字が追加されました。この中に、「噓」(cf. 「嘘」)という字も含まれています。第3水準に含まれ、面区点番号は1-84-7です。

自分で文字を入力しようとすると、ウソという言葉を漢字で入力するのに、第1水準の「嘘」にすべきなのか、それとも第3水準の「噓」にすべきなのか、戸惑います。第3第4水準辞書を使うと、どちらのウソも入力可能です。

表外漢字UCS互換とは何であるかについては、拙著『プログラマのための文字コード技術入門』の第3章をご覧ください。

表外漢字字体表の趣旨としては、「噓」を使うべきということになるのでしょう。しかし、読み手の機器やフォントなどにおいて、第3水準の「噓」が正しく扱えないケースがたくさんあることが予想されます。ならば、表外漢字字体表を作った人には悪いけど、無難に第1水準の「嘘」にしておこうか、という考えがわいてきます。

そもそも何で「噓」の方がいいというのか、私にはよく分かりません。「所謂康煕字典体」だということなのでしょうが、実は、康煕字典そのものに載っているのは「所謂康煕字典体」の「噓」ではなく「嘘」の方なんだそうです。ここで「所謂」は無意味な飾りではありません。

こういう、活字のデザインに属するところは、文字コードとしては区別せずに、フォントの問題とするのが使いやすい文字コードであると私は思います(実際、Unicodeが両者を区別していなければそうなる筈でした)。これを文字入力(符号化)の段階で区別する意味があるとは思えません。「文字コード」は「活字デザインコード」ではない。

第3水準がいつでもどこでも使えるようになるまでは「噓」を使うのに上記のような懸念があるわけだし、どこでも使えるようになったらなったで、固有名詞などについて「正式な表記は『噓』だ、『嘘』ではない」みたいな鬱陶しい言説がまかりとおるようになるのもあまり良い未来とは思えません。すっきりしない状況はまだまだ続きそうです。

いまだに、広く使われている日本語入力環境は、JIS X 0208の第1・第2水準漢字に制限されていることが多いと思います。第3・第4水準を追加するJIS X 0213の制定から10年も経つにもかかわらずです。

現代日本で使われていながらJIS X 0208に入っていなかった文字を収録したJIS X 0213という優れた規格の利点を活かすには、その文字を普通に入力できる漢字変換辞書を持つことが重要です。

そこで、第3第4水準辞書を使いましょう。

ここで「第3第4水準辞書」と呼ぶものは、単に単漢字変換などで入力できるということにとどまらないものです。具体的には、下記の条件を満たすことが必要です。

  • 第3・第4水準漢字が語彙として入力できること。例えば、「噶」という字が単に単漢字変換で入力できるだけでなく、「吐噶喇列島」といった語として収録されている。
  • 漢字だけでなく、JIS X 0213で追加された非漢字についても入力を可能とする。例えば、ローマ字の ā や ô や ç や é といった文字や、◉や♨や〽のような記号類なども。
  • JIS X 0213の11,233文字について、広範に、できれば網羅的に対応すること。

こうした入力を可能にする第3第4水準辞書の例として、仮名漢字変換プログラムの種類に応じて3つここでは示します。

上には入力プログラムの有名と思われる順に挙げましたが、実際には、SKK用の辞書が元となって、Anthy用とATOK用とが生成されています。

これらの辞書については、当ブログでも時々紹介してきました。ご参考まで。

第3第4水準辞書によって文字入力環境の改善を実現する人が増えることを願ってやみません。

当サイトのメモのセクションに「文字コードを理解するための参考文献」というのを付け加えました。文字コードを理解するために役立つ本を私なりにまとめて紹介文を付けたものです。

私の視点から厳選しているので、「あの本がないじゃないか」というような苦情は受け付けません。(単に、網羅するには私が面倒くさがり屋すぎるだけかもしれません)

のちのち、気が向いたら、本を追加したりするかもしれません。

震災被災地支援プログラム2012を実施します。

拙著『プログラマのための文字コード技術入門』から得られる著者の取り分から10〜20%程度を、東日本大震災の被災地支援のために寄付します。去年(2011年)も行いましたが、今年2012年も継続することとします。

去年は岩手県と宮城県の復興事業に寄付しました。今年は福島県に同様の寄付をする予定です。

本書が売れれば売れるだけ寄付金が増えます。どうぞよろしくお願いします。

壱岐の酒 (焼酎) に𨕫尾(しめのお)というのがあって、この「𨕫」というのがJIS X 0213で追加された漢字だということは前から知っていました。この字は第4水準、面区点番号2-89-90にあります。SKKのJIS第3・第4水準漢字辞書では「しめのお」から「𨕫尾」に変換できます。ウェブを「しめのお」といった言葉で検索すると、酒のラベルにこの字が使われているのが確認できます。

先日東京外国語大学で開催された「字体規範と異体の歴史」シンポジウムで、早稲田大学の笹原先生の発表の中で軽くこの字についても触れていて、壱岐の地名 (や人名? 記憶不確か) にあるとおっしゃっていました。

地名にあるのは知らなかったので、ウェブを検索してみると、たしかにあるようです。稀少地名漢字リストには壱岐の地名として「𨕫ノ尾」というのを挙げています (ただし参考URLはリンク切れ)。

人名にあるのかどうかは手がかりが見付かっていません。(JIS漢字字典は「𨕫野」という名字をあげています)

ちなみにこの字は、UnicodeではBMPでなく面02の拡張Bにあります。BMP外の文字の例として「𠮟」みたいにBMP内の字の異体字やデザイン差のようなのを出すのはイマイチだと個人的には思っているので、この字はBMP外の例としても使えるなと思います。

テレビ朝日のクイズ番組「Qさま!!」を見ていたら、画面に第3水準漢字が出てきました。

黄檗宗の開祖、「隠元(いんげん)隆琦(りゅうき)」が正解の問題でした。この「琦」という漢字はJIS第3水準、面区点番号1-88-06にあります。

この番組では以前にも第3・第4水準漢字が出てきたことがあります (「テレビで見た第4水準漢字」)。クイズ番組にもJIS X 0213の文字は必要であることが分かります。

今後は常に、JIS X 0213の文字に対応した文字コードを使うべきだといえます。そうした文字コードには、UTF-8やShift_JIS-2004、EUC-JIS-2004があります。デフォルトではUTF-8でいいでしょうが、シフトJISが必要な場面ではShift_JIS-2004を、EUCが必要な場面ではEUC-JIS-2004を使えばいいということです。このことは以前の記事「これからの文字コード」でも論じました。

前の記事に記したJIS X 0213の小書きの仮名ですが、PCを買ってきたデフォルトの環境では入力できないかもしれません。これを入力するには、日本語入力プログラムの種類に応じて、いくつかの方法があります。

これらの手段によって入力できる小書きの仮名は、文字コードとしてはUTF-8やEUC-JIS-2004、Shift_JIS-2004といったもので扱うことができます。これからは常にこうした文字コードを使うべきです。

JIS X 0213で追加された仮名にどんなものがあるかは、拙著『プログラマのための文字コード技術入門』のpp. 81-82に記されています。

これで、皆さんも充実した小書き仮名ライフを送ってください。

JIS X 0213ではJIS X 0208に対して仮名文字も追加されています。それらは、アイヌ語や鼻濁音のためのものだったり、また別な理由で追加されたものもあります。

これに含まれる小書きの仮名を活用すると、日本語やアイヌ語以外の言語、例えば韓国語などの発音を仮名で表すのに使うこともできます。

例えば、韓国語の「ハングㇰ」(韓国)、「キㇺチ」(キムチ)、「ピビンパㇷ゚」(ビビンバ)のように、母音を伴わずに子音で終わる閉音節を表すのに、小書きの仮名が使えます。もともとJIS X 0213にこうした小書きの仮名が追加されたのはアイヌ語の閉音節の表記に対応するためですから、こうした韓国語などの表記は本来の用途ではないとはいえ、活用の仕方としては同じことだといえます。

ふざけた使い方としては、なんでも小書きの仮名で書いてしまうお遊びもあります。X0208に含まれる「ぁぃぅぇぉっゃゅょ」などの仮名を濫用して「ぉはょぅ」のような書き方をする遊びがありますが、その手段がぐっと増えるわけです。X0213を使うと、「ゕっぉ、ぃゖぃゖ」とか「ァㇲ、ィヮㇱㇵ ッㇾㇽヵㇱㇻ」のように、今までできなかった文字も小書きにできるようになります。

世の中を見ていると、得てして、真面目な使い方よりも、おふざけ・お遊びの方が幅をきかせたりするようなので、こうした文字もお遊び用途の方が目にすることが多くなるかもしれないと思っています。

関東地方で日曜の昼に再放送しているテレビ東京の「なんでも鑑定団」を見ていたところ、画面にJIS第4水準漢字が出てきました。

鑑定品の紹介の中で、秦の始皇帝の姓名として「嬴政」(えいせい)と書かれていたのです。この「嬴」という字はJIS X 0213の第4水準、面区点2-05-84にあります。

確かに始皇帝の姓は嬴で名は政なのですが、皇帝になる前の始皇帝は秦王政と記されることが多く、嬴政と記すことはあまり一般的でないように思います。どういう慣習になっているのでしょうか。

ちなみにこのときの番組の「依頼品」は、始皇帝陵の兵馬俑。そんなものを日本の民間人が持っていることがあり得るのかといぶかしんで見ていたら、案の定ニセモノでした。

結論からいってしまうと、これからの文字コードの使用は下記のように考えるのがいいと思います。なおここでは、ファイルなどに使う外部コードのことを前提とします。

  • デフォルトではUTF-8を使う
  • ただし、SJISの符号体系が必要な場合はShift_JIS-2004を使う
  • ただし、EUCの符号体系が必要な場合はEUC-JIS-2004を使う

肝心な点は、いつでもJIS X 0213の文字をサポートする符号化方式を使うということです。現在はJIS X 0208の文字は、どこでも使えることが保証されるような、ベースラインとしての役割を果しています。しかしそれでは文字が足りないので、そのベースラインをJIS X 0213の範囲に拡大するということです。こうすることには大きな意味があります。

符号化方式としてデフォルトでUTF-8を用いるメリットは、国際対応がしやすくなることです。ソフトウェアを開発しました、これを海外でも使えるようにしたい、というときに、はじめからUTF-8に対応していれば、考えることをひとつ減らせるわけです。

Twitterを考えてみましょう。世界の様々な人が使うサイトです。このサイトがLatin-1やShift_JISで作られていたとしたら、世界展開に障害が出てくるのは明らかです。UTF-8がいいというのはそういうことです。私のタイムラインには日本の文字だけでなく、チベット文字や中国簡体字がしばしば流れてきます。そうした様々な文字を一度に扱うにはUTF-8がいいというのは異論のないところでしょう。

といっても、世の中のソフトウェアが全てそういう種類のものばかりだというわけではありません。JIS X 0208の時代から、限定された場所でのみ長い期間使われ続けていて、細々と保守されているようなソフトウェアもあるわけです。そういうものに、何がなんでも手間をかけてUTF-8に変えろというのは合理性がない。

そういう場面では、JIS X 0213の符号化方式が有用です。従来のJIS X 0208では文字が足りないのは明白ですが、しかしUnicodeに変えるのはおおげさすぎるしあまり意味がない、というときは、JIS X 0213を使えばいいのです。

例えば、プログラムがShift_JISの符号構造を前提にして動いていて、それを変えたくない、というときには、Shift_JIS-2004を採用すれば、最小限の変更で、足りない文字を大幅に補うことができます。同様に、EUCの場合はEUC-JIS-2004を採用すればいいのです。

今後、SJISとかEUCとかいうときには、それぞれShift_JIS-2004、EUC-JIS-2004をデフォルトにするのが良いと私は思います。そうでないと文字が足りないからです。小学校3年でJIS X 0208にない文字を習うと以前書きました。電子書籍にもJIS X 0213の文字が必要だということも以前論じました。今後は、JIS X 0213の文字に対応した符号化方式を常に使うべきでしょう。

該当する人はあまりいないでしょうが、1バイトコードとの混在なしで7ビットのJIS X 0208を2バイト固定で使っていた場合には、JIS X 0213の漢字用8ビット符号というのが有用です。これはX0213の漢字集合1面をGLに、2面をGRに置いたもので、JIS X 0213の全文字を2バイトで表現できるものです。データフォーマットの中に2バイト固定でJIS X 0208の文字を入れていたケースでは、こういう方式を使うことでJIS X 0213対応ができるのです。

かつて、「子育てしない男を父とは呼ばない」というテレビCMがありました。これからのキャッチフレーズは、「JIS X 0213に対応しないソフトウェアは、日本語対応とは呼ばない」です。

最近のブログ記事

中国企業インタビュー記事の第3水準漢字
ITproの記事「中国企業を信頼して任せ…
英字紙にJIS X 0213の文字が
英字紙Japan Timesのサイトの英…
ジョブズは新JIS漢字の必要性を認識していた?
先日、アップル社のスティーブ・ジョブズ氏…
中国茶の第4水準漢字
東京・奥沢の中国茶の喫茶店「迎茶」のブロ…
チベット問題の第3水準漢字
「武力による恐怖政治と、心を踏みにじる抑…