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

mlterm の XIM 処理についてのメモ

mlterm では、XIM からの文字列を処理するにあたって、

1 指定された locale (起動時の LC_CTYPE 環境変数、もしくは設定画面で指定した
  locale) にて、OpenXIM()
2 その locale の codeset に適合する parser object を、その XIM に bind
3 XIM から受け取った文字列を、その XIM に bind されている parser object を使って
  解釈し、pty 側の encoding に変換、出力。

という手順をとっております。

これにより、端末 encoding と、XIM 側の locale が、矛盾していても構わない(例えば
、端末 encoding が、UTF-8 で、XIM の locale が ko_KR.eucKR でも構わない)ようにな
っております。

複数の XIM の動的切替えについても、このような枠組を基盤にして実現されております。
