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

Re: imkaze.so



やないです。

<397B2887B4.1054.BXQ04723@nifty.ne.jp>の記事で 
Nakamura Akifumiさんはこう書かれたそうです。

>MGL(2?)の漢字入力IMの一つとして、「風」っぽい imkaze.so 作りました。
>http://member.nifty.ne.jp/guion/SOFT/INDEX.HTM#imkaze
>こんなもんでいいんでしょうか?
>色々いい加減な部分もあるかと思いますが…

imkaze 使ってみました。これ面白い・楽しいです。
慣れてくるとたしかに、速く打てそうです。

# どことなく和文タイプみたい。


でも、 MGL2 の mgterm ならば問題ないのですが、 mglsvrcons だ
と imkaze の表示がミニアプリ領域に隠れてしまうです。

imcanna.c にならって、 im_view_point() 使うようにするとよさそ
うでした。


---- ここから ----
--- imkaze.c.orig	Tue Jul 25 01:44:51 2000
+++ imkaze.c	Tue Jul 25 13:26:23 2000
@@ -20,7 +20,7 @@
 #include <stdlib.h>
 #include <string.h>
 #include <ctype.h>
-#include "config.h"
+/* #include "config.h" */
 #include "mgl2.h"
 
 /*辞書ファイルのinstall先…?*/
@@ -52,6 +52,12 @@
 #define K2KANJI_STAT_DONE   (255)  /*変換確定。こいつは文字コードじゃない*/
 #define K2KANJI_STAT_CANCEL (27)  /*仮名入力に戻りたい。コードはescape*/
 
+#ifdef USE_MGL2
+  #define IM_SCREEN_SX 100
+#else
+  #define IM_SCREEN_SX 480
+#endif
+
 /*文字列の後ろの改行とかのcontrol codeを削除する*/
 static void trim(char *s) {
     int i=strlen(s)-1;
@@ -314,19 +320,27 @@
 /*a2kanaのconstructor*/
 a2kana_t *a2kana_create(){
     int i=0;
+    int x, y;
     a2kana_t *self=NULL;
 
     self=malloc(sizeof(a2kana_t));
     if (self==NULL) return NULL;
     memset(self, 0, sizeof(a2kana_t));
 
-    self->t_a=create_textscreen(NULL, 480-8, 0,
+    x=IM_SCREEN_SX-8;
+    y=0;
+
+#ifdef USE_MGL2
+    im_view_point(IM_FONTSIZE*10, (IM_FONTSIZE+4*2)*2, &x, &y);
+#endif
+
+    self->t_a=create_textscreen(NULL, x, y,
         IM_FONTSIZE*10, IM_FONTSIZE+4*2,
         TS_SAVE | TS_BORDER | TS_BLINE);
     ts_set_bgcolor(self->t_a, COLOR_WHITE);
     ts_clear(self->t_a);
 
-    self->t_k=create_textscreen(NULL, 480-8, IM_FONTSIZE+4*2,
+    self->t_k=create_textscreen(NULL, x, y+IM_FONTSIZE+4*2,
         IM_FONTSIZE*10, IM_FONTSIZE+4*2,
         TS_SAVE | TS_BORDER | TS_BLINE);
     ts_set_bgcolor(self->t_k, COLOR_WHITE);
@@ -709,9 +723,18 @@
 }
 
 void k2kanji_getkey(k2kanji_t *self, char* yomi){
+    int x, y;
+
     self->status=K2KANJI_STAT_CANCEL;
 
-    self->t=create_textscreen(NULL, 480-8, (IM_FONTSIZE+4)*3,
+    x=IM_SCREEN_SX-8;
+    y=(IM_FONTSIZE+4)*3;
+
+#ifdef USE_MGL2
+    im_view_point(IM_FONTSIZE*(10)+4*2, IM_FONTSIZE*4+4*2, &x, &y);
+#endif
+
+    self->t=create_textscreen(NULL, x, y,
         IM_FONTSIZE*(10)+4*2, IM_FONTSIZE*4+4*2,
         TS_SAVE | TS_BORDER | TS_BLINE);
     ts_set_bgcolor(self->t, COLOR_WHITE);

---- ここまで ----


P.S.
MGL2 の pkgsrc、 imcanna だけ別 package にしようかと思ったりする、きょ
うこのごろです。

imcanna、 imkaze、 imskkfep と別個に揃えよう...かと。

--
柳井 裕之(やないひろゆき)  Hiroyuki Yanai
fk200329@fsinet.or.jp