[sylpheed-jp:10832] Re: sylpheedからのコピー&ペー スト

Masayuki MORIYAMA <[email protected]>
Newsgroups gmane.mail.sylpheed.general.japanese
Message-ID <[email protected]>
森山です。

ShimamotoNekoTatsuya wrote:
> メール内に「〜」の文字(JIS:2141、SJIS:8160、EUC:A1C1)があると
> ペースト先ではA1C1ではなく3バイトコードの8FA2B7になってしまいます。

これは典型的な WAVE DASH vs FULLWIDTH TILDE の問題です。

Sylpheed は、あるバージョンから Windows の機種依存文字
対応されました。

Windows の機種依存文字が含まれいてる ISO-2022-JP を
UTF-8 へ変換するために内部で ISO-2022-JP をいったん
シフトJISエンコーディングに変換し、それを iconv(3) で
CP932 から UTF-8 に変換することで機種依存文字対応がさ
れています。

CP932 から UTF-8 への変換では、「〜」は EF BD 9E (U+FF5E
FULLWIDTH TILDE) に変換されます。この文字を UTF-8 か
ら EUC-JP に変換すると JIS X 0212 補助漢字の TILDE
(8F A2 B7) に変換されます。

回避策としては、だいたい次の6つの方法が考えられます。
(実際に試して出来る事を確認してわけではないので、もしか
したら問題がある方法もあるかもしれません)

  (1) ja_JP.UTF-8 ロケールを使う
      この方法をお薦めします。
      今や多くのソフトが内部処理の文字コードがUTF-8など
      のUnicodeで処理しているので、Sylpeedに限らず意図
      せぬ変換をさせないためには、UTF-8 で使うのが一番
      問題が少ないからです。
  (2) gnome-terminal ではなく konsole を使う。
      その場合、環境変数 UNICODEMAP_JP に次の設定が有効
      な状態で konsole を起動するようにします。
        UNICODEMAP_JP=cp932,nec-vdc,ibm-vdc,udc
  (3) ja_JP.EUC-JP ロケールの文字コード変換を eucJP-ms
      にしてしまう。(localedef での設定)
  (4) iconv(3) の EUC-JP の変換を eucJP-ms の変換に置き
      換える。
        /usr/lib/gconv/gconv-modules を書き換えて
        iconvconfig を実行
  (5) パッチを当てていない素の libiconv をビルドして
      Sylpeed で libiconv を使うようにする。
        CP932->UTF-8 の変換で「〜」が E3 80 9C (U+301C
        WAVE DASH) に変換される事を利用する。
  (6) Sylpeed を修正して ISO-2022-JP -> UTF-8 変換で、
      「〜」などの一部の文字のコード値を JIS 準拠のコード
      値に置換するコードを追加する (U+FF5E -> U+301C など)

--
森山 将之 <[email protected]>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.