YamaKen
yamak****@bp*****
2005年 2月 15日 (火) 17:28:00 JST
At Tue, 15 Feb 2005 15:35:59 +0900, h0131****@ice***** wrote: > On Sun, Feb 13, 2005 at 01:50:30PM +0900, Masanari Yamamoto wrote: > > これでuim-fepを起動できるようになったのですが、SKKが選択できません。 > > なにが原因なのかよくわかりません。 > > trussで確認しましたが、libuim-skk.soはopenできているようです。 > > truss uim-fep 2>&1 | grep skk > > > > uim-fep -hで使用できる変換エンジンを確認したらtcodeとtutcodeも使えない > > ようです。 > > > > pyunihan (zh_CN) Pinyin input method (Unicode version) > > pinyin-big5 (zh_TW:zh_HK) Pinyin input method (Traditional Chinese version) > > hangul2 (ko) 2-bul style hangul input method > > hangul3 (ko) 3-bul style hangul input method > > romaja (ko) Romaja input style hangul input method > > viqr (vi) VIetnamese Quoted-Readable > > ipa () International Phonetic Alphabet (X-SAMPA) > > latin () Latin characters mainly used for Latin and German languages > > direct (*) Pass through all user input without any modification > > solarisではLANG=jaとなっているのですが、これが原因のようです。 > share/uim/loader.scmのskkのエンコーディングを"EUC-JP"から"UTF-8"に変え > たらskkが選択できるようになりました。 症状だけ見るとiconv(3)がEUC-JPを扱えてないようにも見えますが、 とりあえず以下のように実行するとどうなるでしょうか。 $ uname -sr FreeBSD 5.3-RELEASE $ LC_ALL=ja uim-sh uim> installed-modules uim> installed-im-module-list ("pyload" "anthy" "canna" "skk" "tcode" "tutcode" "hangul" "viqr" "ipa" "latin" "m17nlib") uim> enabled-im-list (anthy canna skk tcode hangul2 viqr ipa latin m17n-ko-hangul2 m17n-zh-py pinyin-big5 direct) uim> (find-im 'skk #f) (skk "ja" "EUC-JP" "SKK" "uim version of SKK input method" () #<CLOSURE (id fake-im fake-arg) (let* ((stub-im (retrieve-im name)) (stub-im-init-handler (and stub-im (im-init-handler stub-im)))) (and (require-module module-name) (let* ((im (retrieve-im name)) (init-handler (im-init-handler im)) (arg (im-init-arg im)) (context (if (not (eq? init-handler stub-im-init-handler)) (init-handler id im arg) (begin (error "stub IM actualization failed") ())))) context)))> () () () () () () () () "skk") 私のところではdefault-im-nameが#fの状態で以下のように意図通りに 動いています(LC_ALLをLANGに変えても同じです)。localeはIMの自動選 択ぐらいにしか使ってなかったと思うので、今の時点ではちょっと原因 の予想がつきません。 $ LC_ALL=ja uim-fep -h [input method] pinyin-big5 (zh_TW:zh_HK) Pinyin input method (Traditional Chinese version) anthy (ja) A multi-segment kana-kanji conversion engine canna (ja) A multi-segment kana-kanji conversion engine skk (ja) uim version of SKK input method tcode (ja) A kanji direct input method hangul2 (ko) 2-bul style hangul input method viqr (vi) VIetnamese Quoted-Readable ipa () International Phonetic Alphabet (X-SAMPA) latin () Latin characters mainly used for Latin and German languages m17n-ko-hangul2 (ko) An input method provided by the m17n library m17n-zh-py (zh) An input method provided by the m17n library direct (*) Pass through all user input without any modification > あと、バグを見つけたのですが、 > mkdir build && cd build && ../configure --options > のように別のディレクトリでビルドすると、share/uim/loader.scmにdirectの > エントリしか書き込まれないようです。 > > loader.scmを作る部分はこのようになっていました。 > > echo "(require \"manage-modules.scm\") \ > (generate-loader-scm)" \ > | LIBUIM_VERBOSE=1 LIBUIM_VANILLA=1 LIBUIM_SCM_FILES=../../scm LIBUIM_PLUGIN_LIB_DIR=../../uim/.libs \ > ../uim/uim-sh -B >loader.scm 調査ありがとうございます。こんな感じでどうでしょうか。 ---------------------------------------------------------------- Index: scm/Makefile.am =================================================================== --- scm/Makefile.am (revision 654) +++ scm/Makefile.am (working copy) @@ -68,7 +68,7 @@ (require \"manage-modules.scm\") \ (generate-installed-modules-scm)" \ | LIBUIM_VERBOSE=1 LIBUIM_VANILLA=1 LIBUIM_SCM_FILES=$(top_srcdir)/scm LIBUIM_PLUGIN_LIB_DIR=$(top_srcdir)/uim/.libs \ - $(top_builddir)/uim/uim-sh -B >$@ + $(top_builddir)/uim/uim-sh -B >$(top_builddir)/scm/$@ # TODO: resolve dependency to $(top_builddir)/uim/uim-sh in proper way loader.scm: installed-modules.scm @@ -76,6 +76,6 @@ $(ECHO) "(require \"manage-modules.scm\") \ (generate-loader-scm)" \ | LIBUIM_VERBOSE=1 LIBUIM_VANILLA=1 LIBUIM_SCM_FILES=$(top_srcdir)/scm LIBUIM_PLUGIN_LIB_DIR=$(top_srcdir)/uim/.libs \ - $(top_builddir)/uim/uim-sh -B >$@ + $(top_builddir)/uim/uim-sh -B >$(top_builddir)/scm/$@ # $(ECHO) $(ECHO_N) >$@ ---------------------------------------------------------------- ------------------------------- ヤマケン yamak****@bp*****