2005年7月22日から2005年7月18日までの日記を表示中

2005年 7月 22日 (金)

uim-el-0.0.3

何と待ってる方が結構いらっしゃるようで,大変ありがたいことです.何かgentooのページにも出てるし(実はよくわかってないんですが(^^; ).小町さんどうもです.

で,昨日書いたことの前半は実はUim側の仕様じゃ無かったらしく,trunkで直ってしまいました.asprintfとか使おうかと思ってたんですが,めんどくさいのと,無い環境用に自前関数用意する必要があるから(といってもuim-ximのと同じのを使えばいいとは思いますが)これはまたの機会に(^^;.

一方,昨日書いたことの後半の方は,どうにか実現できました.今まで一部の中国語の文字が表示できなかったりハングルが表示できなかったりしたのは,単にuim-agentとEmacsの間でeuc-jpでやりとりしてたからでした.今はこんな感じ

まだ細かいバグがまだいくつか残ってるんで,そのあたりが取りきれたら今度こそ出します.キー回りが不安・・・.

2005年 7月 21日 (木)

uim-el-0.0.3

uim-el-0.0.3 マダァ〜(・∀・ )っ/凵 ⌒☆チンチン.・・・なんて誰も言ってないとは思いますが,まだです_|‾|○.まー,欲張りすぎてはまってるってだけなんですけど.

とりあえずscim-anthyとか入れてみたら,uim-scimが標準エラー出力じゃなくて標準出力にメッセージをどかどか吐くことが判明し,これだとuim-agentとuim.elの間のメッセージに割り込んじゃって(゜д゜)マズーということがわかったので,ひとまずこれをなんとかしないとだめなのが一つ(まあどうにでもなるとは思いますが).

それから,コードの設定をなんとかしたいのがもう一つ.UimとUTF-8ベースでやりとりできれば何も難しいことないと思うんですが,確かEmacs-21のUTF-8はアジア系の言語をサポートしていなかったと思うんで,日本語ならeuc-jp,韓国語ならeuc-krとか,いちいちコード切替えてEmacsとuim-agentの間でやりとりしないとならんと思うのですよ.

そうなると,uim-agent側ではエンジンの言語が切り替わる度にコンテキストを一旦破棄して作りなおすようにしないと多分ダメ(コンテキストを捨てずにエンコードを変えるAPI用意されてないですよね?)で,Emacs側でもそれに合わせてset-process-coding-systemとか呼んで入力コードをちょくちょく切替えないといけなさそうなわけで・・・って,何か書いてみると,あんま大変そうじゃないかもなぁ.さっきあんなに悩んだのは何だったんだ・・・.

マンモスラーメン

なんか毎日一人ぐらい,「マンモスラーメン」をキーワードにここに来られるようです.ちゃんとした感想がなくてすいません.気に入った方はmixiのコミュに入りましょう.人が少なくてさびしいです(^^;.で,今日も行ってきたわけですよ.やはり少しずつ味が変化している気が.今日は肉の味がなんかいつもより濃い感じがしたようなしなかったような.で,まあ普通にいい具合に完食.食べ終わる頃にカウンターの向こうを見るとすげー器にすげー山が・・・.あ,あれがマンモスラーメン大盛りかっ!ありゃ絶対無理ですわ・・・.

2005年 7月 20日 (水)

塊は魂

帰ったら「塊は魂」(みんな大好き塊魂のサントラ)が届いてました.うむ,すばらしい.つーか転がしてぇ.

uim-el-0.0.3に向けて

昨日のCannaの問題はuim側の問題だったようでtkngさんが対処してくださいました.お蔭でCannaでも微妙な変換がバリバリできることを確認(^^;.まあ,Cannaも設定と育て方と使い方次第でそれなりになると思うんですが,大概の人はそういうところに興味を持たないか気ならないようで・・・.

って,書いてて何の話しかマジで忘れてしまいましたが,SCIMの方は単にエンジンひとつも有効にしてなかったのがまずかっただけでしたorz.ただ,SCIM有効にしてuimビルドするとuim-pref-gtkが終了時にセグるのはまた別の問題みたいで,こっちは相変わらずセグります(uim-pref-qtはちゃんと終了する).んで,uim-scimは動かしてると標準エラー出力にばらばらログを出すんで,今までのuim.elだと動かないということがわかりました.試してみたかいがあったというもの.

で,今は,r913で入れ換えられたprime.scmとか使うとuim.elからprimeがうまく利用できなくなる問題ではまってます.これが片付いたら0.0.3で一段落かなーと思ってんですが・・・.主な症状としては

  • uim_press_keyを呼んでプリエディットが伸びてもcandidate系のコールバックが呼ばれない
  • プリエディットがある状態でuim_press_keyでスペースを渡してもcandidate系のコールバックが呼ばれない
  • プリエディットがある状態でuim_press_keyでreturnを渡すと,コミットされるけど,preedit_clearコールバックが呼ばれない
    • ただし,何度もスペースを押して,一度単語登録状態に移し,そこでC-gを押してキャンセルしてやると,preedit_clearが呼ばれるようになる

という具合なんですが,r913の差し替えでこの症状が出るのがuim.el(のuim-agent)だけだったりします(mltermとかでは超普通に動く).つまり,uim-agentがUimを正しく利用できていない,すなわち自分が悪い・・・.なんですが,mltermのim_uim.cとかuimのgtk-im-uim.cとかのソースと見比べても何がまずいんだかよくわからんのですよ・・・.困ったなぁ.探り方を変えてみるか・・・.

動イター

uim_press_keyの後にuim_release_keyを呼ぶようにしたらちゃんとprimeも動くようになりました∩( ・ω・)∩ワーイ.そういえば前にどっかでそんな話題があったようななかったような・・・.

2005年 7月 19日 (火)

CDとか

UI-70さんの「幻視の夜」が委託始まったそうなんでひさびさにとらのあな行って買ってきました.うほ,たまらん.なんかギターの音が声みたいな.あとメロンよったら棚のはじっこに見慣れぬCDを発見.手に取ってみてみるとバウハウスさんの「Le Cercueil Du Reve」なるクロノトリガーアレンジの模様.誰がやってんのかなーと裏見た瞬間購入決定(;´Д`)ハァハァ.後で調べたら,結構前のCDみたいっすね.というか,バウハウスさんのWeb,IE以外だと見えませんな・・・.サーバがContent-TypeをText/Plainで返してきてるのか・・・.次のIEではきちんと表示されなくなるのかなぁ.

で,話変わりまして,こっちはよみさんからの情報なんですが,夜空的輝煌なるサークル(?)が「蒼月的碎片 〜 Thousands of Sapphire Crescent」なんていうCDを出す模様.中見ると東方とかクロノとか色々入ってて試聴した感じよさげです.が,このCD,なんと「fancy frontier」なる台湾の即売会で頒布なんすよねー(台湾のサークルだから当り前ですが(^^;).去年,さざなみ壊変さんのところにリポートが出ててへーとか日記に書いた気がしますが,あのイベントです.いやー,こりゃ無理だな(^^;.

ちなみに,こちらのサークルの方の日記を見ると,

修羅場持續中………

とかあったりして,やっぱどこも直前は同じなのかという感じです(笑).というか,やっぱUnicodeって偉大だなぁ.向こうの方はどうやって日本語入力してるんでしょう・・・.普通にローマ字変換なのかな?

UimとCannaとSCIM

ちゃんとuim.elから使えるのか実験してみようと思い,Canna-3.7p1とSCIM-1.2.3を入れてみたんですが・・・残念ながらどっちもうまく動いてくれませんでした(´・ω・`).Cannaの方は,uim-pref-gtkでサーバのアドレス指定したり,デフォルトのIMに設定できたりするんですが,いざ各種アプリから使おうとすると選択候補に出てきません.んー,libcannaのビルドに失敗しているのか・・・?

SCIMの方も,scim-m17nとかがuim-pref-gtkから見えるんですが,やっぱりCannaと同じような感じで使用することができないっす.んー.しかも--with-scimでビルドしているとuim-pref-gtkを終了させた時にセグるし・・・.さて,どっから問題を探ればいいんだろうか・・・.

あああ,r977だとprimeがちゃんと動かないし・・・ってmltermからだとちゃんと使えるってことはuim-agentが悪いのか_|‾|○.0.0.3は遠い・・・.

2005年 7月 18日 (月)

uim.elとleim

表さんからleimへの対応のリクエスト(?)がありました.なるほど,マイナーモードだけだと他のIMとの共存が面倒な場合があるのね.内部実装にばかり頭が行っていて,運用面でどうかという発想が欠けてました.というか,機能そのものに対する希望が出たのは初めてな予感.

まあ,そんなわけで,今度はまじめに対応を検討してみました.なるほど,上からどう見えるかが重要だから,内側に関してはleimが活性化したらマイナーモードをONにして,不活性化したらOFFにするだけ十分なのか.問題は,上にどう見せるかですね.

(おそらく)通常,IMをleimに対応させる場合,register-input-methodなる関数を呼んでやる必要があります.この関数,1個目の引数に「japanese-anthy」とか「japanese-prime」みたいなIMの名前を取り,2個目の引数に対応する言語(?)を取って,呼ぶと各言語に対してIMが関連づけられるみたいな感じになります.で,ここで(;´-`).。oO(そういえばUimは何語のIMなんだ?) という問題が.

おんなじUimでも名前を変えて「Japanese」には「japanese-uim」,「Korean」には「korean-uim」,「Chinese-GB」には・・・みたいにやろうか,それともせっかく多言語対応なんだから「multilingual-uim」という名前で各種言語に登録した方がいいのか(後でわかったけど言語間で名前がかぶっちゃいけないのでこれは実は使えない)・・・とかぼやいてたらtkngさんから「japanese-anthy-uimみたいな感じで複数のIMとして登録しては?」との提案が・・・Σ(゜д゜lll)

つまり,同じUimでも,後ろでうごいてるエンジンによって名前を「japanese-anthy-uim」とか「japanese-skk-uim」とか切替えるという感じです.なるほど,その手があったかーという感じであり,何かせっかくUimなのにもったいねーなという感じでもあるのですが,上から見る分にはこれが一番わかりやすそうなので,これで実装してみることにしました.

まあ,そんなんで,ひとまず対応できました.他言語のIMに切替える場合は,(set-language-environment 'Chinese-GB)とやって言語を切替えて,(set-input-method "chinese-gb-py-uim")とかやってUimの下のIMを切替えるみたいな感じになりました.「japanese-anthy-uim」な感じの部分は,いったんuim-agentを呼んで,使えるIMの全リストをごっそり持ってきて,そのうちEmacsが対応している言語についてのみ登録するみたいな具合でやってます.leimの初期化の段階でuim-agentとお話をしなければならないので,結局最初からuim.el本体を読み込む必要があり,全然スマートじゃなかったりします.autoloadとか使ってみたいもんですが・・・.

・・・あ,0.0.3ですが,もうちっとお待ちを・・・.

gaimのYahoo文字化け

最近ついに50人を突破したmixiのgaimコミュニティですが,何かYahooで「〜」が文字化けするという話題が出てたので,実験してみたところ,Win版gaimだと確かにおかしくなることが判明.ソース見て,ちょっとデバッグメッセージ出してみたらすぐ原因わかったんで対処してみました.yazさんパッチの関数呼んでるだけですが・・・.ひとまずWindows版に関しては自分の環境ではこれでよさそうです.Yahooって,回りで使ってる人ほとんどいないからよくわかんないんですよね・・・.

高橋名人

塊魂買いに行ったt○c氏から横浜ヨドバシに高橋名人っぽい人がいるぞとの報告が入ったので,すかさずmixiで見てみると,確かに日記に「横浜のヨドバシにいる」と書いてあります.ていうかイベント会場からも書いているのか(^^;.すごいよ,名人!

2005年7月22日から2005年7月18日までの日記を表示中

中の人情報

名前:
nosuke (のすけ)
メール:
sasugaanijaのgmail.com
「の」は「@」みたいな
関連リンク:

カレンダー

2005年7月
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31            

<<先月分

翌月分>>

最新の10件のエントリ

最近の10件のコメント

過去ログ