kubotaの日記: EmacsとBig5
またまたBig5の話。
Mule/Emacs/Xemacs と、それ以外の X アプリケーションの間で、Big5 文字列のコピー&ペーストがうまくいきません。これは、終端エスケープシーケンス問題とは別の問題です。
要するに、Big5 は ISO-2022 に準拠してないので、COMPOUND_TEXT に乗せるときは拡張方式を使わないといけないんだけど、それが Emacs と XFree86 で違う方式を使ってしまっているのが原因。
で、最近の一連の議論の中で、XFree86 の側としては、Emacs 方式の COMPOUND_TEXT も解釈できるようにできそうなんだけど(だから、Emacs→他のアプリ、のコピー&ペーストはうまくいくようにできる)、Emacs が XFree86 方式を解釈できるようにしてもらわないといけない。ついでに、Emacs 方式の COMPOUND_TEXT は Mule/Emacs/Xemacs でしか使われていないだろうから、解釈だけじゃなくて生成のほうも変えてもらうのがいいかも。
という話が進んでいるところなのですが(すみません、私信なのでポインタを示せません)、COMPOUND_TEXT は Emacs 方式と XFree86 方式だけじゃなくて、ほかにもいろいろあるらしいのです。XFree86 方式は「BIG5-0」という識別子(もしかしたら「big5-0」になるかもしれない)を COMPOUND_TEXT に埋め込むんだけど、Solaris 8 だと「big5-1」らしい。ちなみに Emacs は全く別の拡張法を使っているので識別子は入りません。
ほかにどんな識別子があるのだろう。商用 UNIX の世界は全然知らないし。つまり、Emacs は COMPOUND_TEXT 生成時にどのような識別子を用いればいいのか、それが問題になります。解釈のときは、なんでも解釈するようにしておけば問題ないですけど。