Kctrans

Kctrans & Gaijconvの歴史

最新版はUB1.2b1です

UB1.2b1

06-01-29

Universal Binaryへの対応とユーザーインタフェースの改善

Kctrans & Gaijconvの歴史(旧)

MS-DOS版開発のいきさつと旧MacOS版への移植まで

VZマクロ

90年代前半、中国・上海に駐在していた作者は、仕事上の必要から中国のパケット通信網「CNPAC」(ChinaPAC)利用していました。CNPACにおまけとして附随してきたメールサービス(China Mail Shanghai)を、手持ちの日本語パソコンで使えるようにしようというのがコードコンバータ作成のきっかけでした。時期は92年だったと記憶します。

中国の通信用コードは不明でしたが、ふとしたきっかけから内部コードが日本の「EUC」と同じ原理であることに気がつきました(その後参考書を入手して確認)。

当時作者は人気のあったDOS用エディタ「VZ」を愛用していましたが、このマクロを応用して最初のコンバータを作成しました。コンバータはS-JISテキスト→GBテキスト、当時所有していた中国語ワープロソフト「文華」テキスト→GBテキストといった変換に対応していました。いま手もとにある「JPN2CHN.DEF」というファイルのタイムスタンプは92-08-18となっています。当時は「VZ」で日本語のテキストを作成→マクロで変換→通信ソフトでファイルをメールシステムにアップ→ファクスに出力−−といった使い方をしました。

NiftyServeの「日中プロジェクト」とJISXGB

93年2月ころから、パソコン通信NiftyServe(現@Nifty)の外国語フォーラム「FLM」の中国語会議室で、「中国語でパソコン通信する計画」という話題が盛り上がりました。メッセージボード上で中国語をどう表現するか、といった点について活発な議論がかわされました。(*)

作者は、中国のシステムで日本の会議室の発言を読んだり、メールをポストしたりできる道筋を用意する必要があるという立場からコンバータの重要性を何度か指摘しました。マクロと同等の機能を備えた「JISXGB」というソフトを外国語フォーラムで公開したのは、93年2月下旬でした。

その後「日中プロジェクト」などの名前で、同じフォーラムの技術会議室でも議論が進み、メンバーによってコンバータの変換不可能な文字について「JIS使用GB合成文字」(FLM/LIB-5#81)や「中国語FONT」(FLM/LIB-5#124-130)が作成されてアップされるなど、いろいろな成果が発表されました。現在の「KCTRANS」はこのときの議論と成果に多くを負っています。例えばGB→JIS変換で使用する「GB2JIS.TBL」が、漢字の同一性をかなり広く解釈しているのは、外字フォントの個数をDOS/V機の限界である1,880字以内におさめる−−という、当時の議論の影響によるものです。(**)

Kctransと関連するプログラムの系譜

History of KCTRANS and related programs

ISXGBからKCTRANSへ

「JISXGB」はGBとJIS相互間のコード変換にしか対応せず、Big-5コードには対応していませんでした。しかしBBSなどではBig-5コードも広く使われていることから、バージョンアップを決意、93年8月に「KCTRANS」ver1.00を公開しました。当時はBig-5に関する情報の入手が困難で、NiftyにアップされたBig-5フォントデータ「中国語ビットマップフォント」(FLM/LIB-5#60-61)をパソコン上に表示するプログラムを自作し、これをもとにテーブルファイルを作成しました。また合成文字、外字への出力を受け持つ「GAIJCONV」もこの時公開しました。

以後「KCTRANS」は基本的な機能を維持しながら、変換テーブルの対応ミスの修正、コードの手直しなどを経て現在のver1.06まで改定されてきています。また「GAIJCONV」も同様に現在ver1.15まで版があがっています。

「KCTRANS」改定のあゆみ

  • ver 1.00(93-08-29)
    最初の公開バージョン
  • ver 1.01(94-05-05)
    (1)KCSに関する仕様の変更:前バージョン"?123456"="?3456"と解釈→現バージョン"?1234"-"56"(半角数字)と解釈
    (2)いくつかのバグフィクス
  • ver 1.02(95-03-21)
    いくつかのバグフィクス
  • ver 1.03(96-03-21)
    (1)BIG-5非主要漢字に対応
    (2)変換辞書の形式変更(以前のバージョンと非互換、拡張子はLEXのまま)
    (3)いくつかのバグフィクス
  • ver 1.04(97-05-05)
    プログラムコードの見直し
  • ver 1.05(99-06-27)
    (1)プログラムコードの見直し(コードのリストラとスピードアップ)
    (2)テーブルの見直し(変更点については付属のKCT(UPD).TXTを参照)
  • ver 1.06(99-11-01)
    (1)出力だけをリダイレクトしたとき行末コードがおかしくなるバグを修正
    (2)親プロセスから大きな環境変数を受け取ったときの対応の強化

「GAIJCONV」改定のあゆみ

  • ver 1.00(93-08-29)
    最初の公開バージョン
  • ver 1.10(94-06-17)
    (1)自前で作成したテーブルを参照するようにした。
    (2)BIG-5のKCS形式に対応できるようにした。
    (3)プログラムのバグのフィクス
  • ver 1.11(95-03-21)
    (1)合成文字のセパレーターを()から[]に変更、合成文字の長さなどの仕様も合わせて変更
    (2)プログラムのバグのフィクス
  • ver 1.12(96-03-21)
    テーブルファイルの見直し(BIG-5の対応の強化)
  • ver 1.13(97-05-05)
    (1)プログラム自体のバグフィックスとコードの見直し
    (2)テーブルファイルの見直し(合成文字の改良)
  • ver 1.14(99-06-27)
    (1)BIG-5主要漢字(5401字)の非対応字をすべて合成文字化(GCV(UPD).TXTを参照のこと)
    (2)スピード向上のため専用の変換辞書"GAIJCONV.LEX"を使用
    (3)"GAIJCONV.LEX"使用に伴うコードの見直し
  • ver 1.15(99-11-01)
    (1)出力だけをリダイレクトしたとき行末コードがおかしくなるバグを修正
    (2)親プロセスから大きな環境変数を受け取ったときの対応の強化

Mac版の公開と改定

HP開設(KCTRANS網站)を機に「KCTRANS」「GAIJCONV」のMac版公開に踏み切りました。両ソフトとも1995年ころからMacでのプログラム技法の修得と平行して移植をすすめてきたものです。

メーンマシンがMacに変わったことから、「KCTRANS」「GAIJCONV」の改定は1999年以降はMac版を中心に行われてきました。おもなものには以下の点があります。

「MacKctrans」改定のあゆみ

  • ver 1.0b1(99-08-15)
    最初の公開バージョン
  • ver 1.0b2(99-09-18)
    (1)バージョン表示が1.0d1のままになっていた不具合訂正
    (2)コードの小手直し
  • ver 1.0b3(99-11-21)
    68K版の公開(PPC版は非公開)
  • ver 1.0b4(00-02-07)
    インターフェースの改良=「Settings」ダイアログから(a)出力ファイル名をきめるダイアログをだすか否かを指定する(b)出力先のフォルダを指定する−−ことができるようにした。
  • ver 1.0b4a(00-02-13)
    OS8.0以下で使用した場合に出力ファイル名が異常になるバグを訂正。

「MacGaijconv」改定のあゆみ

  • ver 1.0b1(99-08-15)
    最初の公開バージョン
  • ver 1.0b2(99-09-18)
    (1)バージョン表示が1.0d1のままになっていた不具合訂正
    (2)コードの小手直し
  • ver 1.0b3(99-11-21)
    68K版の公開(PPC版は非公開)
  • ver 1.0b4(00-02-07)
    インターフェースの改良=「Settings」ダイアログから(a)出力ファイル名をきめるダイアログをだすか否かを指定する(b)出力先のフォルダを指定する−−ことができるようにした。
  • ver 1.0b4a(00-02-13)
    OS8.0以下で使用した場合に出力ファイル名が異常になるバグを訂正。

(*)@Nifty外国語フォーラムの議論はFLM/LIB#2の#332など過去ログを参照して下さい。

(**)この時意見や提案をだされた方については「KCTRANS」のドキュメントの【謝辞】などをご参照ください。