[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[palm-unix-j:00313] Re: KPilot 4.3b



From: Takuro Ashie <ashie@homa.ne.jp>
Message-Id: <20020525021930.0a1d0976.ashie@homa.ne.jp>

> > まぁ多分、Palm(SJIS)とPC(EUC)とで、文字コードが異なってるケースって珍
> > しいと思いますので、J-Pilotのように日本でハックしないことには始まらな
> > いんでしょうね。やることは、LANGかLC_CTYPEを見て、適宜 iconv に通すだ
> > けなんですが…(gnumericとかのスプレッドシートのExcelファイル回りがこう
> > いう実装になってる)
> 
> 最近のpilot-linkにはiconvを使った文字コード変換機能が実装されています.
> (libpisock/util.c)
> 
> これはどうも GNOME の Evolution のためにhackされた物では無いかと
> 邪推しています.

あ、なるほど、そういうアプローチもアリですね。

> で、Evolutionではこの機能が使われているのですが、Palm側の内部コードが
> CP1252 にハードコードされているため、そのままでは日本語は通りません.
> 
> #define PILOT_CHARSET "CP1252"
> 
> となっている所を適当に SHIFT_JISとかに変えると、とりあえずEvolutionでは
> 日本語が通るようになるようです.

gnumericでは、こんな感じですね。

    char *lang;
    char const *locale = setlocale (LC_CTYPE, "");
    char const *lang_sep = strchr (locale, '.');
    if (lang_sep)
        lang = g_strndup (locale, lang_sep - locale);
    else
        lang = locale;

で、lang と iconv に与える codepage の対応表を持ちます。

日本語だと、"japan", "japanese", "ja", "ja_JP" に対して CP932(SJIS)を
対応させればオッケー。デフォルト値を CP1252 にしとけばいいんでしょうね。
_______________________________
田原 俊一   jado@flowernet.gr.jp, shunichi_tahara@zenrin.co.jp
                                  http://flowernet.gr.jp/jado/
FingerPrint:  16 9E 70 3B 05 86 5D 08  B8 4C 47 3A E7 E9 8E D9
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄