![]()
第1部に対する質疑応答
[入江]今の話である程度のレベルで整理できたかなと思ってます。合成文字の話でUnicodeに合成文字がありますが、あれは使う方がいいんですが、使わない方がいいんですか。どっちでもいいんですか。
[芝野]実際のやりやすさとか後の処理を考えれば使わないで済ませるのが一番いいです。だからどうしても使わなきゃならないときしか使わないようにした方がいいと思います。
[入江]FEPで入力する時に合成文字を割り当てるような話はないと思っていいですか。FEPで入力するときに合成文字が入っちゃうFEPはあり得ないですか?
[芝野]まず合成文字の世界というのはFEPは想定しないんですね。ほとんどのIPAシンボルを含めてキーボード入力、仮想キーボードを含めて日本語のような仮名漢字のようなFEPは想定していませんので逆にキーボード入力であってもIME的な働きで連続して、例えばAの上にアクセントが付くとラテン1の方に変換するというふうなことは一部行われておりますが、自分は合成文字としていれたやつが合成済みにかわってしまうということがあっても逆の変換は多分ないと思いますね。
[入江]濁点半濁点は合成文字ですか?
[芝野]もともと208にあった漢字コードにあったやつは合成文字ではありません。1バイト文字も含めて。だからそこが10646で初めて日本語の濁点半濁点の合成文字ができた。例えば昔からそうですよね。今でもカタカナで入れて下さい。と濁点半濁点は別のカラムに入れて下さいと。やってますよね。1バイトコードも合成するのであればカの点々の方は右上にいなければいかいんですが、左上にいるんですね。コード表の中のやつも。その点201には明確に書かれています。多分みなさんJISの201をご覧になられた方はいないと思うのですが、これも5,6年前に改正しまして、ちゃんと国際規格に対応した厳密な規格に改正してますので、とっても古い30年くらい前のものをそのまま放ったらかしにしていたのを、ですから今の1バイトで合成するかしないかというのも。合成しません。
[入江]合成文字は1バイト系のアンセルのハンドリングの時に大変だったのですが、Unicode上、合成文字は作らなければいけなかったのですか?
[芝野]ですから先ほども言いましたように、発音を表記したいわけです。その時にはある言語学者が聞き取ったように表記したい。厳密な議論をしようとしますよね。その時に例えば関西弁というのはイントネーションによって意味が変わってくるんだということを言いたい訳です。その時に発音記号を付けるわけです。かなでは書けない、かなでは同じ表現になって東京方言で話すあるいは共通語で話したときには発音はイントネーションによって意味が変わるようなことはないのに関西弁にはこういうのがありますよ。そうすると普通のローマ字で書ける世界ではダメなんですね。本質としてIPAシンボルだとかあるいは新しい言語、今までも例えばウルドゥー語はトランスリタレーションの標準がないよ、でもウルドゥー語のときにトランスリタレーションするときにはアラビア語とかペルシア語とかその周りの言語とは違う形の表現をしたい訳ですね。発音が違うんだよと。そうするとウルドゥー語のトランスリタレーションの時に使ういろんなダイアクリティカルシンボルというのは既にあるアラビア語のトランスリタレーション、ペルシア語のトランスリタレーションとは違うよとつけたくなる訳なんです。
問題は言語学者とは文化人類学者とか学者一人ひとりみんな勝手なことばかりしてるんです。
どうしても必然的にそういう使われ方を、プリコンポーズドフォームというか合成済みのやつが安定していないものを表記するのがトランスリタレーション用のラテン文字でありIPAの発音記号、IPAというのは国際音声字母と訳したりしますが、International Phonetic Alphabet アカデミックスタンダードなんですね。
もう一つはアジアのナショナルキャラクター具体的にはデバーナガリ、チベット、クメール、ラオ語とかはもともとアラビア系からずっとスタートして子音が主であって、母音の数が少なかったり、そういう認識を持った文字はどうしても周りがいろんなものを付けたがるんですね。あの辺りは合成がないと書けない体系にUnicodeでもなっています。
[入江]JISコード表そのものはUnicodeにならなかったのは何故ですか。
[芝野]新JISの第三第四水準は基本的にはUnicodeに入ってます。問題は世の中に自分で仕事をしないで、よく分からないのに因縁をつける人がいますが7ビット8ビット系と16ビット32ビット系と二つがあるんです。今私JIS漢字辞典の仕事を増補改訂版の第3第4を含めたやつをしてますが、もう数ヶ月で出せると思ってますが、それのデータ処理の時にはシフトJISが便利なんですね。Unicodeだと言ってもUnicodeが常に全部動く訳では無いんです。perlでプログラム書いてシフトJISでやってシフトJISで印刷するわけです。それが今、目の前でシフトJISだとすぐ動く訳です。UnicodeUnicodeだといっていろんな反対をしても、問題なのはコードは何でもできるようにするべきなんです。ちゃんと真面目に私この文字を使いたい、子どもたちの教科書の文字が書けないとかある特定の人の名前が書けないとか、日本の昔からの地名が書けないとか、般若心経というのはよく分かってますけど江戸時代の常識だった千字文ってありますね。みんな般若心経も千字文も小さな世界なんですけど、そこにも般若心経に3文字書けないねとか小学校で教科書の字が書けないねとか、中学の理科でろ紙のろってさんずい編に戸って言う字がないよとかそういのが分かってしまって、こっちのやることは何かというとそういう文字を洗い直してどこでも使えるようにすることである。そのために国際的に持っていくためには日本でちゃんとした仕事をして7ビット8ビット系日本国内のものを作って、それを国際登録簿に登録するというのが国際的な手続き。ほんとは変な日本人が邪魔しなければもっと早く、あるいはBMPに全部いれるとアメリカ人を連中を脅せたのに、日本から行ってる日本人が反対したせいでBMPに全部はいれませんでしたがUnicodeには入ってるんですよ。必要なのは日本で必要とする文字をどのコード系であっても使えるようにすることが私に求められた仕事だと思う。Unicodeでもあいつらがいらんことを言わなければ、さっきのハングルは7,000文字の領域を使い潰して11,000字を、つまりマイナス7,000プラス11,000やったんですね。ハングル文字をUnicodeに入れたいからです。そのとき日本のUnicode出たやつはUnicodeコンソーシアムに出ている日本の委員は何をしたかというと、そんな日本が勝手にして日本のやつが大切だからとアメリカ人を脅してあってですね、そいつらはJISの213が大切だからそっちに決まっているやつを入れると言ったのに日本の委員が日本のわがままはよくないと言って一部サプルメントに落としたんです。あれですね。今の田中真紀子がいじめられている外務省の世界ですね。何にもないときに片一方で10646で全部動きますか?いろんな会社が反対しました。おたくの持っているメールのソフトは、おたくの持っている業務ソフトはUnicodeだけでしか動かないですかってUnicode動かないじゃないですか。基本的にはUnicodeをちゃんとサポートして今安心して使えるものは何かというとインターネット系、マイクロソフトとジャストシステムはUnicode入れ込んでますからこの2つはほぼ全部いけて、あとSQL、DBMS系が全部いけます。あとインターネットのブラウザ系。でもそれをちょっと越えると動かないケースがいっぱい出てくるんですね。プリンターにUnicodeなげてもなかなか出ませんよね。でもシフトJISぽーんと投げると第3第4水準でもすぐに出ますよ。213はいろいろ言われましたが、出てすぐにフリーウェアが出た訳ですよね。富田さんところの青空文庫なんかは、第3第4を開発にもご協力いただいただけじゃなくって、実際にフリーウェアで規格が出てすぐに青空文庫なんかはネット上で見える訳ですよね。何か無理矢理使いがっての悪い方にするというのは、政治はそういうこと、それこそ鈴木宗男のNGOの何とかみたいにけしからんから出るなみたいなことがあるかもしれませんが、技術者としては何をするのが正しい方向かと言えば、あらゆるところで日本の文字が使えるようにというのが日本としては本来やるべきことだと思ってます。技術を無理矢理押さえるというのではなくって自然にというか市場に任せるべきだと思うんです。だからシフトJISで今安いソリューションがあれば、それが買えるのであればシフトJISで使っていて、将来にわたればUnicodeにコードコンバートすればええなと思っていて、それで行くというのも一つの手だし。それは市場に任せればいいわけですよね。市場はJISの規格でこっちの規格を廃止したらシフトJISを使うのをみんなやめるのか、やめませんよね。やるには焚書坑儒でもしないと。シフトJISののっかてるデータ見たらみんなたたきつぶしてシフトJISのコンピュータ叩きつぶして、シフトJISのプリンタ−潰して。これはJIS規格に合ってないからというふうなことをよく聞きますが、JISとかISOの委員長っていうのはそういうことを考えているのではなくってマーケットが正しく、利用者の弁、利用者とか産業界が正しいものいいものを安い物を使えるようにすること、それを規格の権威でつぶせという論調を私は全然賛同しない。
[入江]第2部に移りますが、ここで芝野先生にご質問がありましたらお願いします。
[中島]Unicodeのソートをしようと考えていて、JISだとアジアのアが来て、Unicodeだと数字の1が来てるのでUnicodeの漢字の順番は誰が決めたのか知りたかったのですが。
[芝野]まずUnicode順というのは何かというと康煕字典をもとにしたの部首画数順。康煕字典にないものについては康煕字典に準じて部首画数順にしようという形で並び順を決めました。例えば日本語をちゃんと並べるためには、先ほど最初の方にちょっとご説明いたしましたけれどJISで4061という日本語昇降順番というのを作っています。これはこの規格はYAHOOの検索なんかすると出てくる並び順はVACSというVJEの会社がJISの昇降順番に合わせて並び順を作ってますが、日本語での並び順は日本語昇降順番に本来ならなければならなくって、JISコードが第1水準のあいうえお順というか代表音順で並んでいるというのは必ずしも適切な並び順にはなりません。本来ちゃんと並びを考えるとすれば、別の日本語で正しい並び順にするという処理をする必要があります。
例えばUnicodeで全部入っているからと言って、中国で、例えば毛沢東全集という字を入れました。Unicodeで入っています。それを日本でそのまま使えるかというと使えません。Unicodeだけがそれで他言語環境のソリューションか解になっているかというとそれは間違いです。中国の MainLand Chinaで書くと、簡化字で書くわけです。日本だと常用漢字で毛沢東と表記する。その変換は必要です。日本のふつうの人は、毛沢東全集を簡化字で書かれても、分からんわけです。あるいはその毛沢東全集の中のいろんなタイトル、あるいはもっと簡化字でばーっと並んだものは、中国語としか思えないわけですね。中国語なのです。
コードコンバジョン、Unicodeの漢字の中でのコードコンバージョン、中国語から日本語に変換するということが必要です。
ですから同じようなことはですね、どこでも起きるんです。例えばアラビア語もですね、アラビア文字の国際規格は、ドイツのリンでArabic taskforceというのができてやったとか。でもそれでもですね、方言字があったりするわけですね。エジプトで使われているアラビア語の正書法というものと、それと例えばサウジアラビアは違ったりします。そうしますと、アラビア文字ブロックの中で、エジプトで使うアラビア語と、サウジアラビアで使う表現に変換が必要なのです。
ですから、なんかUnicodeになったからといって、そこで言語とかある特定の地域あるいはある特定の分野での用法の違いというのは、ちゃんとやらんといかんことはあるわけです。
でもっと、卑近な例というか、ちゃんとした例というか、日本の独特の例で考えますと、日本の中でもですね、テキストが電子化されたと。でそれでですね、いつでも使えるかといったら使えません。ちゃんとした日本語だと、縦書きを横書きに変換は自動では全部できません。だから一部自動でできることもある。たとえば、日本もですね、正書法の中で横書きは公用文の書き方によると、,(カンマ)。(まる)なんですね。で、縦書きは 、(点)。(まる)であるとか。あるいは横書きの文脈では、普通はアラビア数字で書くわけですが、縦書きの文脈では漢数字を使ったりするわけですね。そのときの位取り表記が違ったり、ですから、縦書き横書きという同じ日本語の中でも、テキストは、いつでも使えるものじゃなくて、変換が必要なことがある。
で、ましてやUnicodeで入れたからといって、それで、言語問題が、あるいは、多言語問題とか、世界中のどこでも使えるというんじゃなくて、Unicodeの保証するのは、日本語のコード文とそれが世界中どこに行ってもそのままで動く必要はないわけ。2022だと、同じコードポイントでも意味が変わってしまうことがあり得るわけです。でも10646の世界では、それは変わりません。ただし、我々が本当にやりたいのは、中国で入力された、「毛沢東全集」の書誌が入力されて、それを日本で、例えば早稲田大学とか慶應大学とかで、書誌情報として公開して北京大学とやりとりをすると。そういうときには実は、見せるところは、どっかで、基本的には割とストレートですけど、1対1のではない完全自動化ではないコードコンバージョンを必要です。例えばですね、日本の常用漢字の、弁護士の弁という漢字は、花弁の弁と弁護士の弁とはもともと違う字だったのが、同じ字にしてしまったわけですね。異体関係というのは、いろんなところで異体字というのは、1対1で相互に変換可能だと言いますけど、そんなのはウソで、基本的にはある関係はこっちからこっちに1対多の一方通行の関係だと思って頂いて、それが自動的に全部できるんじゃなくて、人の介入とか、意味的な理解も必要とします。
最後の結論としては、Unicodeを使ったら、それで多言語処理は全部終わりよ、というのはウソです。ただし、Unicodeが何を保証しているかというと、世界中で文字化けなしの情報交換・情報処理、世界中で文字化けなしで、表示から蓄積からそういうものが全部できると。ただ、それは言語とか国境を越えるツールではないと。
[入江]ありがとうございました。他に質問あるかた。