次のページ 前のページ 目次へ

  Pilot HOWTO
  by David H. Silber pilot@orbits.com
  v0.5, 17 August 1997

  日本語訳      : 川島浩 (kei@av.crl.sony.co.jp)
  訳の吟味/校正 : 吉山さん (yosshy@jedi.cs.kobe-u.ac.jp)
                : 土屋さん (tsuchiya@inet.mmp.fujitsu.co.jp)



  この 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で読むことができます:
  http://www.orbits.com/Pilot/Pilot-HOWTO.html
  また、このドキュメントは Linux Documentation Project (LDP) の一部と
  なっています。LDP や、他の HOWTO ドキュメントのさらに詳細については、
  http://sunsite.unc.edu/LDP/
  をご覧下さい。

  将来のバージョンでは、もっとたくさんの種類の、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.



  1.2. メイリングリスト

  pilot-unix メイリングリストは Matthew Cravit が運営しています。
  <mailto:pilot-unix-owner@lists.best.com>. このメイリングリストの
  ルール(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 <mailto:albert@acm.rpi.edu> が管理しています。



  1.4. FTP サイト

  Unix上で使う Pilot 用のツール類のアーカイブは:
  ftp://ryeham.ee.ryerson.ca/pub/PalmOS/
  にあります。
  Jeff Dionne <mailto:jeff@ryeham.ee.ryerson.ca> が管理しています。




  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 の詳細は山田さんのホームページ
  http://www.tt.rim.or.jp/~tatsushi
  を参照ください。)

  PDA という言葉について詳しくない方のために書きますと、PDA とは、
  さまざまな種類の個人情報、つまり、住所録や電話番号、カレンダー、
  小切手帳管理、備忘録リスト、メモなどを管理するための機能を備えた
  電子デバイスで、情報が必要なときにはいつでも使えるように簡単に
  持ち運べるようなものです。

  さらに Pilot のように融通のきく PDA では、PDA 上に格納されたデータを
  他のコンピュータにバックアップをとったり、逆にコンピュータからデータや
  新しいプログラムをダウンロードできたりします。

  (訳注: この、母艦コンピュータとの同期機能が、Pilotのウリの一つです。
  それと、もうひとつ、Programmable Device であるということ。
  誰でも自由に新しいアプリケーションを書くことができるのです。
  ソフトウエアを開発するための API も 3Com から公開されています。
  実際、毎日平均5件以上もの新しいプログラムがインターネット上に公開
  されています。Pilot用のFree/Shareware, 商用ソフトについては、例えば
  http://www.pilotgear.com
  http://www.pilotzone.com
  などをご覧ください。
  また、開発ツールに関しては、この 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
  <mailto:rbram@concentric.net> は Doc を開発しました。Doc は Pilot で
  動作するドキュメントリーダーです。
  (http://www.concentric.net/~rbram/doc.shtml を参照) ドキュメントを
  Doc が扱える形式に変換するためには、MakeDoc を使います。
  MakeDoc は Pat Beirne <mailto:pat.beirne@sympatico.ca> が開発しました。



  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] <text-file> <prc-file> <story-name>
       または
       makedoc -d [-b] <prc-file> <text-file>

    <text-file>
       変換したい元テキストファイル

    <prc-file>
       生成するファイル名 ('.prc' という拡張子を後ろにつけてください。)

    <story-name>
       Doc または Jdoc のドキュメントディレクトリ(一覧)に表示させたい
       文字列。(訳注: 空白を含む場合には ''や、"" で囲ってください。)

  できあがった .prc ファイルをデコードしたり、圧縮を制御するための
  オプションもあります。



  3.3. PilotManager

  PilotManager は、複数のデータベースを一度のホットシンクで同期させる
  ことのできる統括的なアプリケーションです。
  私自身は、この Pilot-HOWTO を書いている時点ではまだ PilotManagerの
  構築/インストールに成功していません。

  いくつか助けになりそうなリンクを:

  * PilotManager パッケージのURL:
     http://playground.sun.com/~bharat/pilotmgr.html
     <http://playground.sun.com/~bharat/pilotmgr.html>

  * パッチ:
     ftp://ftp.orbits.com/pub/Pilot/pilotmgr,v1.009-BETA-3.patch
     <ftp://ftp.orbits.com/pub/Pilot/pilotmgr,v1.009-BETA-3.patch>
  このパッチは PilotManager version 1.009 beta 3 を pilot-link version
  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/
   です。



  E. 関係する人々

  Kenneth Albanowski <mailto:kjahds@kjahds.com>
  は、pilot-link 関連のツールを管理しています。

  Donnie Barnes <mailto:djb@redhat.com>
  は、pilot-link 関連のツールを Red Hat RPM ファイルにパッケージして
  くれています。

  Rick Bram <mailto:rbram@concentric.net>
  は、Doc の作者です。

  Matthew Cravit <mailto:pilot-unix-owner@lists.best.com>
  は、pilot-unix メイリングリストの管理者(owner)です。

  Jeff Dionne <mailto:jeff@ryeham.ee.ryerson.ca>
  は、pilot-link 関連のツールの原作者です。UNIX PalmOS/Pilot 開発
  プロジェクトを管理しています。

  Mark W. Eichin <mailto:eichen@kitten.gen.ma.us>
  は、pilot-link 関連のソフトウエアを Debian Linux に移植しました。

  David H. Silber <mailto:pilot@orbits.com>
  は、このドキュメントの著者です。

  Chris Stevens <mailto:albert@acm.rpi.edu>
  は、pilot-unix メイリングリストのアーカイブを管理しています。




   X. 訳者の勝手な付録

   pilot-link0.8.9 の read-ical.c で日本語を通すためのいいかげんなパッチ
   以下の内容を 'diffs' というファイルにセーブして、pilot-link0.8.9 の
   ディレクトリで (csh または tcsh から)
       patch <diffs |& tee patch.log
   と実行してください。
   いいかげんなものなので動作保証はできませんし、on your own risk で
   行ってください。
   (そもそも、オリジナルソースで言うところの 0x95 - bullet というのが
   何者のかわかっていない状態で無理矢理 SJIS を通していますので。)

==== cut here ==== cut here ==== cut here ==== cut here ====
*** read-ical.c-dist    Wed Jan 21 23:18:12 1998
--- read-ical.c Thu Jan 22 01:55:44 1998
***************
*** 15,27 ****
  #include "pi-datebook.h"
  #include "pi-dlp.h"
  
  char * tclquote(char * in)
  {
    static char * buffer = 0;
    char * out;
!   char * pos;
    int len;
!   
    /* Skip leading bullet (and any whitespace after) */
    if (in[0] == '\x95') {
      ++in;
--- 15,33 ----
  #include "pi-datebook.h"
  #include "pi-dlp.h"
  
+ #define isSjis1stByte(c) \
+     (((c) >= 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)

次のページ 前のページ 目次へ