ベジェルとウル・コーマ
厚かましく自信たっぷりなベジェルとウル・コーマの検閲体制が寛容なのか、 それとも無能なのか、リンク先のアドレスに ".uq" ".zb" がついているものがたくさんあった
チャイナ・ミエヴィル『都市と都市』(早川書房)p.156
架空の国家の……トップレベルドメイン……!! 「ベジェル」(Besźel)が".zb"[1]で、「ウル・コーマ」(Ul Qoma)が".uq"。日本なら".jp"とつくあれです。
[1] ちなみにベジェルが".bz"や".be"でないのは、それぞれベリーズやベルギーの実在のドメインと被るため。
ベジェル企業は ".zb" ドメインにホームページを開設し、ウル・コーマの人々は "Amazon.co.uq" で買い物を楽しむ。 たったこれだけの設定とはいえ、現代を生きる両国民の息遣いが感じられないでしょうか。
小説『都市と都市』には、2つの架空の都市国家「ベジェル」(Besźel)と「ウル・コーマ」(Ul Qoma)のリアリティを高めるための設定がこの他にもたくさん詰め込まれています。
極め付けは5章の冒頭。ベジェルで使われる「ベジェル語」とウル・コーマの「イリット語」に関して、
- ベジェル語のベジェル文字は三十四字からなるアルファベットで、左から右に書き、キリル文字に見た目が似る。
- イリット語はかつて右から左へ書く固有の文字を有していたが、1923年の「ヤー・イルサ改革」でラテンアルファベットに置き換えられた。
- ヤー・イルサ改革は、アタテュルクによるトルコ語の言語改革に影響を与えている。公式の表記をアラビア文字からラテン文字に置き換えたもの。
という「歴史的事実」が簡潔に説明されます。現実との絡め方が絶妙で、ここで読者は「設定を鑑賞すること」の歓喜に打ち震えることでしょう。言語は国家の基礎をなすもの。設定面からもこの2つの国家に強度が与えられ、一層のリアリティを帯びて迫ってきます。
さて、『都市と都市』を読み終えると、この類の空想を楽しむ余地がまだまだ残されていることに気付きます。 つまり、ベジェルとウル・コーマに関する"IF"を考えるという楽しみです。
一例としてこういう場面を考えます。
ある日サッカーワールドカップの試合結果を目にする―― 「ここにもしベジェルとウル・コーマが参加していたら……」―― しかし両国のサッカー事情を想像するのは難しい―― オリンピックならどうか―― 直近で開催されたのは北京開催の冬季オリンピック――
「ベジェルとウル・コーマは北京オリンピックの開会式で何番目に入場するか?」
北京オリンピックの開会式
なぜ北京オリンピックの開会式での入場順を考えるのか。 それは、異なる文字文化の衝突が鮮やかに現れる場であるためです。 「ベジェルとウルコーマの北京オリンピックでの入場順」は、「この2か国がどう東洋文明と干渉するか」という大きすぎて想像するには難しい"IF"の片鱗を味わうのにちょうど良い題材です。
さて、オリンピックの開会式の入場行進では、選手団が参加国・地域ごとにまとまって会場に入場します。ではその順番はどのように決まるか?
先に簡単な例として、2012年ロンドンオリンピックでの順番を見ましょう。日本の前後5か国を下表に示します。
入場順 | 国名(英語) | 国名(日本語) |
---|---|---|
90 | Iraq | イラク |
91 | Ireland | アイルランド |
92 | Israel | イスラエル |
93 | Italy | イタリア |
94 | Jamaica | ジャマイカ |
95 | Japan | 日本 |
96 | Jordan | ヨルダン |
97 | Kazakhstan | カザフスタン |
98 | Kenya | ケニア |
99 | Kiribati | キリバス |
100 | Republic of Korea | 韓国 |
順番を決める規則は明らかです。英語で表記した国名のアルファベット順になっています。
ただし、重要な例外として、ギリシャ(Greece)は1番目、イギリス(Great Britain)は最後の205番目です。その他、表中にもある韓国(Republic of Korea)が "Korea" として扱われるなど、細かな例外が含まれます。
2012年ロンドンオリンピックの開会式の入場行進 - Wikipedia
この規則は、国際オリンピック委員会による指針、
代表団の入場は、開催国の言語のアルファベット順とする。ただし、ギリシャは最初に、開催国は最後に入場する。
The-opening-ceremony-of-the-Games-of-the-Olympiad.pdf
に従うものです。
アルファベット順?
では2022年冬季北京オリンピックではどうだったか。
入場順 | 国名(簡体字中国語) | 国名(日本語) |
---|---|---|
5 | 马来西亚 | マレーシア |
6 | 厄瓜多尔 | エクアドル |
7 | 厄立特里亚 | エリトリア |
8 | 牙买加 | ジャマイカ |
9 | 比利时 | ベルギー |
10 | 日本 | 日本 |
11 | 中华台北 | 台湾(中華台北) |
12 | 中国香港 | 香港(中国香港) |
13 | 丹麦 | デンマーク |
14 | 乌克兰 | ウクライナ |
15 | 乌兹别克斯坦 | ウズベキスタン |
頭文字が同じなら隣接しているので、簡体字中国語表記に何らかの順序が入っているのはまあ明らかでしょう。しかし漢字はアルファベットではない。「アルファベット順」なるものは、そもそも存在しません。
では何が基準か。
漢字の順序と言えば、日本語話者に慣れ親しまれているのは漢字辞典にあるそれでしょう。普通、日本語の漢字辞典では
康熙字典に基づく部首順
部首が同じなら、残りの部分の画数順
で漢字が順序付けられています。日本工業規格(JIS)で割り振られた番号や、それを基にしたユニコード等の規格でも概ねこの順序が採用されているため、文字に関する技術を扱う人々にとっても馴染み深いものでしょう。
ですが、北京オリンピックの入場順はそれとは異なります。 日本の漢字辞典の順序ではありません。 順番を決める第一の基準は、部首ではなく各文字の画数です。Wikipedia曰く、
中国語の標準漢字(簡体字)による各国国名の最初の漢字の画数の順番に行進。
というのが、ここにある規則です。「马」(「馬」の簡体字」)の3画に対して「厄」が4画だから、5番目の马来西亚(マレーシア)より後に6番目の厄瓜多尔 (エクアドル)が来るというわけです。
ロンドンオリンピックでは95番目と中盤の入場だった日本も、北京では序盤の10番目です。
しかしすぐに分かる通り、画数だけでは説明の半分にもなりません。7番目の厄立特里亚(エリトリア)と8番目の牙买加(ジャマイカ)は頭文字が同じ4画。この前後関係は何から決まるか。
答えは 笔顺编号 です[2]。日本語の新字体表記では「筆順編号」。直訳では「書き順番号」といったところです。
[2]なお公式の文書としては公開されているものが見つけられなかった。 有料記事になるが、朝日新聞の記者が大会広報に問いあわせた内容が開会式の入場順のなぜ… 中国の担当者「その質問は対面で答える」 - 2022北京オリンピック:朝日新聞デジタルにある。「笔顺编号」という語こそ出てこないものの、「順番が先になるのは、横線▽縦棒▽はらい▽点▽折れ線――の順」との記述があり、以下の笔顺编号の説明と一致する。このような順序の決め方は「政府が定めた規則」である、との記述もある。
笔顺编号
日本ではあまり馴染みのない笔顺编号ですが、なかなか合理的です。「筆でどのように書くか」を基準とする点は画数と共通していますが、今度は数ではなく筆の運び方に注目します。
笔顺编号では、筆の一なぞり(1画分)を5種類に分類して1-5の番号を振ります。すなわち、 横 、 竖 、 撇 、 捺 、 折 の5つです。
番号 | 名前 | 形 | 意味 |
---|---|---|---|
1 | 横 | 一 | 横画 |
2 | 竖 | 丨 | 縦画 |
3 | 撇 | 丿 | 左はらい |
4 | 捺 | ㇏ | 右はらい |
5 | 折 | ㇕ | 折れ |
筆画のひとつひとつをこの5つのうちのどれかに対応させ、画数の順に並べるとその文字の笔顺编号が得られます。
「厄」を例にして笔顺编号がどう決まるか見てみます。
「厄」は
筆番 | 筆形 | 番号 |
---|---|---|
1画目 | ㇐ | 横=1 |
2画目 | ㇓ | 撇=3 |
3画目 | ㇆ | 折=5 |
4画目 | ㇟ | 折=5 |
のように書くから、笔顺编号は "1355" になります。注意として、「折れ」は向きに寄りません。
同様に、「牙」の場合、
筆番 | 筆形 | 番号 |
---|---|---|
1画目 | ㇐ | 横=1 |
2画目 | ㇗ | 折=5 |
3画目 | ㇚ | 竖=2 |
4画目 | ㇒ | 撇=3 |
で 笔顺编号は "1523" です。3画目にハネがありますが、これは「折れ」とはみなしません。
この2つの笔顺编号を辞書式順序で比較します[3]。すると、厄="1355" < 牙="1523"
だから、「厄」は「牙」より先に来ます。
[3]画数で比較してから辞書式順序で比較しているので、実は笔顺编号を10進法表記された整数値と見て大小を比較するだけでも良い
こうして、厄立特里亚(エリトリア)が牙买加(ジャマイカ)より先に入場した理由を説明することができました。[4]
[4] ご察しの通り、画数と笔顺编号でも順序が決まらない場合がある。例えば、「力」と「刀」は両方とも画数2で笔顺编号は53。「札」が"12345"で「朰」が"12345"という衝突もある。つまり漢字全体から笔顺编号全体への写像は単射ではない。これは笔顺编号が漢字を符号化する方法としては不適格であることも意味する。
幸い、北京オリンピック開催国の異なる国名同士で、全ての文字の笔顺编号が一致するペアは存在しない。
「刀礼」国と「力朰」国の参加を想像する場合には問題になるが、あとで登場する実装では安定ソートとすることで妥協した。
なお、笔顺编号(Stroke Order Code)は以下の辞書サイトから調べることができます。
- 牙的笔顺 编号:1523
- Basic Dictionary Lookup of Hanzi 牙 - Stroke Order Demonstration of Hanzi 牙 - Explanations of Hanzi 牙 - HanziPaper
漢字と近代文明
画数も笔顺编号も「漢字に内在する性質」です。借りもののアルファベットや工業規格ではなく、それぞれの文字がそもそも持っている性質だけを利用して、漢字を整列させることができるのです。
ソートは情報処理の基本。 O(n)をO(log(n))に変える魔法の原理です。 「漢字の形に基づく順序付け」が中国で考案されたのも、 大量の文字データのなかから目的のものを探しあてるための「検字法」開発が源流にあります[5]。
[5]「漢字の形に基づく順序付け」は現代にも生きている。中国語キーボードの入力方式としてはピンインによるものが主流だが、「五筆字型入力方法」は本質的に笔顺编号に基づく入力法である。 また日本でも、諸橋轍次による日本最大の漢和辞典『大漢和辞典』には、「四角号碼」という、漢字の形状に基づく索引が付いている。
漢字は近代化の中でたびたび廃止に向けた攻撃に晒されてきました。 日本では当用漢字の制定、中国でも簡体字の制定は教育上の利便性や情報処理の効率化を目指した「漢字制限」の結果として行われたものです。
そうした歴史を踏まえると、漢字に自然な順序付けが可能であるという性質が宿っていたというのはなかなか愉快なことではないでしょうか。北京オリンピックの入場式は、漢字が近代化の波を乗り越えて生き残ったことを、高らかに世界に向けて示したのでした。
漢字と技術のせめぎあいの歴史については、トーマス・S・マラニー(比護遥訳)『チャイニーズ・タイプライター』(中央公論新社、2021年)が非常に詳しいです。
漢字の欠点――あまりにも多すぎる――を克服してタイプライターを開発するためにどんなことが考えられてきたか、エキサイティングな歴史が綴られています。この項の内容も、2008年北京オリンピック入場式の描写から始まる「序論 そこにアルファベットはない」に大きく依っています[6]
[6]ただし永字八法に基づく「筆画による順序付け」の説明はややミスリーディング。永字八法に含まれる8種の筆遣いへの漢字の分割はどうにも無理がある。
ソートプログラム
規則が分かればそれをプログラムとして表現することが可能です。
えいっと書いてwebアプリにします。
技術的な概要:
笔顺编号のデータがYQ-YSY/stroke-seq_MBにある(GPLv3.0)のでこれをmapとしてRustクレートに埋め込む。
char
をラップしたChineseCharacter
構造体に、そのmapを利用してPartialOrd, Ord
トレイトを実装する。ChineseCharacter
の配列として文字列をソートする関数を定義する。それを取り込んでWebAssembly(wasm)としてエクスポートする。巨大なルックアップテーブルを内包するのでちょっと時間がかかる。
ViteでReactアプリを初期化してwasmを取り込む。
Vercelへデプロイ。楽だ~~~
ソースは
で公開しています。
あとは入力して「並び替え」を押してやるだけです。
贝歇尓と乌库姆
ここに『都市と都市』の簡体字中国語訳『城与城』があります。
目次を開きます。
すると、日本語版の第1部のタイトル「ベジェル」、第2部「ウル・コーマ」に対応して、それぞれ簡体字版では「贝歇尓」「乌库姆」と表記されることが分かります。
贝、乌、库はそれぞれ貝・烏・庫に対応する簡体字です。「乌」はウーロン(乌龙茶)茶のウーです。「贝」も「貝」を音読みで「バイ」と読むので、何となく音が対応していることが分かります。ピンインでは 贝歇尓は bèi-xiē-ěr、乌库姆は wū-kù-mǔ となります。
英語 | 日本語 | 簡体字中国語 |
---|---|---|
Besźel | ベジェル | 贝歇尓 |
Ul Qoma | ウル・コーマ | 乌库姆 |
ようやく初めの問い、「ベジェルとウル・コーマは北京オリンピックで何番目に入場するか?」に答える準備が整いました。
まずは2022年冬季オリンピックから。
「2022年」ボタンを押すと、現実の参加国が自動で入力されます。
希腊(ギリシャ)は先頭で固定、中国は開催国、意大利(イタリア)は次回2026年冬季オリンピックの開催国であるため、中国の1つ前です[7]。
[7]2020東京オリンピックから、将来の開催国も開催年の逆順で入場するようになった。2020年東京オリンピックの開会式 - Wikipedia
そして「その他の国名」欄に「贝歇尓」と「乌库姆」を追加します。最後に「並べ替え」をクリック。
結果は、
でした。偶然とはいえ非常に近い。
念のため笔顺编号を見ておきます。
順番 | 国名 | 各文字の笔顺编号 |
---|---|---|
12 | 中国香港 | 2512, 25112141, 312342511, 441122134515 |
13 | 贝歇尓 | 2534, 2511353453534, 31234 |
14 | 丹麦 | 3541, 1121354 |
15 | 乌克兰 | 3551, 1225135, 43111 |
16 | 乌库姆 | 3551, 4131512, 53155414 |
17 | 乌兹别克斯坦 | 3551, 431554554, 2515322, 1225135, 122111343312, 12125111 |
正しく画数と笔顺编号の順序で並んでいます。乌克兰と乌库姆は1文字目が同じ、2文字目も画数まで一致するため、2画目の笔顺编号を比較して初めて前後関係が決まっています。
2008年夏季オリンピックも同様に調べると、
順番 | 国名(簡体字中国語) | 国名(日本語) |
---|---|---|
28 | 贝宁 | ベナン |
29 | 贝歇尓 | ベジェル |
30 | 毛里求斯 | モーリシャス |
31 | 毛里塔尼亚 | モーリタニア |
32 | 丹麦 | デンマーク |
33 | 乌干达 | ウガンダ |
34 | 乌克兰 | ウクライナ |
35 | 乌库姆 | ウル・コーマ |
36 | 乌拉圭 | ウルグアイ |
のように、ベジェルが29番目、ウル・コーマが35番目になります[8]。
[8]実はプログラム通りに並べるとそれぞれこれらより1つ小さい番号に出る。どうも以色列(イスラエル)の頭文字の「以」の笔顺编号が想定の5434ではなくて2434として扱われているらしい。1画目の「㇙」を「折れ」ではなくて「縦」として扱っているということ。2022大会では想定通り5434の位置にいるので、何か基準が変わったか、単純にミスかもしれない。この他にも明らかに漢字以外の事情による例外があり、ソートのロジックに組み込むことは諦めて注として示すことにしている。
こうして、北京オリンピック開会式の入場行進のベジェルとウル・コーマの入場順が明らかになりました。まとめると、
- 2008年大会ではベジェルが13番目、ウル・コーマが16番目
- 2022年対大会ではベジェルが29番目、ウル・コーマが35番目
です。
ベジェル時間2022年2月4日の昼下がり。〈クロスハッチ〉地区のダプリールカフェにかけられたテレビは遠く中国北京で始まったオリンピックの開会式を映す。日本、台湾、香港の極東3地域が続いたあとに入場するのはベジェルの選手たち。のどかな午後を過ごしていた客たちは顔を上げる。
同時刻、ウル・コーマの 総体局所的 にほど近いカフェ。甘くて濃いお茶を啜りつつスマートフォンで開会式を眺めていた客は、ベジェルの入場と〈見ない〉でいる人々のざわめきを無意識化で結びつける。デンマーク、ウクライナ――ロシアが戦争を始めるのはこの3週間後のこと――そしてウル・コーマ。今度はこちらからあちらへ、甘いシナモンの香りにのって微かなざわめきが伝わっていく。
ベジェルとウル・コーマの入場順がこんなに近付くことの珍しさに、この輪の中にいる誰かが気付くかもしれないし気付かないかもしれない。