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

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

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

関連記事:中国語パソコン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)

1980年代に大ヒットした8bitコンピューターの名機「ZX Spectrum」開発者クライブ・シンクレア氏死去

1980年代に大ヒットした8bitコンピューターの名機「ZX Spectrum」開発者クライブ・シンクレア氏死去

David Levenson/Getty Images

1980年代に大ヒットした8ビットホームコンピューター、シンクレアZXシリーズを開発・発売したクライブ・シンクレア卿が9月16日に81歳で死去しました。

日本では発売されなかったシンクレアZXシリーズですが、英国ではZX80、ZX81、ZX Spectrumといった機種を発売し、累計500万台以上を売り上げる大ヒット作となりました。フロッピーディスクドライブやモデムなど多数の周辺機器がサードパーティから発売され、また他社による互換機も数多く作られたのも特色と言えるでしょう。ソフトウェアも少なくとも2万3000本以上が作られ、現在もコミュニティによってその数は増加しているとされます。

1980年代に大ヒットした8bitコンピューターの名機「ZX Spectrum」開発者クライブ・シンクレア氏死去

Sinclair

1984年に発売したビジネスコンピューターシンクレアQLは、個人向けながらモトローラのMC68000系CPUを搭載した意欲作でしたが売上げは不振におわり、その損失のせいでシンクレア氏はシンクレアブランドとコンピューター事業を売却しています。

シンクレア氏が特にコンピューター分野に残した功績は大きなもので、ZXシリーズは決してゲームには向いていないハードウェアであったにもかかわらず数多くのゲームが開発・移植されるなど、当時のプログラマーのゆりかごのような役目を果たしました。失敗に終わったQLにしても、後にLinuxを生み出すリーナス・トーバルズ氏が大学生時代にこのマシンでプログラミングを学んだと語っています。

シンクレアはPCだけでなく、1972年には世界初のポケット電卓を開発したり、1985年にはSinclair Vehiclesで電気自動車C5を発売しています。C5は大人1人が乗れる大きさの電動三輪でしたが、世の中がシンクレアに数十年遅れていたのか、ヒットにはつながりませんでした。いまや自動車業界は電動化まっしぐらといった状況。シンクレア氏の先見の明は際立ちすぎていたのかもしれません。合掌。

(Source:The GuardianEngadget日本版より転載)

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

中国は、今や世界で最も裕福なデジタル経済大国の1つとなった。ハードウェアのサプライチェーンは他の追随を許さず、Alibaba(アリババ)、Tencent(テンセント)、ByteDance(バイトダンス)など、莫大な利益を上げている超一流企業が世界で主導的な役割を果たしている。しかし、このような最先端のイノベーションは、40年前にさかのぼる「中国語ワープロの開発」という、コンピューティングの大きな課題に対するソリューションの上に成り立っている。

1980年代初頭、中国は米国や欧米からのコンピューターの購入を飛躍的に伸ばした。1980年には600台しかなかった外国製マイクロコンピューターの輸入が、1985年には13万台にまで増加した。当時、日米欧の企業は、この「爆買い」にあやかろうと躍起になったものだ。

しかし、中国のコンピューターユーザーにとっても、欧米のメーカーにとっても、大きな問題があった。それは、欧米のパソコン、プリンター、モニター、OS、プログラムなどが、漢字の入出力に対応していなかったことだ。1980年代前半から中盤にかけて「そのまま」では、まったく使えなかったのだ。大量生産されたパソコンは、大がかりな改造をしない限り、中国語での処理をしたいユーザーにとっては、事実上、役に立たなかった。

最も重要な理由の1つはメモリの問題、特に中国語フォントを格納するためのメモリ容量が不足していたのだ。アルファベット用のコンピューターが登場したとき、欧米のエンジニアやデザイナーは、英語のフォントは5×7のビットマップグリッドで表現できると判断し、記号1つにつき5バイトのメモリしか必要としなかった。このグリッドは、見た目には美しいとはいえないものの、コンピューターの端末や紙の印刷物にアルファベットの文字を読みやすく表示するのには十分な解像度を備えていた。米国のASCII規格の95文字を格納するのに必要なメモリは475バイトで、これは例えばApple II(アップル・ツー)の当時のマザーボード上のメモリ48KBに比べればごくわずかだ。

しかし、漢字を最低限読めるレベルで表現するには、5×7のグリッドでは小さすぎた。中国語のビットマップフォントをデザインするには、アルファベットのグリッドサイズである5×7ピクセルから16×16ピクセル(256ピクセル)以上に幾何学的に大きくする、つまり漢字1文字あたり32バイト(256ビット)以上のメモリを搭載する以外方法はなかった。漢字のビットマップだけでも(簡体字、繁体字のどちらの場合も。ただし両方同時ではなく、メタデータも含まず)最もよく使われる8000の中国語の文字を格納するには、合計約256KBのメモリが必要となり、これは1980年代初頭に一般に市販されていたパーソナルコンピューターの総メモリ容量の4倍にも及んだ。しかもこれは、オペレーティングシステムやアプリケーションソフトウェアに必要なメモリを考慮する前の話だ。

デジタル入力に向けて用意されたSinotype III用中国語フォントの手書きビットマップ(画像クレジット:Louis Rosenblum Papers、Stanford University Special Collections)

こういった背景から、現代のコンピューティングにおける偉大なエンジニアリングの歴史の1つが生まれた。ここでは、果敢な起業家魂とエンジニアリングの創意工夫がもたらしたデジタル革命の世界的発展をユニークな視点で描いていく。

この記事は、TechCrunchに掲載する2つの記事のうちの1つで、中国語の入出力が可能な最初のパーソナルコンピューターとなる実験機Sinotype III(サイノタイプ・スリー)について調査したものだ。サイノタイプIIIは、市販のアップルIIをベースに、独自に開発したワープロソフトウェアとOSを実装したもので、欧米製のコンピューターを中国語に「翻訳」することで、新しい巨大市場の開拓に向けた「概念実証」の役割を果たした。

前編では、サイノタイプIIIの開発者らが直面したコンピューターのメモリ、フォント、OSなど、深刻な技術的課題と、それを克服するための斬新なソリューションを生み出した過程を見ていく。

「差し迫った仕事があるはずもない、ほやほやの新卒社員の図太さ」

このエピソードは、チャイニーズ・コンピューティングの原点ともいえるGraphic Arts Research Foundation(GARF、グラフィック・アーツ・リサーチ・ファウンデーション)から始まる。1950年代後半、MITの電気技師Samuel Hawks Caldwell(サミュエル・ホークス・コールドウェル)氏は、GARFの資金提供を受けて「Ideographic Composing Machine(イディアグラフィク・コンポージング・マシーン)」通称「Sinotype(サイノタイプ)」を発明した。1960年に同氏が若くして亡くなり、プロジェクトは暗礁に乗り上げたが、1960年代から70年代にかけて、Itek(アイテック)、RCA(アール・シー・エー)、そしてやはりGARFなど、いくつかの団体によってサイノタイププロジェクトは受け継がれた。

1950年代後半、サミュエル・コールドウェル氏が設計したSinotype Iのキーボード(画像クレジット:Louis Rosenblum Papers、Stanford University Special Collections)

サイノタイプの里帰りには、1人の男の存在が大きかった。Louis Rosenblum(ルイ・ローゼンブラム)氏だ。1921年にニューヨークで生まれた同氏もまたMITファミリーの1人で、1942年に応用数学の学士号を取得して卒業した。電気工学の教授として世界的に有名なHarold Edgerton(ハロルド・エジャートン氏、1930年代に有名な「ミルククラウン」の写真を撮影した人物)に師事したローゼンブラムは、卒業後すぐにPolaroid(ポラロイド)に就職し、Edwin Land(エドウィン・ランド)氏とともにインスタント写真の開発などさまざまなプロジェクトに携わった。1954年にはPhoton(フォトン)に転職し、非ラテン語系文字の写真植字に取り組んだ。ローゼンブラム氏は、故コールドウェル氏のサイノタイプの先駆的な取り組みに詳しかったため、このプロジェクトを効果的に採用し、1970年代半ばにGARFにコンサルタントとして参加した際に、このプロジェクトを復活させた。

Nova 1200(ノヴァ1200)のCPUで動作するSinotype IIシステムの構成図(画像クレジット:Louis Rosenblum Papers、Stanford University Special Collections)

GARFは、1980年代初頭においてもサイノタイプ・プロジェクトを継続しており、それまでに中国に精通した学者や著名な学者を顧問として迎えていた。ハーバード大学の言語学者であるSusumo Kuno(久野暲)氏や、1972年のRichard Nixon(リチャード・ニクソン)元米国大統領の訪中で重要な役割を果たしたことで知られ、当時RAND Corporation(ランド・コーポレーション)の社会科学部門の責任者だったRichard Solomon(リチャード・ソロモン)氏などが参加した。

しかし、この顧問団に劣らぬ輝きを放つ新星によって、サイノタイプ・プロジェクトは大躍進を遂げる。1979年にGARFでサイノタイプIIプロジェクトのデータ管理に2週間携わっただけの大学生の参加がきっかけとなり、サイノタイプは、ミニコンピューターベースのシステム(Sinotype II[サイノタイプ・ツー])からマイクロコンピューターベースのシステム(サイノタイプIII)へと大きく前進したのだ。その大学性は、ルイ・ローゼンブラム氏の息子、Bruce Rosenblum(ブルース・ローゼンブラム)氏だ。

サイノタイプIIIシステムを使用するブルース・ローゼンブラム氏(画像クレジット:Louis Rosenblum Papers、Stanford University Special Collections)

ペンシルバニア大学でフォトジャーナリストを目指していたブルース氏は、学業と、学生が運営する独立系新聞「Daily Pennsylvanian(デイリー・ペンシルバニアン)」のフォトエディターとしての役割を両立させていた。この新聞は、使用する機材や担当する学生の深い専門知識の面で、非常に先進的なものだった。

ブルース氏が3年生の秋に、既存の植字機(Compugraphic[コンプグラフィック]製の植字機2台)が寿命を迎え、交換が必要になった。ブルース氏は同僚の学生3人と一緒に、代替機の調査を行い、最終的に2社と総額12万5000ドル(当時約2800万円)の契約を結んだ。カンザス州Wichita(ウィチタ)のMycro-Tek(マイクロ・テック)とマサチューセッツ州Wilmingto(ウィルミントン)のコンプグラフィックだ。

サイノタイプ・プロジェクトについては、ブルース氏は父親のおかげでよく知ってはいたものの、自身はまったく関与していなかった。しかし、1981年5月初旬、重要な転機が訪れる。期末試験を終えたばかりのブルース氏は、新聞社のオフィスを訪れた。そこには同僚のEric Jacobs(エリック・ジェイコブス)氏がいて、RadioShack(ラジオシャック)で買ったTRS-80 Model II(ティー・アール・エス・エイティ・モデル・ツー)というマイクロコンピューターと格闘していた。ジェイコブス氏は、このマイコンを新聞社の運営に利用する方法を考えており、ブルース氏は、その様子を30分ほど観察した後、自分の仕事に戻った。

しかし、この30分がブルース氏の心を掴んだ。「マイクロコンピューターを扱う人を見たのは初めてだった」とブルース氏は著者への電子メールで述べ「この30分に感化されてサイノタイプIIIのプロジェクトを開始し、最終的にコンピューターの世界に入ることになった」と語る。

その週末、ブルース氏は父親との電話でちょっとした思い付きを話した。ブルース氏は、サイノタイプIIの製作に使用していたData General(データ・ジェネラル)製のハードウェアに対してGARFが莫大な費用をかけていたことに触れ、マイクロコンピューターであれば同等以上のプログラムを作ることができるのではないかと勧めたのだ。当時、GARFが支出していた10万ドル(当時約2200万円)以上に対して、1万ドル(同約220万円)程度に抑えられることになる。

父親のルイ氏も強い関心を持ち、ブルース氏にそのような機械のプログラミングができるかどうか尋ねた。ブルース氏は、コンピューターサイエンスの正式なトレーニングは受けていなかったが、高校時代にコンピューターに親しみ、PDP-8(ピー・ディー・ピー・エイト)のアセンブリ言語とBASICを独学で学んでいた。「差し迫った仕事があるはずもない、ほやほやの新卒社員の図太さ」ゆえ、同氏は父親の問いに「もちろん」と答えた。

ブルース・ローゼンブラム氏は、世界旅行の間も、ニューデリーで入手したメモ用紙などを使って、サイノタイプIIIプロジェクトを進めた(画像クレジット:Louis Rosenblum Papers、Stanford University Special Collections)

1981年6月、ブルース氏はニューヨークでBill Garth(ビル・ガース)氏、Prescott Low(プレスコット・ロー)氏、そして父のルイ氏と正式な会合を持ち、サイノタイプIIIの提案を説明した。その時、ブルース氏は、スリーピースのスーツだった。ブルース氏の提案書には、ハードウェアの7500ドル(当時約165万円)に加え、プログラム料として5000ドル(同約110万円)の合計金額が記載されていた。アップルIIで動く中国語のワープロを、約4カ月で納品するというものだ。それが上手くいけば、中国語ワープロのコストは桁違いに安くなる。

ブルース氏はこの仕事を受注し、1981年6月から11月まで、フィラデルフィアの独立記念館で国立公園局のツアーガイドの仕事と両立させながら、サイノタイプIIIのプログラミングを行った。昼間の休憩時間には手書きでアセンブリコードを書き出し、夜にはそれを入力していた。1981年のレイバーデーにツアーガイドの仕事が終わり、ブルース氏はその後2カ月間ひたすらコーディングに専念し、サイノタイプIIIをGARFに納品した。

メモリハック

GARFとローゼンブラム両氏が最初に直面した問題は、コンピューターのメモリ容量の不足だった。初期の中国製パソコンの開発者たちは、システムからできるだけ多くのメモリを搾り取ろうと、あらゆる手段を講じていた。ここでは、単独で採用されることもあったが、主に同時に利用された2つの戦略を紹介する。「アダプティブメモリ」と「漢字カード」だ。

サイノタイプIIIのシステムは、5つのコンポーネントで構成されていた。Sanyo(三洋電機)の12インチモニターDM5012CM、Epson(エプソン)のプリンターMX-70、漢字のビットマップデータベースとそれに対応する「記述子コード」を格納するCorvus(コルバス)の10MB「Rigid Disk Storage(リジッド・ディスク・ストレージ)」「テキストファイル格納用」のApple Disk Drive(アップル・ディスク・ドライブ)、そしてアップルIIの本体だ。

標準のアップルIIには32KBのメモリが搭載されていたが、マザーボード上で48KBまで拡張することができた。ブルース・ローゼンブラム氏は「アップルIIが店から出る前に最大にした」と電子メールで語る。ブルース氏は、48KBのメモリではまだ足りなかったため、当時の「パワーユーザー」と呼ばれる人たちがよく行なっていた、16KBの増設メモリボードをスロット0に追加して64KBのメモリにするという、メーカー標準のアップグレードをおこなった。

しかし、それでもまだ足りなかった。「エンコーディングシステムのすべてを格納するためには、より多くのメモリが必要だった」と同氏はいい「頻繁に使われる漢字100種の16×16ビットマップを格納するためには、さらに多くのメモリが必要だった」と続ける。

そのため同氏は、それまで誰も試したことのないであろうアップルIIの「改造」を始めた。「なんとか、アップルIIのスロット2に16KBのボードをもう1枚入れて、合計80KBにすることができた。まったく仕様外だが、市販の部品を使うことができた」と同氏はいう。

しかし、この改造はマシンの限界を超えるものだった。アップルIIに搭載されている6502マイクロプロセッサーは、64KBのメモリにしか直接アクセスできなかった。つまり、ブルース氏がなんとか2枚目のメモリボードを組み入れ16KBのメモリを追加しても、アップルIIにはこの追加されたメモリアドレスに一度にアクセスする方法が組み込まれていなかったのだ。ブルース氏がアップルの技術者と何度も相談している中で、アップルの技術者にそのことを伝えたところ、その技術者は「そんなことをするなんて、聞いたことも考えたこともない」とショックを受けたほど「規格外」の改造だった。

ブルース氏は、アップルIIが64KBのメモリだけではなく80KBのメモリにアクセスできるようにするために、純正のOSは諦め、自分でアセンブリ言語を使ってプログラムを作った。そのカスタムプログラムの秘訣は「アドレスが重複する16KBのメモリバンクを個別に選択できる」ということだ。つまり、一度にアクセスできるメモリは64KB分しかないが、2枚の増設メモリボードを非常に速いタイミングで交互にアクセスすることにより、ユーザーから見ればコンピューターが両方のメモリにアクセスしているように動作させるというものだ。これにより、システムから25%の追加メモリをひねり出し、400字程度の漢字を増設メモリボードに格納することができた。

ブルース氏は、感謝祭の前の週にGARFに最終コードを納品し、その後、ヨーロッパとアジアを縦断するワールドバックパッカーズツアーに出発した。それ以降、サイノタイプIIIの開発は、ルイ・ローゼンブラム氏とGARFが中心となって進めていったが、ブルース氏もコンサルタントとして関わり続け、ヨーロッパ、中国、インドなど、どこにいても父親と頻繁に連絡を取り合っていた。

リアルタイムの中国語タイピングを目指した高速化

しかし、ブルース氏の巧妙な改造によっても、ルイ氏とブルース氏が試算したところでは、増設メモリボードに格納できる漢字の数は600~1000字程度だった。サイノタイプIIIのOS、アプリケーション、漢字に必要なメモリ容量を考えると、システム辞書に登録されている漢字の大部分は、フロッピーディスクや外付けハードディスクなど、他のハードウェアに保存する必要があった。

サイノタイプIIIコンピューターのモニター画面(画像クレジット:Louis Rosenblum Papers、Stanford University Special Collections)

ブルース氏は当初、PROM(プログラマブル・リード・オンリー・メモリ)チップの使用を考えたが、このアイデアはすぐに行き詰まってしまった。1981年から1982年当時、市場に出回っていた最大のPROMチップのメモリ容量は2KBで、漢字に換算すると28~51文字にしかならなかった。これでは、7000字の漢字を記憶させるためには、138~250個のPROMチップが必要になってしまう。「これは大変な量だ」と、ブルース氏は気づいた。

次に同氏は、フロッピーディスクに漢字を格納することを考えた。しかしこれも、実用的ではないことがわかった。多くのフロッピーディスクが必要なだけでなく、その遅いアクセススピードのため、フロッピーディスクに保存されている漢字のビットマップを取り出すのにも時間がかかるためだ。そこでGARFはサイノタイプIIIに、当時のマイクロコンピューターの周辺機器としてはほとんど例がなかった、外付けハードディスクを接続するという第3の方法をとった。深刻なメモリ不足の問題を解決するため、GARFは使用頻度の低い数千の漢字を外付けハードディスク(10MBのコルバス製「Rigid Disk Storage[リジッド・ディスク・ストレージ])つまりシステム本体とは別の「倉庫」に保存した。

しかし、これはサイノタイプIIIの動作が遅くなるという副作用をもたらした。コンピューターの内部では、ほとんどの処理がミリ秒単位の速さで行われるため、ハードディスクは厄介な代物だった。特に当時のハードディスクは「プラッター」と呼ばれる硬い磁気ディスクがレコードプレイヤーのように内部で回転しており、レコードの溝を針で読み取るように、各トラックの内容をヘッドで読み取るものだ。そして読み取り速度は、ヘッドの位置と、読み取り要求があった時点でのディスクの回転位置によって決まる。停留所に着いたらバスが出発していた、というのと似たようなもので、またバスが回ってくるまで待たなければならない。

実際、ハードディスクに保存されている漢字の読み取り速度は、メモリに保存されている漢字の読み取り速度に比べて10倍以上も遅かった。具体的には、メモリに保存された漢字の読み取り時間は、1文字あたり約100ミリ秒と、タイプする人にとって気になる遅延ではない。一方、外部ハードディスクに保存されている漢字の場合、1文字入力するたびにフォントの読み取りに1秒もの時間を要し、これは人間の感覚では無視できないレベルだ。

1980年代半ばのパーソナルコンピューターの世界では、英語圏のユーザーはリアルタイムタイピングに急速に慣れてきていたため、1文字の入力に1秒かかるというのは壊滅的な遅さだった。そして、1秒は100ミリ秒の10倍の長さであるため、一般のユーザーは使用頻度の低い漢字を入力するたびに、この大きな差を感じてしまうことになる。

この問題を軽減するために、ルイ・ローゼンブラム氏は「アダプティブ一時ストレージ」というアイデアを思いついた。サイノタイプIIIでは、ユーザーが直近に入力した文字に応じて、メモリに保存される文字セットを調整できるようにしたのだ。起動直後は、サイノタイプIIIの増設メモリには、あらかじめ決められた使用頻度の高い漢字だけが記憶されるようになっている。ハードドライブに格納されている頻度の低い文字の入力には、前述のように最大で1秒かかる。しかし「頻度の低い漢字をキーボードで入力すると、そのコードとドットマトリックスパターンがランダムアクセスメモリに記憶される」と、同氏は当時の手紙で説明している。つまり、そのような文字は一時的にハードドライブから増設ボードに割り当てたメモリキャッシュにコピーされ、その後の検索時間を短縮することができる。

サイノタイプIIIの文字データベースとメタデータが記載されたGARFの内部資料(画像クレジット:Louis Rosenblum Papers、Stanford University Special Collections)

チャイニーズ・オン・ア・チップ

メモリバンク切り替えやアダプティブメモリを駆使しても、そういった工夫だけでは手に負えない何千もの文字が残されていた。実際の漢字入力では、使用頻度の高い漢字が全体の大きな割合を占めているが、技術的な内容や専門的な内容の文章を作成する場合には、ユーザーは必ず「倉庫」の漢字リポジトリに繰り返しアクセスすることになる。中国語のコンピューターを英語のコンピューターと同じように、快適なスピードで使えるようにするためには、これらの「低頻度文字」をより多く「現場」に運び入れておく必要があった。

1970年代後半から1980年代前半にかけて、エンジニアたちは別のハードウェアソリューションを模索し始めた。「Chinese Character Cards(Hanka)[漢字カード]」「Chinese Cards(Zhongwenka)[中国語カード]」「Chinese Character Generators」(漢字生成機)「Chinese Font Generator(Hanzi zimo fashengqi)[漢字フォント生成機]」、そしてある記事では「Chinese-on-a-Chip(チャイニーズ・オン・ア・チップ)」などと呼ばれていた。こういった「漢字カード」類は、メモリーボードやグラフィックボードのように、マザーボードの拡張スロットに直接実装するように設計され、何千もの中国語のビットマップとキー入力をビットマップに対応させるエンコーダーが論理回路として組まれていた。実際、漢字カードは、外付けのハードディスクと同じ役割を果たすと同時に、より高速で安定した性能を発揮した。

しかし「チャイニーズ・オン・ア・チップ」カードは、GARFの研究対象ではなかった。というのも、漢字カードは、パーソナルコンピューターが普及する前の中国語システムの専用機向けに開発されたものだったからだ。そういったシステムは、Chan Yeh(チャン・イェー)氏のIdeographix IPX(イディアグラフィク・アイ・ピー・エックス)やOlympia 1011(オリンピア・テン・イレブン)などが挙げられ、漢字ビットマップの生成と入力記述子の保存のみを目的としたマイクロプロセッサーを搭載していた。中国語ワープロ「オリンピア1011」は、電動の中国語タイプライターであるが、3個のIntel 8085(インテル・エイティ・エイティファイブ)プロセッサーの内1個が漢字生成専用であったという。

1980年代初頭には、この漢字生成機がコモディティ化し、市販品として単体で販売されるようになった。そのため、漢字生成機の恩恵を受けるためにオリンピア1011のような本格的なワープロを買う必要はなくなり、代わりに「漢字カード」を購入して、それを自分のパソコンにインストールするだけでよくなった。

最も早くから漢字カードに取り組んでいた中国コンピューティングの中心の1つである清華大学では、約6000種類の中国語ビットマップパターンを32×32ドットマトリックス形式で格納できる先駆的なカードを開発した。そして、1980年代半ばから後半にかけては、日本、中国、台湾、香港、米国などの企業によって製造・販売された数十種類の「Hanka(漢字カード)」類似製品が市場に出回ることになった。

また同時に「チャイニーズ・オン・ア・チップ」のアプローチは非常に重要かつ一般的なものとなり、特に中国語や日本語に対応したコンピューターでは、何らかの文字生成カードが搭載されるようになっていた。

このように、1950年代のコールドウェル氏のサイノタイプから、1980年代のローゼンブラム親子とGARFのサイノタイプIIIに至るまで、漢字に関わるメモリ問題を解決することは、コンピューティングにおける中国市場の幕開けの重要な基盤となった。コンピューターの改造によるメモリの拡張、文字の優先度に適応するメモリ管理アルゴリズムの考案、問題の解決のための専用ハードウェアの構築、それらすべてが中国におけるコンピューター革命の引き金となったのだ。

しかし次のステップは、コンピューター本体だけではなく、コンピューターに接続されるすべての機器に、漢字対応をどのように拡大していくかということだった。TechCrunchでまもなく公開されるこのシリーズのパート2では、中国語のテキスト出力に対応した初期のコンピューターモニター、プリンター、その他の周辺機器で見られた、設計とプログラミングにおける課題について深く掘り下げていく。

カテゴリー:ハードウェア
タグ:中国コンピューター中国語コラム

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

原文へ

(文:Tom Mullaney、翻訳:Dragonfly)