comment -*- mode: text; tab-width:2; indent-tabs-mode:nil; coding:euc-jp -*-

UTF-8 の扱いに関するさまざまなメモ

* copy&pasteにおける、XCOMPOUND TEXTとの相互変換について
  o 送信時の変換操作について
    UTF-8 から XCOMPOUND_TEXT に変換する場合、現在のローケール情報を参照し、それ
    により適合的な文字集合に変換します。

    たとえば、mltermのUTF-8 モードにて表示されているキリル文字を、他のXクライア
    ントにcopy & pasteした場合、ja_JP.eucJP ローケールで動いているときには、それ
    らのキリル文字は、JISX0208 に変換されて、相手のXクライアントに送られます。
    逆に、ru_RU.KOI8-R ローケールで動いている場合には、KOI8-R として送られます。

  o 受信時の変換操作について
    XCOMPOUND TEXT を受け取った場合、mlterm が UTF-8 エンコーディングで動いてい
    る場合には、当然、受け取った文字はすべてUCSに変換されるわけですが、それ以外
    のエンコーディングの場合にも、強制的に、一旦UCSに変換するためのオプションが
    用意されています(receive_string_via_ucs)
    
    上の例でいえば、相手が ru_RU.KOI8-R ローケールで動いており、キリル文字を
    KOI8-R として送ってきた場合、receive_string_via_ucs が有効になっている
    と、送られてきた XCOMPOUND TEXT を、一旦 UCS に変換した上で、EUC-JP に再変換
    するようにしますので、JISX0208 のキリル文字として表示されることになります。
