Skip to content
2011/01/22 / highmt

uim-fepでAquaSKKのskkservを使う

Darwin mbp-090704.local 10.6.0 Darwin Kernel Version 10.6.0
uim-fep version 1.6.1

uim-fepを使うとターミナルでも ^J でSKKを使えるようになります。
AquaSKKでも(TSM版では)かなキーで日本語モードに入れますが、
つい^Jを押してしまうことがあるので便利です。
また、vncではだいたいかなキーが通らないので便利です。

  • AquaSKKのskkservを有効にする
  • ソースをダウンロードする:
    http://code.google.com/p/uim/downloads/list
  • アーカイブを展開する
  • ./configure
  • make
  • sudo make install
  • uim-pref-gtk
    X11が起動するまで少し時間がかかる
    Xlib: extension “RANDR” missing on display とか出ても気にしない
    SKK dictionaries グループ の SKK Server あたりを変更する
  • uim-fep

ですが、ある読みで一回変換すると別の読みで変換できなくなるという不具合が
ありました。
skkservを使わないという選択肢もありますが、やっぱり辞書をわけるのも嫌な感じなので
uim-fep側に以下のパッチを適用。
AquaSKK用なので他のskkservでは逆にだめになるかもしれません。

--- uim/skk.c.orig	2011-01-07 11:17:32.000000000 +0900
+++ uim/skk.c	2011-01-22 10:16:06.000000000 +0900
@@ -797,7 +797,8 @@
 
   uim_asprintf(&idx, "%s%c", s, okuri_head);
 
-  fprintf(wserv, "1%s \n", idx);
+  //  fprintf(wserv, "1%s \n", idx);
+  fprintf(wserv, "1%s ", idx);
   ret = fflush(wserv);
   if (ret != 0 && errno == EPIPE) {
     free(idx);
@@ -847,6 +848,8 @@
     while ((nr = read(skkservsock, &r, 1)) != -1 && nr != 0 && r != '\n')
       ;
     free(line);
+    // disconnect to re-sync
+    skkserv_disconnected(di);
     return NULL;
   }
 }
広告
%d人のブロガーが「いいね」をつけました。