********************************************************************** * * * Wnn7 対応 Emacs 用日本語入力クライアント * * wnn7egg 「wnnななたまご」v1.02 * * * * ご利用ガイド * * * ********************************************************************** 0. はじめに 1. 特徴 2. 動作環境 3. 使用方法 4. 新しい機能を使う 4.1 入力予測機能 4.2 連想変換 4.3 日本語校正/入力補正 5. 設定ファイル eggrc-wnn7 6. eggV3 と異なる点 7. v1.00 から v1.01 への変更点 8. v1.01 から v1.02 への変更点 0. はじめに wnn7egg「wnnななたまご」は、「たまご第3版」v3.09 をベースに 「たまご 第4版」の通信、ライブラリ部を組み込んだ、Wnn7 の為の専用クライアント です。 すべて Emacs Lisp で記述されていますので、お手持ちの GNU Emacs 及び XEmacs 環境でそのまま使用することができます。使用許諾条件は GPL です。 以降「たまご第3版」を eggV3 と、「たまご第4版」を eggV4 と記述します。 1. 特徴 I. eggV3 のボディに、eggV4 の通信部を載せた構成 Wnn SDK を用いて emacs を再構築する必要はありません。また、内部処 理は eggV3 のものを用いていますので、xemacs でも動作可能です。 構造的には eggV3 のユーザインターフェース部に、eggV4 の通信ライブ ラリを合わせて、両者の接点となる上位ライブラリ部分を新規に作成した 形になっています。 leim ベースのため他のIMEとの切替も可能です。 ※一部制限事項があります。詳しくは「6. eggV3 と異なる点」をご覧下 さい。 +-------------------------------+ | eggV3 UserInterface部 | <-- eggV3 より流用/改造 | | +-------------------------------+ | wnn7egg ProgramInterface 部 | <-- 新規作成 +-------------------------------+ | eggV4 socket通信部 | <-- eggV4 より流用/改造 | | +-------------------------------+ 図1 wnn7egg 構造図 II. いろんな形で使える入力予測機能 Wnn7 の新機能のひとつである入力予測機能が使用できます。 入力予測機能の ON/OFFのほか、インライン候補表示/候補ウィンドウ表示の 切替、リアルタイム予測候補表示/ユーザ指定予測候補表示の切替など、 多彩な使い方が可能です。 III. 日本語校正、補正もできる 間違った入力のまま変換しても、正しい読みに直して変換します。 2. 動作環境 動作確認済 emacs 以下の emacs または xemacs で動作確認済です。 GNU Emacs 20.6 20.7 XEmacs 21.1 ※1 XEmacs は sumo パッケージが必要です。 ※2 Mule2.3 など、GNU Emacs 19.x 以下のバージョンのものでは動作しません。 構成ファイル 「wnnななたまご」は以下のファイルによって構成されています。 /usr/share/wnn7/elisp/README .......... 本書 /usr/share/wnn7/elisp/Setup_wnn7egg ... 自動セットアップスクリプト GNU Emacs 用 elisp ファイル /usr/share/wnn7/elisp/emacs20/ wnn7egg-cnv.el[c] .......... 「wnnななたまご」内部処理 wnn7egg-com.el[c] .......... 通信部 wnn7egg-edep.el ............ emacs バージョン依存部 wnn7egg-jsymbol.el[c] ...... 記号定義 wnn7egg-leim.el[c] ......... leim 設定 wnn7egg-lib.el[c] .......... wnn7 上位ライブラリ wnn7egg-rpc.el[c] .......... wnn7 下位ライブラリ wnn7egg.el[c] .............. 「wnnななたまご」本体 xemacs 用 elisp ファイル /usr/share/wnn7/elisp/xemacs21/ wnn7egg-cnv.el[c] .......... 「wnnななたまご」内部処理 wnn7egg-comx21.el[c] ....... 通信部 wnn7egg-edep.el ............ emacs バージョン依存部 wnn7egg-jsymbol.el[c] ...... 記号定義 wnn7egg-leim.el[c] ......... leim 設定 wnn7egg-lib.el[c] .......... wnn7 上位ライブラリ wnn7egg-rpcx21.el[c] ....... wnn7 下位ライブラリ wnn7egg.el[c] .............. 「wnnななたまご」本体 3. 使用方法 準備1)~/.emacs に (if (featurep 'xemacs) (setq load-path (append '("/usr/share/wnn7/elisp/xemacs21") load-path)) (setq load-path (append '("/usr/share/wnn7/elisp/emacs20") load-path))) (global-set-key "\C-\\" 'toggle-input-method) (load "wnn7egg-leim") (if (featurep 'xemacs) (select-input-method "japanese-egg-wnn7") (set-input-method "japanese-egg-wnn7")) (set-language-info "Japanese" 'input-method "japanese-egg-wnn7") と記述します。 /usr/share/wnn7/elisp/Setup_wnn7egg をお使いになると、自動で ~/.emacs の末尾に上記設定を記述することができます。 ターミナルエミュレータ上で、以下のように実行してください。 # /usr/share/wnn7/elisp/Setup_wnn7egg 準備2) サーバが localhost の default port 以外で動作しているのであれば、 接続先のサーバが分かるように指定しておきます。 例えば、hogehoge という名前のマシンで相対ポート2で動作している jserver に接続したい場合は、 (setq wnn7-server-name "hogehoge:2") と記述します。 起動) emacs または xemacs を起動します。 基本的な使用方法は、eggV3 と同じです。 注)一部、機能や関数名、変数名が異なる部分があります。 詳しくは「6. eggV3 と異なる点」をご覧下さい。 4. 新しい機能を使う 4.1 入力予測機能 最初の1~数文字だけ入力し、そこから予測される入力結果を選択することで、 少ない入力で文章入力が行えます。 入力予測機能を使用するには以下のコマンドを実行します。 M-x egg-use-input-predict サーバに接続でき、入力予測使用可能になったら、モード行のステータス表示 が、[あ]から[あ予]になります。 では試しに「おはようございます。」と入力してみましょう。 「お」と入力すると、入力位置の下に、 --------------------------------------------------------------------- [お。。。。][お。。。。][お。。。。][お。。。。][お。。。。] --------------------------------------------------------------------- と出ました。これが「お」から始まる予測候補です。 続いて「h」「a」と入力すると予測候補が絞られていきます。 --------------------------------------------------------------------- [おはようございます。] --------------------------------------------------------------------- この状態で tab を入力します。 するとカーソルが予測候補に移動します。 「おはようございます。」の文字列上にカーソルが移動したら、return を 入力します。すると、入力位置の「お」の位置に「おはようございます。」が 入力されます。 予測候補を無視して入力すれば、今までの入力と変わりありません。 予測候補に目的の言葉がなければ、そのまま入力・確定しますと、その言葉は 入力予測候補として学習され、次回の予測時に登場します。 詳しくは wnn7 の取扱説明書をご覧下さい。 入力予測機能使用中は以下のようキーバインドが追加されます。 (文字入力中) tab ............ 予測候補選択モードに移行する。 ユーザ指定予測モードであれば、予測候補の表示+ 予測候補選択モードに移行となる。 (予測候補選択モード) space, tab, n, f, C-n, C-f ... 次候補へ移動 b, p, C-b, C-p ............... 前候補へ移動 return ....................... 候補確定 q, C-g ....................... 予測候補を選択せずに入力位置に戻る C-d .......................... 予測候補削除 入力予測機能を切り替えるためのコマンドとして、以下のものが用意されて います。いろいろお試し下さい。 egg-use-input-predict 入力予測機能を使用開始します。 egg-unuse-input-predict 入力予測機能を終了します。 egg-predict-toggle-realtime-mode リアルタイム予測モードと、ユーザ指定予測モードの切替を行います。 リアルタイム予測モードでは、入力1キー毎に予測候補を表示します。 ユーザ指定予測モードでは、普段は予測候補は表示されませんが、候補 を表示したい時に tab を入力すると、その時点の予測候補が表示され ます。 egg-predict-toggle-candidate-mode ウィンドウ予測候補表示とインライン予測候補表示の切替を行います。 ウィンドウ予測候補表示の場合は、ウィンドウ下部に予測候補用の ウィンドウを生成し、そこに予測候補を表示します。 インライン予測候補表示の場合は、入力バッファの入力位置直下に、 予測候補を横ならびに表示します。 初期状態では、リアルタイム予測&インライン予測候補表示で動作します。 4.2 連想変換 変換した語句に対する類義語、同義語の候補を得ることが出来ます。 漢字変換後([漢]の状態)で、M-r (ESC-r) を入力すると、ミニバッファに 連想変換候補が表示されます。 例) 「さいだい」→変換→「最大」 ↓ M-r (ESC-r) ↓ 「切っての」「最も」「最高」「最上」・・・ 4.3 日本語校正/入力補正 以下のような誤入力のまま漢字変換された場合も、そのまま変換するのではなく、 正しい読みに直して変換します。 ・母音の過不足 「おおおさか」 -----------------> 「大阪」 「にゅりょく」 -----------------> 「入力」 ・子音の超過 「きっっぷ」 -----------------> 「切符」 ・ n の超過 「かんんじ」 -----------------> 「漢字」 ・日本語校正 「あきがたなうお」 -----------------> 「秋刀魚」 「わたぬき」 -----------------> 「四月一日」 5. 設定ファイル eggrc-wnn7 wnn7 という名前がついている以外は、従来の「たまご第3版」とほぼ同じ構成 です。以下の新しい関数が用意されています。 (wnn7-set-yosoku-learn t) 予測候補を学習する。nil であれば学習しない。 (wnn7-set-yosoku-max-disp 10) 予測候補の最大表示数。 1~10 までの間で設定。 (wnn7-set-yosoku-last-is-first t) 最後に選択した予測候補を候補先頭に表示する。nil であれば頻度順に 表示される。 (wnn7-set-boin-kabusoku t) 母音過不足の補正。nil であれば補正しない。 (wnn7-set-shiin-choka t) 子音超過の補正。nil であれば補正しない。 (wnn7-set-n-choka t) n 超過の補正。nil であれば補正しない。 (wnn7-set-nihongo-kosei t) 日本語校正機能の使用。nil であれば使用しない。 デフォルトの設定ファイルは /usr/share/wnn7/elisp/xemacs21/eggrc-wnn7 または /usr/share/wnn7/elisp/emacs20/eggrc-wnn7 ですが、 ホームディレクトリに .eggrc-wnn7 という名前でコピーすることによって、 自分専用の設定を行うことができます。 6. eggV3 と異なる点 以下の点が、eggV3 と異なっています。 o "wnn" という文字が含まれた一部関数、変数が "wnn7" に置き換わっています。 既に emacs/xemacs に含有されている eggV3 を破壊せず独立した形をとる 必要があったため、影響を受けそうな関数、変数を "wnn7" という別関数、 別変数にしてあります。 特に、以下の利用頻度の高そうな関数、変数についてはご注意ください。 変数: wnn-server-name -> wnn7-server-name 関数: set-wnn-host-name -> set-wnn7-host-name toroku-region -> wnn7-toroku-region その他、直接呼び出すことの少ない以下のような関数においても別関数に 分けられているものがあります。 open-wnn -> open-wnn7 disconnect-wnn -> disconnect-wnn7 close-wnn -> close-wnn7 wnn-henkan-region -> wnn7-henkan-region ... etc. ※ eggV4 通信部においても、互いの影響を少なくするため関数名などを 変更しております。ご了承下さい。(ex. wnnrpc-* -> wnn7rpc) o diced モードは実装されていません。 o busyu-input は実装されていません。 7. v1.00 から v1.01 への変更点 「wnnななたまご」v1.01 は、v1.00 より以下の点が変更されています。 ・console 端末での入力予測候補表示(tab)と 確定(return)のキー設定 を追加しました。 ・入力予測機能使用中に jserver が終了すると、 入力できなくなる問題に 対応しました。 ・XEmacs の場合、color-mate で leim-cursor を使うと、 かな漢字変換が 出来なくなるという問題に対応しました。 ・ヘルプ表示の関数内のモードとリージョン指定変換の関数が、 eggV3 の 関数名のままでしたので、wnn7 用に変更しました。 ・入力予測において、jserver 再起動の必要がないエラーのときに、 「入力 予測エラー jserver を再起動してください」という エラーメッセージを 出力していました。そのため、 エラー番号が分かる形の簡単なエラーメッ セージに変更しました。 ・「2りゅう」というような文字列を変換した後、 文節長の変更ができなく なる問題に対応しました。 8. v1.01 から v1.02 への変更点 「wnnななたまご」v1.02 は、v1.01 より以下の点が変更されています。 ・小文字ひらがな(ぁぃぅ等)の変換後、M-k, M-h の動作が正しく処理 されない問題に対応しました。 ・XEmacs でユーザ辞書の格納場所を変更する設定が正しく動作しない問題に 対応しました。 ・予測モード時に逆変換動作が正しく行なえない問題に対応しました。 ・設定ファイル eggrc-wnn7 の読み込みルールを変更し、既に接続使用中の 変換環境がある場合、環境設定の重複が行なわれないようにしました。 ・eggrc-wnn7 の設定に関する以下の処理を修正しました。 - 接頭語パラメータ prefix-flag の設定値の修正 - 無変換辞書、文節切り辞書の追加処理の修正 ------------------------------------------------------------------------------ GNU一般公有使用許諾書 ============ 1991 年6 月,バージョン2 Copyright (C) 1989,1991 Free Software Foundation, Inc. 675 Mass Ave, Cambridge, MA 02139, USA * ---------------------------------------------------------------------- * 【注意】 現在、このバージョン2の発行者(FSF)住所は、正式に新 しい住所の 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA に変わっている。 ---------------------------------------------------------------------- 何人も、以下の内容を変更しないでそのまま複写する場合に限り、本使用許諾 書を複製したり頒布することができます。 はじめに -------- ほとんどのソフトウェアの使用許諾は、ソフトウェアを共有し、変更するユー ザの自由を奪うことを意図しています。それに対して、我々のGNU一般公有使 用許諾は、フリー・ソフトウェアを共有したり変更する自由をユーザに保証す るためのもの、即ちフリー・ソフトウェアがそのユーザ全てにとってフリーで あることを保証するためのものです。本使用許諾は、Free Software Foundation のほとんど全てのソフトウェアに適用されるだけでなく、プログ ラムの作成者が本使用許諾に依るとした場合のそのプログラムにも適用するこ とができます。(その他の Free Software Foundation のソフトウェアのいく つかは、本許諾書ではなく、GNUライブラリ一般公有使用許諾で保護されます。) あなたは自分のプログラムにもこれを適用できます。我々がフリー・ソフトウェ アについて言う場合は自由のことに言及しているのであって、価格のことでは ありません。我々の一般公有使用許諾の各条項は、次の事柄を確実に実現する ことを目的として立案されています。 ・ フリー・ソフトウェアの複製物を自由に頒布できること(そして、 望むならあなたのこのサービスに対して対価を請求できること)。 ・ ソース・コードを実際に受け取るか、あるいは、希望しさえすれば それを入手することが可能であること。 ・ 入手したソフトウェアを変更したり、新しいフリー・プログラムの 一部として使用できること。 ・ 以上の各内容を行なうことができるということをユーザ自身が知っ ていること。 このようなユーザの権利を守るために、我々は、何人もこれらの権利を否定 したり、あるいは放棄するようにユーザに求めることはできないという制限条 項を設ける必要があります。これらの制限条項は、ユーザが、フリー・ソフト ウェアの複製物を頒布したり変更しようとする場合には、そのユーザ自身が守 るべき義務ともなります。例えば、あなたがフリー・ソフトウェアの複製物を 頒布する場合、有償か無償かにかかわらず、あなたは自分の持っている権利を 全て相手に与えなければなりません。あなたは、相手もまたソース・コードを 受け取ったり入手できるということを認めなければなりません。さらにあなた は、彼らが自分たちの権利を知るように、これらの条項を知らしめなければな りません。 我々は次の2つの方法でユーザの権利を守ります。(1)ソフトウェアに著 作権を主張し、(2)本使用許諾の条項の下でソフトウェアを複製・頒布・変 更する権利をユーザに与えます。 また、各作成者や我々自身を守るために、本フリー・ソフトウェアが無保証 であることを全ての人々が了解している必要があります。さらに、他の誰かに よって変更されたソフトウェアが頒布された場合、受領者はそのソフトウェア がオリジナル・バージョンではないということを知らされる必要があります。 それは、他人の関与によって原開発者に対する評価が影響されないようにする ためです。 最後に、どのフリー・プログラムもソフトウェア特許に絶えず脅かされてい ます。我々は、フリー・プログラムの再頒布者が個人的に特許権を取得し、事 実上そのプログラムを自分の財産にしてしまうという危険を避けたいと願って います。これを防ぐために我々は、いずれの特許も、誰でも自由に使用できる ように使用許諾されるべきか、あるいは何人に対しても全く使用させないかの、 いずれかにすべきであることを明らかにしてきました。 複写・頒布・変更に対する正確な条項と条件を次に示します。 GNU一般公有使用許諾の下での複製、頒布、変更に関する条項と条件 ================================ 1. 本使用許諾は、本一般公有使用許諾の各条項に従って頒布されるとい う著作権者からの告知文が表示されているプログラムやその他の作成 物に適用されます。以下において「プログラム」とは、そのようなプ ログラムや作成物を指すものとし、また、「プログラム生成物」とは、 上述した「プログラム」自身、または、著作権法下における全ての派 生物;すなわち、その「プログラム」の全部又は一部を、そのまま又 は変更して、且つ/又は他の言語に変換して、内部に組み込んだ作成 物を意味します。(以下、言語変換は「変更」という用語の中に無条 件に含まれるものとします。)本使用許諾によって許諾を受ける者を 「あなた」と呼びます。 複製、頒布、変更以外の行為は本使用許諾の対象としません。それら は本使用許諾の範囲外です。「プログラム」を実行させる行為に関し て制約はありません。「プログラム」の出力は、( 「プログラム」 を実行させて作成させたかどうかとは無関係に) その内容が「プロ グラム生成物」である場合に限り本使用許諾の対象となります。これ が当てはまるかどうかは、「プログラム」が何をするものかに依りま す。 2. あなたは、どのような媒体上へ複製しようとする場合であっても、入 手した「プログラム」のソース・コードをそのままの内容で複写した 上で適正な著作権表示と保証の放棄を明確、且つ適正に付記する場合 に限り、複製又は頒布することができます。その場合、本使用許諾及 び無保証に関する記載部分は、全て元のままの形で表示してください。 また、「プログラム」の頒布先に対しては、「プログラム」と共に本 使用許諾書の写しを渡してください。複製物の引き渡しに要する実費 は請求することができます。また、あなた独自の保証を行なう場合は それを有償とすることができます。 3. 次の各条件を全て満たしている限り、あなたは、「プログラム」又は その一部分を変更して「プログラム生成物」とすることができ、さら に、変更版や右作成物を上記第2項に従って複製又は頒布することも できます。 (a)ファイルを変更した旨とその変更日とを、変更したファイル上 に明確に表示すること。 (b)変更したか否かを問わず、凡そ「プログラム」又はその一部分 を内部に組み込んでいるか又はそれから派生した生成物を頒布 する場合には、その全体を本使用許諾の条項に従って第三者へ 無償で使用許諾すること。 (c)変更したプログラムが実行時に通常の対話的な方法でコマンド を読むようになっているとすれば、最も普通の方法で対話的に そのプログラムを実行する時に、次の内容を示す文言がプリン タへ印字されるか、或いは画面に表示されること。 ・適切な著作権表示。 ・無保証であること(あなたが独自に保証する場合は、その旨)。 ・頒布を受ける者も、本使用許諾と同一の条項に従って「プロ グラム」を再頒布できること。 ・頒布を受ける者が本使用許諾書の写しを参照する方法。 (例外として、「プログラム」自体は対話的であっても起動時 の文言を通常は印字しないのならば、あなたの「プログラム生 成物」はこのような文言を印字する必要はありません。) これらの要件は変更された作成物にも全て適用されます。その変更版 の或る部分が「プログラム」の派生物ではなく、しかもそれ自体独立 で異なる作成物だと合理的に考えられる場合、あなたがそれらを別の 作成物として頒布した時は、本使用許諾とその条項はそれらの部分に は適用されません。しかし、それらを「プログラム生成物」の一部と して頒布する場合は、全体が本使用許諾の条項に従って頒布されなけ ればならず、使用許諾を受ける他の全ての者に対する許諾もプログラ ム全体にわたって与えられなければならず、結果として、誰が書いた かにかかわらず、全ての部分に本使用許諾が適用されなければなりま せん。 このように、本条項の意図するところは、完全にあなたによって書か れた作成物について、権利を要求したり、あなたと権利関係を争うこ とではありません。むしろその目的は、作成物が「プログラム生成物」 である場合にその派生物や集合物の頒布を規制することにあります。 さらに、「プログラム」(又は「プログラム生成物」) と「プログ ラム生成物」とはならない他のプログラムとを、単に保管や頒布のた めに同一の媒体上にまとめて記録したとしても、本使用許諾は他のプ ログラムには適用されません。 4. あなたは、以下のうちいずれか1つを満たす限り、上記第2項及び第 3項に従って「プログラム」(又は、上記第3項で言及している「プ ログラム生成物」)をオブジェクト・コード又は実行可能な形式で複 製及び頒布することができます。 (a)対応する機械読み取り可能なソース・コード一式を一緒に引き 渡すこと。その場合、そのソース・コードの引き渡しは上記第 2項及び第3項に従って、通常ソフトウェアの交換に用いられ る媒体で行なわれること。 (b)少なくとも3年間の有効期間を定め、且つその期間内であれば 対応する機械読み取り可能なソース・コード一式の複製を、ソー ス頒布に関わる実費以上の対価を要求せずに提供する旨、及び その場合には上記第2項及び第3項に従って、通常ソフトウェ アの交換に用いられる媒体で提供される旨を記載した書面を、 第三者に一緒に引き渡すこと。 (c)対応するソース・コード頒布の申し出に際して、あなたが得た 情報を一緒に引き渡すこと。(この選択肢は、営利を目的とし ない頒布であって、且つあなたが上記の(b)項に基づいて、 オブジェクト・コード或いは実行可能形式のプログラムしか入 手していない場合に限り適用される選択項目です。) なお、ソース・コードとは、変更作業に適した記述形式を指します。 また、実行可能形式のファイルに対応するソース・コード一式とは、 それに含まれる全モジュールに対応する全てのソース・コード、及び あらゆる関連のインタフェース定義ファイル、及び実行を可能にする コンパイルとインストールの制御に関する記述を指します。特別な例 外として、実行可能なファイルが動作するオペレーティング・システ ムの主要な構成要素(コンパイラ、カーネルなど) と共に(ソース・ コード又はバイナリのどちらかで) 頒布されているものについては、 その構成要素自体が実行形式に付随していない場合に限り、頒布され るソース・コードに含める必要はありません。 実行可能形式またはオブジェクト・コードの頒布が、指示された場所 からの複製のためのアクセス権の賦与である場合、同じ場所からのソー ス・コードの複製のための同等なアクセス権を賦与すれば、たとえ第 三者にオブジェクト・コードと共にソースの複製を強いなくとも、ソー ス・コードを頒布したものとみなします。 5. 本使用許諾が明示的に許諾している場合を除き、あなたは、「プログ ラム」を複製、変更、サブライセンス、頒布することができません。 本使用許諾に従わずに「プログラム」を複製、変更、サブライセンス、 頒布しようとする行為は、それ自体が無効であり、且つ、本使用許諾 があなたに許諾している「プログラム」の権利を自動的に消滅させま す。その場合、本使用許諾に従ってあなたから複製物やその権利を得 ている第三者は、本使用許諾に完全に従っている場合に限り、引続き 有効な使用権限を持つものとします。 6. あなたはまだ同意の印として署名していないので、本使用許諾を受け 入れる必要はありません。しかし、あなたに「プログラム」又はその 派生物を変更又は再頒布する許可を与えるものは本使用許諾以外には ありません。これらの行為は、あなたがもし本使用許諾を受け入れな いのであれば、法律によって禁じられます。従って、あなたが「プロ グラム」(又は「プログラム生成物」)の変更又は頒布を行えば、そ れ自体であなたは本使用許諾を受け入れ、且つ、「プログラム」又は その「プログラム生成物」の複製、頒布、変更に関するこれらの条項 と条件の全てを受け入れたことを示します。 7. あなたが「プログラム」(又はその「プログラム生成物」)を再頒布 すると自動的に、その受領者は、元の使用許諾者から、本使用許諾の 条項に従って「プログラム」を複製、頒布、変更することを内容とす る使用許諾を受けたものとします。あなたは、受領者に許諾された権 利の行使について、さらに制約を加えることはできません。あなたに は、第三者に本使用許諾の受け入れを強いる責任はありません。 8. 裁判所の判決、又は特許侵害の申し立て、又は(特許問題に限らない) 何らかの理由の結果として、あなたに課せられた条件が本使用許諾と 相入れないものであったとしても(裁判所の命令、契約、その他によ るものであれ)、本使用許諾の条件が免除されるものではありません。 本使用許諾による責務と、その他の何らかの関連責務を同時に満たす 態様で頒布することができないならば、あなたは「プログラム」を全 く頒布してはいけません。例えば、特許権の内容が、あなたから直接 又は間接に複製を受け取った全ての人に使用料のないプログラムの再 頒布を許さないものであれば、あなたがかかる特許上の要請と本使用 許諾の両方を満足させる方法は、「プログラム」の頒布を完全に断念 することだけです。 本条項の或る部分が何らかの特別な状況下で無効または適用不可能に なった場合、本条項のその他の残りの部分が適用されるように意図さ れており、また、本条項は全体としてその他の状況に当てはまるよう に意図されています。 本条項の目的は、特許やその他の財産権を侵害したり、そのような権 利に基づく主張の妥当性を争うようにあなたに勧めることではありま せん。本条項の唯一の目的は、フリー・ソフトウェアの頒布システム の完全性を守ることで、それは公有使用許諾の実践によって履行され ます。多くの人々が、このシステムの一貫した適用を信頼して、この システムを通じて頒布されている幅広い範囲のソフトウェアに惜しみ ない貢献をしてくれました。作成者や寄贈者が他の何らかのシステム を通じてソフトウェアを頒布したいと決めることは彼らの自由意志で あり、使用許諾を受ける者はその選択を強いることはできません。 本条項は、本使用許諾の他の条項の意味内容が何であるかを完全に明 らかにすることを意図しています。 9. 「プログラム」の頒布・使用が、ある国において特許又は著作権で保 護されたインタフェースのどちらかで制限される場合、「プログラム」 を本使用許諾下においた原著作権保持者は、その国を除外する旨の明 示的な頒布地域制限を加え、それ以外の(除外されない) 国に限定 して頒布が許されるようにすることができます。そのような場合、そ の制限を本使用許諾の本文にあたかも書かれているかのように本使用 許諾の中に組み入れられるものとします。 10. Free Software Foundation は随時、本一般公有使用許諾の改訂版、 又は新版を公表することがあります。そのような新しいバージョンは、 現行のバージョンと基本的に変わるところはありませんが、新しい問 題や懸案事項に対応するために細部では異なるかもしれません。 各バージョンは、バージョン番号によって区別します。「プログラム」 中に本使用許諾のバージョン番号の指定がある場合は、その指定され たバージョンか、又はその後に Free Software Foundation から公表 されているいずれかのバージョンから1つを選択して、その条項と条 件に従ってください。「プログラム」中に本使用許諾のバージョン番 号の指定がない場合は、Free Software Foundation が公表したどの バージョンでも選択することができます。 11. 「プログラム」の一部を頒布条件の異なる他のフリー・プログラムに 組み込みたい場合は、その開発者に書面で許可を求めてください。 Free Software Foundation が著作権を持っているソフトウェアにつ いては、 Free Software Foundation へ書面を提出してください。こ のような場合に対応するために我々は例外的処理をすることもありま すが、その判断基準となるのは、次の2つの目標の実現に合致するか 否かという点です。即ち、1つは我々のフリー・ソフトウェアの全て の派生物をフリーな状態に保つことであり、もう1つはソフトウェア の共有と再利用とを広く促進させることです。 無保証 ------ 12. 「プログラム」は無償で使用許諾されますので、適用法令の範囲内で、 「プログラム」の保証は一切ありません。著作権者やその他の第三者 は全く無保証で「そのまま」の状態で、且つ、明示か暗黙であるかを 問わず一切の保証をつけないで提供するものとします。ここでいう保 証とは、市場性や特定目的適合性についての暗黙の保証も含まれます が、それに限定されるものではありません。「プログラム」の品質や 性能に関する全てのリスクはあなたが負うものとします。「プログラ ム」に欠陥があるとわかった場合、それに伴う一切の派生費用や修理・ 訂正に要する費用は全てあなたの負担とします。 13. 適用法令の定め、又は書面による合意がある場合を除き、著作権者や 上記許諾を受けて「プログラム」の変更・再頒布を為し得る第三者は、 「プログラム」を使用したこと、または使用できないことに起因する 一切の損害について何らの責任も負いません。著作権者や前記の第三 者が、そのような損害の発生する可能性について知らされていた場合 でも同様です。なお、ここでいう損害には通常損害、特別損害、偶発 損害、間接損害が含まれます(データの消失、又はその正確さの喪失、 あなたや第三者が被った損失、他のプログラムとのインタフェースの 不適合化、等も含まれますが、これに限定されるものではありません)。 以上 注意 ** 英文文書 (GNU General Public License) を正式文書とする。この和文文書 は弁護士の意見を採り入れて、できるだけ正確に英文文書を翻訳したものであ るが、法律的に有効な契約書ではない。 和文文書自体の再配布に関して ************** いかなる媒体でも次の条件がすべて満たされている場合に限り、本和文文書 をそのまま複写し配布することを許可する。また、あなたは第三者に対して本 許可告知と同一の許可を与える場合に限り、再配布することが許可されていま す。 ・受領、配布されたコピーに著作権表示および本許諾告知が前もって載 せられていること。 ・コピーの受領者がさらに再配布する場合、その配布者が本告知と同じ 許可を与えていること。 ・和文文書の本文を改変しないこと。 ------------------------------------------------------------------------------ あなたの新しいプログラムにこれらの条項を適用する方法 ========================== あなたが新しくプログラムを作成し、それを公用に供したい場合は、プログ ラムをフリー・ソフトウェアにして、全ての人々が以上の各条項に従ってこれ を再頒布や変更をすることができるようにするのが最良の方法です。 そうするためには、プログラムに以下の表示をしてください。その場合、無 保証であるということを最も効果的に伝えるために、ソース・ファイルの冒頭 にその全文を表示すれば最も安全ですが、その他の方法で表示する場合でも、 「著作権表示」と全文を読み出す為のアドレスへのポインタだけはファイル上 に表示しておいてください。 <プログラム名とどんな動作をするものかについての簡単な説明の行> Copyright(C) 19○○年、<著作権者名> 本プログラムはフリー・ソフトウェアです。あなたは、Free Software Foundation が公表したGNU 一般公有使用許諾の「バージョン2」或い はそれ以降の各バージョンの中からいずれかを選択し、そのバージョン が定める条項に従って本プログラムを再頒布または変更することができ ます。 本プログラムは有用とは思いますが、頒布にあたっては、市場性及び特 定目的適合性についての暗黙の保証を含めて、いかなる保証も行ないま せん。詳細についてはGNU 一般公有使用許諾書をお読みください。 あなたは、本プログラムと一緒にGNU 一般公有使用許諾の写しを受け取っ ているはずです。そうでない場合は、Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA * へ手紙を書いてください。 ---------------------------------------------------------------------- * 【注意】 現在、このバージョン2の発行者(FSF)住所は、正式に新 しい住所の 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA に変わっている。 ---------------------------------------------------------------------- また、ユーザが電子メイルや書信であなたと連絡をとる方法についての情報 も書き添えてください。 プログラムが対話的に動作する場合は、対話モードで起動した時に次のよう な短い告知文が表示されるようにしてください。 Gnomovision バージョン69、Copyright(C)19○○年 <著作権者名> Gnomovision は完全に無保証です。詳細は show w とタイプしてくださ い。これはフリー・ソフトウェアなので、特定の条件の下でこれを再頒 布することができます。詳細は show c とタイプしてください。 上記のshow w やshow c は各々、本一般公有使用許諾の関連する部分を表示 するコマンドを指します。もちろん、あなたが使うこれらのコマンドはshow w やshow c といった呼び名でなくても構いません。さらに、それらのコマンド はあなたのプログラムに合わせる為に、マウスでクリックしたりメニュー形式 にすることもできます。 また、必要と認めた場合には、あなたの雇い主(あなたがプログラマとして 働いている場合) や在籍する学校から、そのプログラムに対する「著作権放棄」 を認めた署名入りの書面を入手してください。ここにその文例を載せます。名 前は変えてください。 Yoyodyne, Inc. は、James Hacker が開発したプログラム `Gnomovision' (コンパイラにつなげるプログラム) についての著作権 法上の全ての権利を放棄する。 <Ty Coon の署名>, 1 April 1989 Ty Coon, 副社長 本一般公有使用許諾は、あなたのプログラムを財産権の対象となっている他 のプログラムに組み込むことは認めていません。あなたのプログラムがサブルー チン・ライブラリであって、あなたがそのライブラリを財産権の対象となって いる他のアプリケーションとリンクさせることによって、さらに有用なものに しようとする場合には、本使用許諾書の代わりに、GNU ライブラリ一般公有使 用許諾書に従ってください。 ------------------------------------------------------------------------------