This page linked from [ CoverPage | MiniGUI日本語フォント ]

MiniGUI日本語IME

履歴閲覧: 最新 2004/12/21 2003/09/02 2003/09/02 2003/09/02 {2002/11/07[差分表示]}


 IME全体の差し替え + 外部のskkserv / OpenPOBox serverの利用、という形で、MiniGUI用の日本語IMEを作りました。
-会社業務でのプロジェクトなのですが、社内的に許可は取れる状態にあるので、要望があれば公開します。
-ライセンスとか考えるのが面倒で放置中。
+会社業務でのプロジェクトなのですが、社内的に許可は取れているので公開します。
 
+@patch
+  [libminigui-1.2.2-imeujis.patch
+
+This is patch to MiniGUI version 1.2.2 for add japanese input method.
+It replaces imegb2313 to imeujis. This patch under Modified BSD license.
+
+ファイル名を見ればわかるように、MiniGUI 1.2.2用のpatchです。
+以降のバージョンへの追随は行っていません。あしからず。
+ライセンスとかは考えるのが面倒で放置中です。まあ、BSDライセンス相当ということで扱ってください。
+
+@メンテナンス状況 / status
+Now, No maintenance about this patch.
+放置のために公開中、と考えてください。
+
+If you want some support or service about this patch, please contact to [Time Intermedia Corp.
+こいつの再改造とかなんとかの仕事の依頼がある場合は[会社までどうぞ。
+個人的にynakataにコンタクトしてもらっても構いませんが、ある程度以上のボリュームの話になるようでしたら(仁義の問題もありますし)会社仕事とさせてもらうことになると思います。
+
+@作成時のメモ
 方針案
+ * IME全体の差し替えによる日本語IME化
+   (IMEWinProc以下を派手に書き換えて、統一性を気にも留めない):結局この方法を取りました。
  * IME自体のマルチリンガル化 + 既存IMEコアのパッケージ化 + 日本語コアの作成
    (IMEWinProcごと書き換えて、全体をモジュール化?)
- * IME全体の差し替えによる日本語IME化
-   (IMEWinProc以下を派手に書き換えて、統一性を気にも留めない)
  * IMEへの日本語IME機能の追加 & 切り替え可能化
    (hz_input_init/hz_filter/IME上位層の書き換え&日本語部分の追加) 
 
 推測してたよりはIMEがベタベタな作りをしている。とりあえずは上方層だけをどうにか分離して、強引に日本語IMEを突っ込んでいくのがよいか?
 IMEの切り替えはこの際無視。そのうち何とかなるだろー、ってなもんだ。
 
 hzinput.cの各関数についての覚え書き
  * load_input_method
    hzinput専用?
  * free_input_method
    hzinput専用?
  * ClrIn
    入力状態のクリア関数
  * FindAssociateKey
    hzinput専用?
  * load_phrase
    hzinput専用?
  * putstr
    hzinputの部分確定関数? hzinput専用?
  * epunc2cpunc
    hzinput専用?
  * FindMatchKey
    hzinput専用?
  * FillAssociateChars
    hzinput専用?
  * FillMatchChars
    hzinput専用?
  * hz_filter
    Pinyinとの振り分けを兼ねる?
  * DispSelection
    IME上位層?
  * unload_input_table
    hzinput専用?
  * toggle_input_method
    IME上位層。
  * toggle_half_full
    IME上位層。
  * toggle_punc
    IME上位層。
  * hz_input_init
    Pinyinとの振り分けを兼ねる?
  * hz_input_done
    hzinput専用?
  * set_active_input_method
    IME上位層。
  * refresh_input_method_area
    IME上位層。
  * IntCode_Init
    hzinput専用?
  * IntCode_FindMatchKey
    hzinput専用?
  * IntCode_FillMatchChars
    hzinput専用?
  * intcode_hz_filter
    hzinput専用?
  * imeSetStatus
    内部状態変更用の高レベルAPI? Methodの変更部分あり。
  * imeGetStatus
    iStatusCodeによる判定。ベタベタなIMEコア依存関数だが、書き換えは楽そう。
  * imeIsSpecialChar
    chrの改行文字判定? ベタベタなIMEコア依存関数だが、書き換えは楽そう。
  * imeIsSpecialKey
    scancodeの判定。ベタベタなIMEコア依存関数だが、書き換えは楽そう。
  * imeIsEffectiveIME
    IMEの稼働判定。ベタベタなIMEコア依存関数だが、書き換えは楽そう。
  * writemsg
    単純なコールバックメッセージ関数。対象アプリに入力文字を送る。
  * outchar
    単純なコールバックメッセージ関数。対象アプリにキーイベント(MSG_KEYDOWN/MSG_KEYUPのペア)を送る。
  * IMEWinProc
    IMEオブジェクトのコア。メッセージに対し対応プロシージャを呼び出す。
    (hzinputに依存したコードが数箇所ある。)
  * InitIMEWinCreateInfo
    IMEオブジェクトの初期化前処理関数。そのまま流用可能。
  * IMEWindowEx
    IME初期化関数。
  * IMEWindow
    (* プリプロセッサで殺されている?)