[Anthy-dev 1851] Re: uim-0.4.6alpha on Solaris8

Back to archive index

Masanari Yamamoto h0131****@ice*****
2005年 2月 16日 (水) 22:17:16 JST


山本です。

On Wed, Feb 16, 2005 at 05:21:43PM +0900, Etsushi Kato wrote:
> >>> iconv_openが受け入れ可能な文字列にする方法がわからないので、とりあえず
> >>> このままにします。
> >>
> >> nl_langinfo(3) が使える環境でしたら、これが良く使われると思います。
> >> 使えない場合は、libiconv に含まれる libcharset の locale_charset()、
> >> それさえ無い場合は、そのまま渡すか、あるいは、独自のテーブルを使うとか、
> >> でしょうか?
> >
> > solarisではnl_langinfoは"eucJP"になってlocale_charsetは"EUC-JP"になっ
> > たので、locale_charsetを参考にしたいと思います。ありがとうございます。
> 
> おそらくシステムの nl_langinfo が eucJP を返すのであれば、システムの
> iconv_open も eucJP を EUC-JP の alias として受けつけるのではない
> でしょうか? まあ、実装によるとは思いますけど。

どうやらsolarisのiconvはeucJPしか受けつけないようです。しかし、
uim_create_contextにeucJPを渡しても、skkのエンコーディングがEUC-JPとな
っているため、uim_iconv_is_convertibleが0になってしまいます。

int
uim_iconv_is_convertible(const char *tocode, const char *fromcode)
{
  iconv_t ic;

  if (!strcmp("UTF-8", fromcode) || !strcmp(tocode, fromcode)) {
    return 1;
  }
  /* TODO cache the result */
  ic = iconv_open(tocode, fromcode);
  if (ic == (iconv_t)-1) {
    return 0;
  }
  iconv_close(ic);
  return 1;
}

-- 
山本将也



Anthy-dev メーリングリストの案内
Back to archive index