Next: , Previous: , Up: 国際化文字セットのサポート   [Contents][Index]


23.10 プロセス間通信にたいするコーディングシステム

このセクションでは、他のプロセスと通信するときに使うコーディングシステムを指定する方法を説明します。

C-x RET x coding RET

選択したテキストを、他のグラフィカルなアプリケーションと送受信するために、コーディングシステムcodingを使用します(set-selection-coding-system)。

C-x RET X coding RET

次回に選択するテキストを、他のグラフィカルなアプリケーションと送受信するために、コーディングシステムcodingを使用します(set-next-selection-coding-system)。

C-x RET p input-coding RET output-coding RET

カレントバッファーでのサブプロセスの入出力に、コーディングシステムinput-codingoutput-codingを使用します(set-buffer-process-coding-system)。

コマンドC-x RET x (set-selection-coding-system)は、選択したテキストを他のウィンドウアプリケーションに送信するとき、および他のアプリケーションで選択されたテキストを受信するときのコーディングシステムを指定します。このコマンドは、このコマンドを再度使って設定をオーバーライドするまで、以降のすべての選択に適用されます。コマンドC-x RET X (set-next-selection-coding-system)は、Emacsで次に選択されるテキスト、または次に読み取られるテキストのためのコーディングシステムを指定します。

変数x-select-request-typeは、Xウィンドウシステムからのリクエストにより、他のアプリケーションで選択されたテキストを受信する際のデータタイプを指定します。値がnil(デフォルト)の場合、EmacsはUTF8_STRINGCOMPOUND_TEXTの順に試み、さらにさまざまな経験則を用いて、2つの結果からより適したものを選択します。どちらも成功しなかったとき、EmacsはSTRINGにフォールバックします。x-select-request-typeの値が、COMPOUND_TEXTUTF8_STRINGSTRINGTEXTのうちのどれかであった場合、Emacsはリクエストされたタイプだけを使用します。値がこれらのシンボルのリストだった場合、Emacsはリストのリクエストタイプを順に試行し、どれかが成功するか、すべてを試みるまで続けます。

コマンドC-x RET p (set-buffer-process-coding-system)は、サブプロセスの入出力のコーディングシステムを指定します。このコマンドはカレントバッファーに適用されます。サブプロセスは通常、それぞれ自身のバッファーをもっています。したがってサブプロセスに対応するバッファーでこのコマンドを実行することにより、特定のサブプロセスとの送受信に使用するコーディングシステムを指定できます。

サブプロセスを開始するコマンドの直前にC-x RET c (universal-coding-system-argument)を使うことにより、そのプロセスとの通信で使用するコーディングシステムを指定することもできます。ファイルのテキストにたいするコーディングシステムの指定を参照してください。

デフォルトでは、プロセス通信の入出力は現在の言語環境に依存します。

変数locale-coding-systemは、システムのエラーメッセージや、format-time-stringのフォーマットやタイムスタンプなどの、システム文字列のエンコードおよびデコードで使用するコーディングシステムを指定します。このコーディングシステムはXウィンドウシステムでの非ASCIIキーボードによる入力のデコードに使用されるかもしれず、バッチモードにおいて標準出力とエラーストリームに送るテキストのエンコードにも使用されるでしょう。通常は環境変数LC_ALLLC_CTYPELANGのうちの1つで指定される、背景にあるシステムのテキスト表現(text representation)と互換性のあるコーディングシステムを選択するべきです(上記の順番で最初の環境変数の値が空でない場合、それはテキスト表現を決定します)。