HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2009
1010
mes "降ってきたな"ひらがなから漢字への変換7未解決


mes "降ってきたな"

リンク

2009/10/10(Sat) 15:33:35|NO.28255

こんにちは。
教えていただきたいのは、ひらがなの文字列を漢字に変換する方法です。
ステノワードのキー配列再現ソフトを作ろうかと思っているのですが、
入力後のひらがなを手軽に漢字に変換する方法がわかりませんでした。

宜しければご教授願います。



この記事に返信する


inovia

リンク

2009/10/10(Sat) 15:47:33|NO.28256

http://fs-cgi-basic01.freespace.jp/~hsp/ver3/hsp3.cgi?print+200512/05120015.txt
のMIZUSHIKIさんが投稿されたスクリプトに


#define GCL_CONVERSION 0x0001
を追加して、定数 GCL_REVERSECONVERSION を GCL_CONVERSION に置き換えれば
ひらがなから漢字になります。
(誤変換が多いですが。)



mes "降ってきたな"

リンク

2009/10/10(Sat) 16:42:56|NO.28257

inoviaさんありがとうございます。

誤変換多しですかぁ;変換ミスしたときに再変換することも可能でしょうか?



inovia

リンク

2009/10/10(Sat) 18:40:48|NO.28258

変換候補を取得できるように改造。
(メモリノートパッド形式で返却)
といっても区切りが指定できないため、変換制度はイマイチ。


#module #define GCL_CONVERSION 0x0001 #define GCL_REVERSECONVERSION 0x0002 #uselib "user32.dll" ;入力ロケールを取得する #cfunc GetKeyboardLayout "GetKeyboardLayout" int #uselib "imm32.dll" ;指定のウィンドウの入力コンテキストのハンドルを取得する #cfunc ImmGetContext "ImmGetContext" int ;登録した単語の一つからリストを取得する #cfunc ImmGetConversionList "ImmGetConversionListA" int,int,str,int,int,int ;入力コンテキストのハンドルを解放する #func ImmReleaseContext "ImmReleaseContext" int,int ;漢字→かな変換:GetReverseConversion(文字列) #defcfunc GetReverseConversion str prm hIMC = ImmGetContext(hwnd) hKL = GetKeyboardLayout(0) dwsize=ImmGetConversionList(hKL,hIMC,prm,0,0,GCL_CONVERSION) dim CANDIDATELIST,7+dwsize/4 dum=ImmGetConversionList(hKL,hIMC,prm,varptr(CANDIDATELIST),dwsize,GCL_CONVERSION) sdim word2,1024 repeat CANDIDATELIST.2 offset = CANDIDATELIST.(cnt+6) sdim word,dwsize-offset-2 memcpy word,CANDIDATELIST,dwsize-offset-3,0,offset word2+=""+word+"\n" loop ImmReleaseContext hwnd,hIMC return word2 #global moji="あかぱじゃまきぱじゃまあおぱじゃま。とうきょうとっきょきょかきょく。" moji+="うらにわにはにわにわにはにわにわとりがいる。" mes moji mes "↓" ref=GetReverseConversion(moji) mesbox ref,640,440,0



inovia

リンク

2009/10/10(Sat) 18:42:34|NO.28259

× -> 変換制度
○ -> 変換精度

私のPCのMS-IMEは、空気を読んでくれないみたいですw



check

リンク

2009/10/10(Sat) 22:39:19|NO.28268

使えば使うほどだめになるIME・・・
みんな!ATOK使おうぜ!



MIZUSHIKI

リンク

2009/10/10(Sat) 23:23:30|NO.28271

リンク先のスクリプトを書いた者です。

参考にしたサイトで、2ページ目以降があると気づかなかったので、
3ページ目で修正されていた箇所がそのまま間違えたままになってます。


sdim word,dwsize-offset-2 memcpy word,CANDIDATELIST,dwsize-offset-3,0,offset


sdim word,dwsize-offset memcpy word,CANDIDATELIST,dwsize-offset,0,offset
に修正して使ってください。
修正前だと、一番最後の「。」がなくなっていました。
よろしくお願いします。


それと、このスクリプトはVistaでは動いてくれません。

http://d.hatena.ne.jp/NyaRuRu/20070307/p1
上記のサイトでどうにかすれば使えるらしい、というのを知り、
昔いろいろと試してみたのですが、結局その時は解決することができませんでした。

もう「いろいろ」というのが何を試したのかすら覚えてない程なんですけど・・・
誰かどうすればいいか分かる方いますでしょうか。



mes "降ってきたな"

リンク

2009/10/11(Sun) 04:16:31|NO.28274

inoviaさんありがとうございます。
残念ながらこちらの環境では44444という謎回答でしたが、
MS-IMEの環境であればうまくいくと思います。(OfficeIMEでした;)

そもそも環境依存のIMEをどうかするというのが難しいのですよね・・・
みなさんありがとうございました。



ONION software Copyright 1997-2021(c) All rights reserved.