Pilot HOWTO David H. Silber, pilot@orbits.com v0.5, 17 August 1997 川島浩, kei@av.crl.sony.co.jp v0.5j, 22 January 1998 この HOWTO ドキュメントでは、Linux と共に Pilot を使う方法について述べ ています。一般的には HOWTO ドキュメントは Linux オペレーティングシステ ムのためのものですが、この HOWTO は Unix 全体に適用可能なものです。(is not dependent on the version of unix used.) (訳注: ようするに、Linux に限らず、どんな Unix ユーザにも役に立ちますよ、ということですね。) 1. イントロダクション Pilot には、そのメモリ上のデータと、Microsoft Windows system 間の同期 を行うためのソフトウエアが付属しています。アップルのマッキントッシュと 同期させるためのソフトウエアもありますが、こちらは別売りです。 これまで、Linux/Unix コミュニティは Pilot の製造業者から無視されてきま したが、幸運なことに、このような要求を満たすためのフリーソフトが開発さ れています。このドキュメントではそのソフトウエアについて述べます。つま り、どこから入手できて、どのようにインストールし、どうやって使うか、な どです。 1.1. このドキュメントについて このドキュメントの最新版は以下のURLで読むことができます: また、このドキュメン トは Linux Documentation Project (LDP) の一部となっています。LDP や、 他の HOWTO ドキュメントのさらに詳細については、 をご覧下さい。 将来のバージョンでは、もっとたくさんの種類の、Pilotの上で動作するプロ グラムを書くためのツールや、unix システムと Pilot の間でデータをやりと りするための conduit を書くためのツール等を紹介できると思います。 このドキュメントの中で、間違いや、もっとうまい表現などを見つけたら、上 の私のアドレスまで e-mail をください。その時には、どのバージョンのド キュメントについてのコメントかも、書いてくださいね。 このドキュメントの著作権は David H. Silber に属します。また、 LDP HOWTO-INDEX ドキュメントに準じた条件でリリースされています。 This document is Copyright ゥ 1997 by David H. Silber. It is released under the copyright terms in the LDP HOWTO-INDEX document. (JF:URL は一部修正しています) 1.2. メイリングリスト pilot-unix メイリングリストは Matthew Cravit が運営しています。 . このメイリングリストのルー ル(mandate)は: pilot-unix メイリングリストは、US Robotics Pilot PDA を UNIX システムと一緒に使うことに興味のある人のための、議論と知識共有の ためのものです。これには、Pilot を UNIX と一緒に使うためのツール開発 や、Unix上のPilot用 SDKの開発の助けをすることに興味のある人なども含ま れます。さらに詳細な情報(メイリングリストへの参加も含めて)について は、``INFO'' という単語を含むメイルを pilot-unix- request@lists.best.com 宛に送ってください。Subject 行は無視されますの で注意してください。 1.3. メイリングリストのアーカイブ pilot-unix メイリングリストのアーカイブ(過去の記録)は、 http:///www.acm.rpi.edu/ albert/pilot/ にあります。Chris Stevens が管理しています。 1.4. FTP サイト Unix上で使う Pilot 用のツール類のアーカイブは: ftp://ryeham.ee.ryerson.ca/pub/PalmOS/ にあります。 Jeff Dionne が管理しています。 2. 一般的な情報 2.1. Pilot って何ですか? Pilot は小さな、ペンベースの Personal Digital Assistant (PDA)です。現 在は 3Com の子会社である、U.S. Robotics が開発しました。 (訳注: もとも とは独立した会社である、Palm Computing という会社が開発しましたが、そ の後 USR が Palm Computing を買収し、 3Com が USR を買収し...という経 緯で 現在は 3Com ブランドになっています。 Pilot は遊び心一杯のマシンで、本当に可愛いデバイスです。ペンベースとい うと文字認識の確度の低さに拒否反応を示される方も多いかもしれません が、Pilot はそんなことはありません。ちょっと特殊な、でもすぐに覚えられ る一筆書きのアルファベット文字認識を採用していて、認識率は非常に高く なっています。また、山田さんの開発された J-OS suite という日本語化環境 をインストールすることで、ほとんどのアプリケーションで日本語を使うこと が可能になります。 (もちろんローマ字かな漢字変換で日本語を入力する事も できます。 J-OS suite の詳細は山田さんのホームページ を参照ください。) PDA という言葉について詳しくない方のために書きますと、PDA とは、さまざ まな種類の個人情報、つまり、住所録や電話番号、カレンダー、小切手帳管 理、備忘録リスト、メモなどを管理するための機能を備えた電子デバイスで、 情報が必要なときにはいつでも使えるように簡単に持ち運べるようなもので す。 さらに Pilot のように融通のきく PDA では、PDA 上に格納されたデータを他 のコンピュータにバックアップをとったり、逆にコンピュータからデータや新 しいプログラムをダウンロードできたりします。 (訳注: この、母艦コンピュータとの同期機能が、Pilotのウリの一つです。そ れと、もうひとつ、Programmable Device であるということ。誰でも自由に新 しいアプリケーションを書くことができるのです。ソフトウエアを開発するた めの API も 3Com から公開されています。実際、毎日平均5件以上もの新し いプログラムがインターネット上に公開されています。Pilot 用の Free/Shareware, 商用ソフトについては、例えば o o などをご覧ください。また、開発ツールに関しては、この HOWTO の後のほう にも書かれていますが、 prc-tools という素晴らしいフリーの開発パッケー ジもあります。) 2.2. いろいろな種類の Pilot 128kバイト、512kバイトの RAM を搭載しています。 最近の2種類つまり、PalmPilot Personal と PalmPilot Professionalはそれ ぞれ、512kバイト、1Mバイトの RAM を搭載しています。さらに、この2機種 には、LCD パネルのバックライトと、バージョン 2.0 のオペレーティングシ ステムが搭載されています。Professional には、この他に TCP/IP スタック といくつかの追加内蔵プログラムが含まれています。 どの Pilot でも、メモリーカード(ROMとRAMを内蔵している)を交換すること によってアップグレードが可能です。もちろん、古いタイプの Pilot には バックライト機能はありませんけどね。 2.3. ハードウエアのインストール Pilot には、デスクトップコンピュータとデータをやりとりするための ``ク レードル''が付属しています。この装置は実際には、Pilot を保持するための ホールダーとシリアルケーブル、`ホットシンク'ボタンから構成されていま す。このクレードルを、あなたのコンピュータの空いているシリアルポートに 接続する必要があります。それぞれのスタンドアローンプログラムを走らせる 時には、Pilot をこのクレードルに置いて、 `ホットシンク'ボタンを押して ください。こうすることで、Pilot は通信する必要があることを知ることがで きます。ボタンが押された時に Pilot の電源がオフになっていた場合には、 自動的にオンになります。クレードルが接続されているシリアルポートに /dev/pilot という別名を用意しておくと便利でしょう。こうするためには root ユーザになって、以下を実行します: ln /dev/cua0 /dev/pilot このコマンドラインの、'cua0' の部分は、あなたの環境に合わせて変更して くださいね。(クレードルのつながっているシリアルポート名) (訳注: /dev/cua* が存在しない場合には、/dev/ttyS* がこれに対応します。 また、DOS/Windows のシリアルポート名との対応は: DOS/Windows Linux COM1 cua0/ttyS0 COM2 cua1/ttyS1 です。) 3. Pilot と Linux でデータを共有する 3.1. Pilot-link というソフトウエア Pilot-link という一揃いのソフトウエアがあります。このソフトウエアに よって、プログラムを Pilot にダウンロードしたり、内蔵プログラムのデー タを linux との間でやりとりしたりすることができるようになります。 Pilot に付属するデスクトップソフトほどにはシームレスではありませんが、 双方向のデータのやりとりをすることができます。一般的に言って、 pilot- link ソフトウエアに含まれるそれぞれのソフトは、それぞれが1種類のデー タを管理します。(訳注: ようするに、Memo/Address/ToDo などなど、それぞ れのデータを扱うソフトが独立している、ということですね。)で、これらの pilot-link ソフトウエアの上位ソフトとして PilotManager というソフトウ エアがあり、これを使うとより統合的な環境が実現できます。つまり、いろい ろな種類のデータの同期を一度に行うことができるわけです。 3.1.1. Pilot-link ソフトをインストールする。 パッケージ化されたバージョンのものは、大本(master)の配布よりはどうして も遅れてしまいますが、設定が不要ですし、インストールも楽です。バグ フィックスや、新しい機能が必要な場合には、大本の配布を使うほうがいいで しょう。 Debian Linux 用の pilot-link version 0.7.2 は、 ftp://ftp.debian.org/pub/debian/hamm/hamm/binary-i386/otherosfs/pilot- link_0.7.2-1.deb から入手できます。通常の方法で(訳注: dpkg や dselectを使って) インストールしてください。これをインストールした場合 には、「Pilot-link ソフトを使う」の章までスキップしてください。 RedHat Linux 用の pilot-link version 0.7.6 は、 ftp://ftp.redhat.com/pub/contrib/i386/pilot-link-0.7.6-2.i386.rpm から 入手できます。通常の方法でインストールしてください。これをインストール した場合には、「Pilot-link ソフトを使う」の章までスキップしてくださ い。 その他の版の linux や、その他の unix の場合には、 ftp://ryeham.ee.ryerson.ca/pub/PalmOS/pilot-link.0.8.2.tar.gz. をダウ ンロードしてください。バージョン番号は少々変わってしまっているかもしれ ませんが、新しいバージョンのものが、同じ場所に、同様の名前で存在するは ずです。 (訳注: pilot-link の最新版は訳している現在、pilot- link.0.8.9.tar.gz になっているようです。訳者もこれをゲットしました。) 配布ファイル(訳注: pilot-link.0.8.2.tar.gzのこと)をゲットしたら、次の コマンドラインで展開します: tar -xvzf pilot-link.0.8.2.tar.gz これに よって、pilot-link.0.8.2 というディレクトリができあがり、その中にソー スがあります。 (訳注: 訳者は pilot-link.0.8.9 をゲットして、Debian-1.3.1の上にインス トールしてみました。あっけないほど簡単にコンパイル/インストールが完了 しました。まだ 全部の機能をテストしていませんが、うまく動作していま す。pilot-xfer のバックアップ機能 (-b オプション)はいいですね。根こそ ぎバックアップしてくれているようなので安心。また、この HOWTO に記述さ れているよりも多くのソフトウエアが含まれています。X11 上のカレンダーソ フト ical との連係も可能です。(Pilot -> Linux の片方向なのが残念です が...) ./configure を実行します。これによって、ソフトウエアをコンパイルするた めに必要なシステム情報を自動的に認識します。デフォールトでは、できあ がったソフトウエアを /usr/local 以下にインストールするような設定になり ます。それを変更したい場合には、./configure のかわりに、 ./configure --prefix=DIR と実行してください。DIRには、あなたが pilot-link ソフトを インストールしたいと思っているディレクトリを指定します。 さて、make を実行して、コンパイルをおこないます。これだけではソフトウ エアのインストールはおこなわれませんから、まずはやってみましょう。 (も しあなたが古いバージョンのソフトを新しいバージョンで置き換えようとして いる場合には、予め必要な機能がうまく動作するかどうかを確認したいかもし れませんよね。普通は問題ないはずですが。) root ユーザになって、make install を実行します。これによっ て、/usr/local (または、あなたが --prefix オプションで指定したディレク トリ)以下に、必要なソフトウエアがインストールされます。もしあなたが root ユーザになることができない場合には、あなたが書き込み権限を持って いるどこかのディレクトリにインストールすればよいでしょう。 実行ファイルのあるディレクトリを、サーチパスに加えるのを忘れないでくだ さいね。 3.1.2. Pilot-link ソフトを使う。 pilot-link ソフトのほとんどは、conduit(直訳:導管) です。つまり、Pilot との間のデータ交換をおこなうものです。 このようなソフトを使う時には、Pilot の クレードルのホットシンクボタン を押してください。これによって、Pilot 側のデータ転送が始まります。なか には、ホットシンクボタンを押すように促さないプログラムもありますので、 れは覚えておいたほうがいいでしょう。 これらのプログラムのさらに詳細なことや、オプションなどに関してはそれぞ れのマニュアルページを参照してください。例えば pilot-xfer プログラムに 関して知りたい場合には、シェルプロンプトから、 man pilot-xfer と入力し ます。 PilotManager を使う場合には、これらの細かいツールの使い方は知る必要は ないかもしれません。 (訳注: Pilot <-> Linux のやりとりをする時のシリアルラインのデフォール ト速度は 9600bps のようです。これは環境変数 PILOTRATE を設定することで 変更可能です。訳者の環境(Pentium-90+16550A+Linux2.0.32)では、 setenv PILOTRATE 57600 で、快適に動作しています。) 3.1.2.1. pilot-xfer pilot-link プログラムの中で、恐らく一番使いでのあるプログラムでしょ う。 pilot-xfer を使うと、Pilot にプログラムをインストールしたり、バッ クアップをとったり、バックアップをリストアしたり、ということができま す。 プログラムを Pilot にインストールするには: pilot-xfer /dev/pilot -i program.prc Pilot のバックアップをとるには: pilot-xfer /dev/pilot -b backup-directory これによって、Pilot の中にあるすべてのデータベースの内容が backup- directory というディレクトリにコピーされます。 (プログラムも含め て?)もし、そのディレクトリが存在しない場合には新しく作成されます。 Pilot にデータをリストアするには: pilot-xfer /dev/pilot -r backup-directory 一般的にこれが必要になるのは、ハードリセットをおこなった時か、電池が完 全に切れてしまったときなどでしょう。 Pilot 上のプログラムを表示するには: pilot-xfer /dev/pilot -l 3.1.2.2. install-memo Linux上のファイルを Pilotのメモとしてダウンロードします。メモを特定の プロジェクトカテゴリー(すでに作成済の)としてダウンロードするには: install-memo /dev/pilot -c project project.memo メモの最初の行には、 ファイル名が挿入され、Pilot上のメモプログラムのディレクトリ情報(一 覧)には、これが表示されます。 3.1.2.3. memos このプログラムは Pilot の中のそれぞれのメモを引っ張り出して、標準的な mailbox フォーマットで表示します。 memo を見るためには: memos /dev/pilot とします。 3.1.2.4. pilot-addresses Pilot-addresses は、Pilot のアドレスデータベースをやりとりするためのも のです。 Pilot から、Linux ファイルに内容を書き出すには: pilot-addresses /dev/pilot -w storage.file (訳注: こっちだけ試してみました。日本語を含む address もちゃんと吸い上 げることができます。ただし、Pilot + J-OS の日本語コードはシフ トJIS(MS漢字コード)ですので、Linux 上で読むためには nkf -e などのコマ ンドで、 EUC に変換する必要があります。) Linux ファイルから Pilot に内容を転送するためには: pilot-addresses /dev/pilot -r storage.file (訳注: read-ical ってのもあります。で、これは Pilot の datebook と todo を ical フォーマットで吸い上げてくれるもので、ical は、ToDo と、 DateBook を X11 上で表示できるアプリケーションです。見栄えもかなり良い です。しかし、残念ながら ical では日本語が通らないようです。今回初めて ical をインストールしてみたのですが、とっても使えそうなアプリケーショ ンなだけに無念です。 ...と思ったのですが、なんとかなりました。 まず、ical の日本語表示に関しては、ical-2.2 と、日本語化された tcl/tk である、 tcl7.6jp/tk4.2jp の組合せで日本語が表示可能になりました。 (も ちろん、ical-2.2 の再コンパイルが必要です。) 問題は read-ical 側で、シ フトJISを通すための簡単なパッチが必要です。すごくいいかげんな対処です が、とりあえず訳者のところでは動作してます。 (ほんとにこれでいいのかな あ...とても不安。) この文書の最後に pilot-link0.8.9用のパッチを付加し ますが、他にまじめにパッチした方がいらしたら、ぜひ御連絡ください。 ちなみに、オリジナルの ical のリリースURL は: http://www.research.digital.com/SRC/personal/Sanjay_Ghemawat/ical/home.html です。 現在は Pilot -> Linux という片方向だけですが、かなり幸せです。さらに write-ical ができればいいなあ...) 3.2. MakeDoc Pilot 組み込みの memo プログラムの一つの欠点は、大きなドキュメントを扱 うことができない、という点です。これを解決するために、Rick Bram は Doc を開発しました。Doc は Pilot で動 作するドキュメントリーダーです。 (http://www.concentric.net/ rbram/doc.shtml を参照) ドキュメントを Doc が扱える形式に変換するためには、MakeDoc を使います。 MakeDoc は Pat Beirne が開発しました。 3.2.1. MakeDoc をインストールする。 MakeDoc は以下の URL からダウンロードできます: http://www.concentric.net/ rbram/makedoc7.cpp これを、お手持ちの C++ コンパイラでコンパイルし、サーチパス上のどこかのディレクトリ に、makedoc としてインストールしてください。 makedoc (version 0.7a) に は少々バグがあるようで、ユーザーに表示される最後の文字として、改 行(newline)を出力しないようです。まあ、多少不愉快ではありますが、でき あがるドキュメントファイルの大勢に影響はありません。 新しいバージョンもあるようですが、これには Java が必要です。 Pat Beirne の MakeDoc ウェブページを参照してください: http://cpu563.adsl.sympatico.ca/MakeDocJ.htm 3.2.2. MakeDoc を使う。 MakeDoc は次のように使います: makedoc data.txt data.prc "Data to display with Doc" これによって、data.prc という Pilot にダウンロード可 能なファイルが生成されます。(ダウンロードには pilot-xfer を使います。) "Data to display with Doc" の所には、Doc のドキュメントディレクトリ (一覧)で表示させたい文字列を指定します。 MakeDoc のコマンドラインの文法は以下の通りです: makedoc [-n] [-b] または makedoc -d [-b] 変換したい元テキストファイル 生成するファイル名 ('.prc' という拡張子を後ろにつけてください。) Doc または Jdoc のドキュメントディレクトリ(一覧)に表示させたい文 字列。(訳注: 空白を含む場合には ''や、"" で囲ってください。) できあがった .prc ファイルをデコードしたり、圧縮を制御するためのオプ ションもあります。 3.3. PilotManager PilotManager は、複数のデータベースを一度のホットシンクで同期させるこ とのできる統括的なアプリケーションです。私自身は、この Pilot-HOWTO を 書いている時点ではまだ PilotManagerの構築/インストールに成功していませ ん。 いくつか助けになりそうなリンクを: o PilotManager パッケージのURL: o http://playground.sun.com/ bharat/pilotmgr.html o o パッチ: o ftp://ftp.orbits.com/pub/Pilot/pilotmgr,v1.009-BETA-3.patch o このパッチは PilotManager version 1.009 beta 3 を pilot-link ver- sion 0.8.0 と共に使う場合のパッチです。PilotManager のソースをゲッ トして、以下のコマンドでパッチをあてます。 tar -xvzf pilotmgr,v1.009-BETA-3.dev.tar.gz cd pilotmgr,v1.009-BETA-3 patch -p1 < ../pilotmgr,v1.009-BETA-3.patch 私自身はもう少しでこのソフトウエアをインストールできると思うので、その 時にはまたこのドキュメントの新しいバージョンで、それについてふれたいと 思います。 (訳注: 訳者も PilotManager に関して少しだけのたうち回ってみましたが、 PilotManager は、どうも XOpenの CDE (Common Development Environment) に含まれる Calendar プログラムとインターフェースをとるような構造で作成 されているようです。で、これらが再配布できないパッケージなので、 CDE をすでに持っている方以外は(少なくともカレンダー機能は)使えないのではな いかと思います。PilotManagerの、その他の機能に関しては使用可能かもしれ ませんが、未確認です。うまく使う事のできた方、是非情報をお寄せくださ い。また、Data::Dumper のインストールには、perl 5.004 以降が必要なよう です。うまく PilotManager を使う方法をご存知の方がいらっしゃいました ら、是非御連絡ください。 Linuxに関しては、恐らく、Caldera 社の販売して いる CDE を購入すればi 利用可能となるのではないかと思っていますが、手 元にないので試していません。) 4. Pilot用のソフトウエアを開発するためのツールについて。 4.1. prc-tools prc-tools パッケージは、FSF GNU ユーティリティから派生した開発環境一揃 いです。コンパイラ、デバッガといくつかの特別なツールから構成されていま す。(訳注: GUIを構成するためのリソースコンパイラ pilrc も含まれていま す。訳者もこの環境で開発しています。素晴らしい環境です。) ドキュメントは少々不足していますが、次の Pilot Software Development ウェブページが補ってくれるかもしれません: http://www.massena.com/darrin/pilot/ 4.1.1. prc-tools をインストールする。 prc-tools の最新版は以下の場所からダウンロードできます: ftp://ryeham.ee.ryerson.ca/pub/PalmOS GNU ツールは次の場所から: ftp://prep.ai.mit.edu/pub/gnu binutils-2.7.tar.gz, gcc-2.7.2.2.tar.gz, gdb-4.16.tar.gz をゲットして ください。ここで示した GNU ツールのバージョン番号は、prc-tools のリリ ース 0.5.0 に対応したバージョンです。より新しい prc-tools には、もっと 新しいバージョンの GNU ツールが必要かもしれません。 これらのすべての配布パッケージをひとつのディレクトリに置きます。 prc- tools の配布パッケージだけを解凍(Unpack)します。他のパッケージに関して は、prc-tools の Makefile が面倒をみてくれますから。デフォールトでは prc-tools は /usr/loccal/gnu にインストールされるようになっています。 もし、その他の場所にインストールしたい場合には Makefile の中 の、INSTALLDIR の値を変更してください。コンパイルの手順は: tar -xvzf prc-tools.0.5.0.tar.gz cd prc-tools-0.5.0 (必要なら Makefile をエディットする。) make doeverything です。 4.1.2. prc-tools を使う。 prc-tools の一般的な使い方を学ぶには、example ディレクトリの下のファイ ルが役にたつでしょう。特に Makefile。PilRC のドキュメントは、prc-tools バージョン 0.5.0 に含まれている、 pilrc1.5/doc/pilrc.htm にあります。 (訳注: pilrc は現在 v2.0 となり、圧縮ビットマップのサポートをはじめと して、めざましい進歩をとげております。ぜひ最新版を使うことをお勧めしま す。) PilRC のホームページは: http://www.scumby.com/scumbysoft/pilot/pilrc/ です。 5. 関係する人々 o Kenneth Albanowski は、pilot-link 関連の ツールを管理しています。 o Donnie Barnes は、pilot-link 関連のツールを Red Hat RPM ファイルにパッケージしてくれています。 o Rick Bram は、Doc の作者です。 o Matthew Cravit は、pilot- unix メイリングリストの管理者(owner)です。 o Jeff Dionne は、pilot-link 関連 のツールの原作者です。UNIX PalmOS/Pilot 開発プロジェクトを管理して います。 o Mark W. Eichin は、pilot-link 関連 のソフトウエアを Debian Linux に移植しました。 o David H. Silber は、このドキュメントの著 者です。 o Chris Stevens は、pilot-unix メイリング リストのアーカイブを管理しています。 6. 訳者の勝手な付録 pilot-link0.8.9 の read-ical.c で日本語を通すためのいいかげんなパッチ 以下の内容を 'diffs' というファイルにセーブして、pilot-link0.8.9 の ディレクトリで (csh または tcsh から) patch = 0x81 && (c) <= 0x9f) || ((c) >= 0xe0)) + + char * tclquote(char * in) { static char * buffer = 0; char * out; ! unsigned char * pos; int len; ! int inkanji = 0; ! ! #if 0 /* Skip leading bullet (and any whitespace after) */ if (in[0] == '\x95') { ++in; *************** *** 29,60 **** ++in; } } ! len = 3; ! pos = in; ! while(*pos) { ! if((*pos == '\\') || (*pos == '"') || (*pos == '[') || (*pos == '{') || (*pos == '$')) ! len++; ! len++; ! pos++; ! } ! if (buffer) ! free(buffer); ! buffer = (char*)malloc(len); ! out = buffer; ! ! pos = in; ! *out++ = '"'; ! while(*pos) { ! if((*pos == '\\') || (*pos == '"') || (*pos == '[') || (*pos == '{') || (*pos == '$')) ! *out++ = '\\'; ! *out++=*pos++; ! } ! *out++ = '"'; ! *out++ = '\0'; ! return buffer; } static void Usage(char *progname) --- 35,78 ---- ++in; } } + #endif ! len = 3; ! pos = in; ! while(*pos) { ! if (!inkanji && ((*pos == '\\') || (*pos == '"') || (*pos == '[') ! || (*pos == '{') || (*pos == '$'))) ! len++; ! if (inkanji) ! inkanji = 0; ! else if (isSjis1stByte(*pos)) ! inkanji = 1; ! len++; ! pos++; ! } ! if (buffer) ! free(buffer); ! buffer = (char*)malloc(len); ! out = buffer; ! ! pos = in; ! *out++ = '"'; ! inkanji = 0; ! while(*pos) { ! if (!inkanji && ((*pos == '\\') || (*pos == '"') || (*pos == '[') ! || (*pos == '{') || (*pos == '$'))) ! *out++ = '\\'; ! if (inkanji) ! inkanji = 0; ! else if (isSjis1stByte(*pos)) ! inkanji = 1; ! *out++ = *pos++; ! } ! *out++ = '"'; ! *out++ = '\0'; ! return buffer; } static void Usage(char *progname) ______________________________________________________________________ 7. 日本語訳について 日本語訳 : 川島浩 (kei@av.crl.sony.co.jp) 訳の吟味/校正 : 吉山さん (yosshy@jedi.cs.kobe-u.ac.jp) : 土屋さん (tsuchiya@inet.mmp.fujitsu.co.jp)