ハードウェア
コラム(用語)
コンピューター(用語)
中国(国・地域)
中国語(用語)

中国のコンピューター革命で徹底した改造が行われた経緯、常に「アルファベット」という限界に挑戦してきた中国の技術者たち

次の記事

将来、DiscordにNFTと暗号資産ウォレットが登場するかもしれない

前回のエッセイでは、何万という中国語の漢字を、それよりはるかに小さいアルファベット記号システムを処理するために設計されたメモリシステムに収めようとするコンピューターエンジニアたちの前に立ちはだかったさまざまな奥深い問題について説明した。

今回は、漢字の出力、つまり、モニター、プリンター、および関連周辺機器に関する問題に目を向ける。欧米で製造されたパソコンやコンピューター周辺機器に中国語のテキストを表示させようとするエンジニアの前にさらなる問題が立ちはだかった。

関連記事:中国語パソコン1号機を実現した技術者魂、限られたメモリに数千の漢字を詰め込むためSinotype IIIの発明者は限界に挑む

「周辺機器」というと一種の脇役的な機能を提供するものと思われがちだが、実は中国では、周辺機器はコンピューティングの中心的な存在であり続けた。それは、1970~80年代に中国語コンピューティングが直面した厳しい制約の時代から、1990年代以降の大幅な進歩と成功の時代まで、すべての時代に当てはまる。

1980年代に消費者向けPCが普及し始めた頃には、欧米製のPC、プリンター、モニター、オペレーティングシステム、その他の周辺機器は、少なくともそのままでは、漢字での入出力を処理できなかった。それどころか、筆者が行った別の調査によると、こうしたすべての装置には、初期の頃の電信符号や機械式タイプライターなどに見られるような英語とラテン語のアルファベットを偏重する傾向があった。

その後、1980年代後半には、中国および中国語を話す地域では、徹底的にハッキングと改造が行われた。中国およびその他の地域のエンジニアたちは、欧米で製造されたコンピューティングハードウェアおよびソフトウェアを要素ごとに中国語対応に改造した。この時期は、誰かが管理するでもなく乱雑に、そして多くの場合すばらしい実験とイノベーションが行われた。

中国語コンピューティングシリーズの第2回である本稿では、広範なコンピューティング環境、すなわち、プリンター、モニター、その他コンピューティングを機能させるために必要なあらゆるモノに注目しつつ、次の2点にスポットを当てる。

1つは、アルファベットを基盤としたコンピューティング(これを「アルファベット様式」と呼ぶことにする)の優位性は、キーボードやメモリなどの問題に留まらず、極めて広範に及んでいたという点だ。コンピューターが登場する前のタイプライターと同じように、コンピューティングに使用される装置、言語、プロトコルは大体、最初に英語のコンテキストで発明され、その後、他の言語およびラテン語アルファベット以外の書記体系に「拡張」される。中国のエンジニアたちは、基本的な機能を実現する場合でさえ、市販のコンピューティング周辺機器、ハードウェア、ソフトウェアの境界を押し広げる必要があった。

次に、1970年代後半から1980年代の重要な時期に、中国のコンピューティングに関して欧米で支配的だった「模造」や「海賊行為」といったワンパターン思考(これは今でも変わらない)を解体してみる。「中国語DOS」などのプログラムに出くわすと、欧米では条件反射的にまた「中国製コピーだな」と片付けられてきた。しかし、この単純な反応は重要な事実を見落としている。それは、本稿で説明するこうした「偽造品」が存在していなかったら、欧米で設計されたどのソフトウェアスイートも漢字コンピューティングのコンテキストではまったく動作しなかっただろうという点だ。

ドットマトリックス印刷と冶金レベルで実装されていたアルファベット様式

最初に取り上げる周辺機器はプリンター、具体的には、ドットマトリックスプリンターだ。中国語コンピューティングの観点からすると、ドットマトリックスプリンターで当時支配的だった業界標準のプリンターヘッドの構成がすでに問題だった。1970年代に大量生産された事実上すべてのドットマトリックスプリンターには9ピンのプリンターヘッドが搭載されていたのだ。

これらの市販のドットマトリックスプリンターは、低解像度のラテン語アルファベットのビットマップをプリンターヘッドを1回通過させるだけで印刷できた。これはもちろん、偶然ではない。9ピンのヘッドは、低解像度のラテン語アルファベットを印刷するというニーズに合わせて「調整」されたものだった。

しかし、9ピンのプリンターヘッドでは、ヘッドを2回通過させても低解像度の漢字ビットマップさえ印刷できなかった。ヘッドを2回通過させると英語に比べて中国語の印刷スピードが著しく低下するだけでなく、印刷された文字も不正確だった。これはローラーの進み具合の不安定さ、インクの重ね合わせの不均等、紙詰まりなどが原因と考えられる。

見た目の美しさという点でも、ヘッドを2回通過させると、文字の上半分と下半分でインクの濃度が異なるという結果を招くことがあった。さらに悪いことに、欧米製プリンターを改造せずにそのまま使用すると、フォントサイズに関係なく、すべての漢字の高さが英単語の2倍以上になってしまう。このため、印刷結果は、英単語が簡素で効率的であるのに対して漢字は大き過ぎてグロテスクに感じられ、ゆがんだ滑稽なものになってしまう。このような印刷出力では多くの紙が無駄になり、すべての文書が文字の大きな児童書のような不格好な見栄えになってしまう。

これらのプリンターヘッドの動作の仕組みを説明する動画(本記事の筆者のご厚意により掲載)

ラテン語アルファベット中心主義は一般に想像されているよりも根深い、と初期の漢字コンピューティングのパイオニアであるChan Yeh(チャン・イエ)氏はその著作で述べている。漢字のデジタル化と、18×22のビットマップグリッドを基盤とするシステムの開発に乗り出したイエ氏の当初の考えは、ピンの直径サイズを小さくして、プリンターヘッドに収容できるピン数を増やすという単純なものだった。しかし、同氏は、この解決策はそう簡単ではないことに気づくことになる。

チャン・イエ氏とIdeographix Corporationによって発明されたIPXマシンのインターフェイス(画像クレジット:Thomas S. Mullaney、スタンフォード大学東アジアIT歴史コレクション)

イエ氏は、インパクト印刷におけるラテン語アルファベットへの偏重は、プリンター部品の冶金学的特性に組み込まれていることに気づいた。簡単にいうと、プリンターピンの製造に使用されている金属合金自体が、9ピンのラテン語アルファベットの印刷に合わせてキャリブレーションされていたのだ。このため、中国語に必要なサイズに合わせてピンの直径を小さくすると、ピンの変形や破損を招くことになる。

そうした影響をなくすため、エンジニアたちは欧米製プリンターに手を入れて、通常の9ドット間隔と同じ縦スペース内に18ドットが収まるように改造を施した。

この手法は独創的でシンプルなものだった。標準の2 Pass印刷に従い、1列目の各ドットはヘッドの1回目の通過時に沈着する。しかし、2列目のドットを1列目の下に沈着させるのではなく、プリンターをうまくだまして、あたかもファスナーが噛み合うように最初の9ドットの間に入れるようにしたのだ。

この効果を実現するため、エンジニアたちはプリンターのドライバーを書き換えて、プリンターの用紙送りのメカニズムをハッキングし、(1インチの216分の1という)極めて小さな間隔でローラーを回転させるよう調整した。

難しいのはピンの構成だけではなかった。市販されているドットマトリクスプリンターはASCII文字エンコード体系にも合わせて調整されていたため、漢字のテキストをテキストとして処理することができなかった。英単語を印刷する場合には、ラスターイメージをプリンターに送っているわけではなく、英語のテキストをプリンタードライバーを介してASCIIコードとして直接送っている。これにより、印刷速度が格段に速くなる。

しかし、欧米製のドットマトリクスプリンターで漢字を印刷するには、こうしたプリンターの「テキスト」モードを使うことはできない。そこで、プリンターを再度だまして、今度は、通常ラスターイメージ用に予約されているグラフィックモードを使用して漢字を印刷する必要がある。

これが、中国語を学ぶ学生たちにとって皮肉であることは明らかだ。欧米で製造された初期のドットマトリックスプリンターで漢字を処理させるには、漢字を絵または象形文字として扱う必要があったからだ。実際、欧米人は長い間、漢字を象形文字とみなしてきた。実際にはそうではないが(ただし例外はある)。しかし、ドットマトリックスプリンターのコンテキストでは、象形文字として扱うしかなかったのだ。

結局、新しいタイプのインパクトプリンターが商業市場に出回り始めた。ピンの直径が0.2ミリの24ピンドットマトリックスプリンターだ(9ピンタイプでは0.34ミリだった)。当然ながら、これらの新しいタイプのプリンターの主なメーカーの大半は、パナソニック、NEC、東芝、沖データなどの日本の企業だった。日本語に必要な文字を印刷するというニーズに応えるため、日本のエンジニアも中国のエンジニアと同じような問題を解決する必要があったのだ。

近代化されたポップアップ:漢字モニター

漢字のビットマップラスターへの変換を説明する特許文書の画像(画像クレジット:Thomas S. Mullaney、スタンフォード大学東アジアIT歴史コレクション)

中国語コンピューティング環境におけるもう1つの領域として、量産型のコンピューターモニターがある。ある意味、モニターの方向性はプリンターと似ている。特に、文字のひずみの問題はプリンターと同じだ。仕方のないことだが、漢字のビットマップは低解像度であっても縦横のサイズがラテン語文字と比較して2倍以上になる。このため、アルファベットと漢字が混在するテキストでは、漢字のサイズが大き過ぎて不格好になる(本記事の冒頭の画像をご覧いただきたい)。

標準の欧米製コンピューターモニターでは、行長(行あたりの文字数)と行高(画面あたりの行数)の両方において、ラテン文字にくらべて漢字のほうが表示可能な文字数ははるかに少なくなる。このため中国語を使う人は、一度に画面に表示できるテキストの量が非常に少なくなる。

それだけではない。漢字ディスプレイ特有の問題としてポップアップメニューがある。漢字の入力プロセスは本質的に対話型で行われるため(ユーザーが叩いたキーに応じて漢字が次々に表示される)、中国語コンピューティングにはユーザーが漢字の候補を確認するための「ウィンドウ」(ソフトウェアベースのものとハードウェアベースのものがある)が欠かせない。

ポップアップメニューは、1980年代以降、中国語コンピューティングの至るところで目にする機能となっているが、このフィードバック手法の起源は1940年代に遡る。1947年、Lin Yutang(リン・ユタン)氏によって設計された中国語タイプライターの試作機には、同氏が「マジックアイ」と呼んだ重要な部品があった。これこそ、歴史上最初の「ポップアップメニュー」だ(もちろん機械式ではあったが)。

パソコンの出現にともない、MingKwai、Sinotype、Sinowriterなどの中文タイプライターの機械式ウインドウはコンピューターのメインディスプレイに組み込まれた。別個の物理的な装置ではなく、画面上でソフトウェアによって制御される「ウィンドウ」(またはバー)となったのだ。

ところが、このポップアップメニューのせいで、ただでさえ貴重なモニター画面のスペースにさらなる制約が課されることになった。いわゆる「ポップアップメニューデザイン」は、中国語パソコンが登場したときから研究およびイノベーションの対象として極めて重要な分野となった。各社がさまざまなスタイル、形式、動作を試して、入力、画面サイズ、ユーザーの好みの各要件のバランスを取ろうと試みた。

しかし、これらの各要件はトレードオフの関係にあった。より多くの漢字候補を一度にメニューに表示すると、目的の文字が早く見つかる可能性が高くなるが、貴重な画面スペースを消費することになる。ウィンドウを小さくすると、画面スペースは節約できるが、使いたい文字が最初の候補群の中に見つからないと、文字候補ページをスクロールする必要がある。

こうした厳しい制約があるため、中国のエンジニアと企業は常に次世代モニターを求めていた。こうした動きはおそらく中国に限らずグローバルな市場でも同じだった。というのは、高解像度モニターは消費者にとって「本質的に良いこと」だからだ。それでも、高解像度を強く求める動機は中国語市場では大きく異なっていた。

結論:改造しか道はなかった

雑誌「Chinese Computing」創刊号(画像クレジット:Thomas S. Mullaney、スタンフォード大学東アジアIT歴史コレクション)

こうした改造はそれぞれにすばらしいものだったが、所詮修正に過ぎない。結局、オリジナルのシステム(つまり、後で修正する必要があるシステム)を作成する自律性と信頼性のあるところにパワーは集中した。

改造の慣習により幅広いシステムが実現される傾向はあるものの、改造によって互換性が犠牲になることが多かった。その上、改造後も常に変更に目を光らせておく必要があった。「一度設定すればそれで終わり」というソリューションは不可能だった。

新しいコンピュータープログラムがリリースされるたびに、またプログラムがバージョンアップされるたびに、中国のプログラマーは行単位のデバッグを行う必要があった。プログラム自体にコンピューターモニターのパラメーターを設定またはリセットする可能性のあるコードが含まれていたからだ。

大半の英語のワープロソフトでは、プログラムに基本的な前提として25×80の文字表示フォーマットが固定で埋め込まれていた(zifu fangshi xianshi)。このフォーマットは漢字ディスプレイでは使えなかったため、エンジニアたちはこの25×80のフォーマットが設定されているプログラム内のすべてのカ所を手動で変更する必要があった。彼らは、この作業を標準仕様の「DEBUG」ソフトウェアを使って効率的に行った。そして、経験を積み重ねるうち、主要なプログラムのアセンブリコードの中身まで着実に覚えてしまった。

また、改造したとしても、基盤となるオペレーティング・システムとプログラムは常に変更される可能性がある。例えばCCDOSやその他のシステムを開発してまもなく、IBMは新しいオペレーティング・システムPS/2への移行を発表した。「中国と中国語は混乱に陥る」と題する1987年のある記事には、台湾であれ中国本土であれ既存の中国語システムはまだ新システムに対応していないと説明し「IBMのMS/DOSと相性の良いやり方を考える開発者たちのレースが始まった」と書かれている。

歴史的観点からすると、改造者たちは間違って認識されたり、存在自体を消し去られたりしがちだ。彼らの活躍した時代と場所では、その仕事は単なる窃盗または海賊行為として認識されることが多かった。中国語非互換のマシンを中国語互換マシンにするために必要なリエンジニアリング行為とはみなされなかった。例えばPC Magazineの1987年1月号では、ある漫画家が中国化されたオペレーティング・システムを風刺している。その漫画のキャプションには「MSG-DOS上で動くんだ」とある。

欧米のメーカーは、こうした中国語対応(および日本語やその他の非欧米言語対応)の修正の多くを自社システムのアーキテクチャーのコア部分に徐々に組み込んでいった。そのため、こうした変更が実は中国や非欧米諸国のエンジニアたちの仕事に触発されたものであることは忘れ去られがちである。要するに、欧米製のコンピューターは、昔から、常に言語に依存せず、中立的で、あらゆる人たちを歓迎してきたと(その影に非ラテン語圏のエンジニアたちの苦労があったことなど忘れて)考えてしまいがちだということだ。

コンピューティングの歴史上重要なこの時期はまったく文書に残されていない。その理由は簡単だ。米国、およびより広く西側世界では、こうした改造が「実験」、ましてや「イノベーション」として理解されることは皆無だった。その代わりに彼らの仕事に対して使われたのは、今でもそうだが「コピー行為」「模倣」「海賊行為」といった言葉だった。中国のエンジニアたちが欧米製のドットマトリックスプリンターをリバースエンジニアリングして漢字を印刷できるようにしたり、欧米で設計されたオペレーティング・システムを中国語入力方式エディターが使えるように改良しても、大半の欧米人のオブザーバーの目には単なる「窃盗行為」としか映らなかった。

画像クレジット:Louis Rosenblum Papers, Stanford University Special Collections

原文へ

(文:Tom Mullaney、翻訳:Dragonfly)