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


HSPTV!掲示板


未解決 解決 停止 削除要請

2014
0712
Hi-Jiminputの変換について7解決


Hi-Jim

リンク

2014/7/12(Sat) 14:45:41|NO.62843

入力ボックス内に全角文字を打って一旦Enterを押します
そのあと変換を押すと、明らかに打った文字とは違う文字が変換候補に出てくるのですが
これはバグなんでしょうか
スクリプト例としては、下のようなものでもなります

input a



この記事に返信する


Hi-Jim

リンク

2014/7/12(Sat) 14:48:55|NO.62844

間違えました

a = ""
input a

でした



kanahiron

リンク

2014/7/12(Sat) 16:24:51|NO.62845

使用しているIMEな何でしょうか
HSPのinputのみで起きるのですか?
自分の環境では普通に全角半角が切り替わるだけです

HSP 3.4β5
win 8.1 x64
日本語IME google日本語入力

PCの再起動してもおかしいならスクリーンショットを貼ると解決が早くなると思います



Hi-Jim

リンク

2014/7/12(Sat) 16:54:38|NO.62846

再起動しても無理でした
スクショってどうやってはるんですか?

HSP 3.2
win 7 x64
です
IMEはどうすれば調べられますか?

なんか質問だらけですみません...



kanahiron

リンク

2014/7/12(Sat) 17:11:09|NO.62847

この掲示板は画像を直接貼れないので適当なアップローダーに上げてURLを貼る形ですね
自分はimgurをよく使いますがそこらへんは適当に

IMEは
MS IME
Office IME
Google日本語入力
Baidu IMEとかあります

http://www.fmworld.net/cs/azbyclub/qanavi/jsp/qacontents.jsp?PID=2108-5866
これの「5.「テキストサービスと入力言語」が表示されます。」
で既定の言語となっているのが現在使用しているIMEです



cats

リンク

2014/7/12(Sat) 18:03:06|NO.62848

同じく変になりました。
「あああ」といったん入力してから、
選択して変換キーを押すと「Bレイビー」となりました。
こんにちは→S0・k
掲示板→イc:
OS:Windows 7
IME:Google IME
hspのinputのみで起こり、mesboxでは正常です。



shiva

リンク

2014/7/14(Mon) 00:04:27|NO.62867

手元のパソコン (Win8.1 x64、MS-IME 2012) でも同様の現象が起きました。
(スクリーンショットは文末に記載)

しかしこれは、恐らく Windows の仕様ではないかと思われます。

以下、分かった範囲で技術的な話を箇条書き(詳しい人向け)。
誤りや補足があれば教えてください。

前提条件:
・現在の HSP ランタイムはマニフェストが埋め込まれている
・マニフェストは Windows XP のビジュアルスタイル (Luna) に対応するために HSP3.0 開発中に追加された
・Luna は v6 の comctl32.dll に実装されていた
・よってマニフェストには comctl32(v6) への参照が追加された
・HSP は non-Unicode アプリケーションである

ここで問題になるのが Luna の制約:
・comctl32(v6) は non-Unicode アプリケーションには公式に対応していない
 http://blogs.msdn.com/b/calvin_hsia/archive/2004/12/03/274680.aspx#274800

その結果:
・「non-Unicode」かつ「Luna が有効」な現行の HSP は動作保障外の可能性
・たまたま動いていたに過ぎない?

どうすればいいのか:
・HSP を Unicode アプリケーションにする→Microsoft 推奨だが、構造の抜本的変更が必要。あまり現実的でない
・comctl(v6)への参照を止める→簡単。ただし見た目が Windows 2000 以前の古臭いスタイルに
・再変換に関わるウインドウメッセージを自前で処理する→対策になるかは未検証
 例:http://mspace.sakuraweb.com/comp/prog/reconv.html

手元のパソコンでの再現例:http://kie.nu/20xe (リンク先はアニメーション GIF)
マニフェストの有効・無効ごとに、mesbox と input でそれぞれ「入力→確定→範囲選択→再変換」を行わせました。



Hi-Jim

リンク

2014/7/17(Thu) 17:08:44|NO.62935

日本語入力が必要な場合、なるべく入力ボックスではなくメッセージボックスなどを
使うべきだということですね
みなさんありがとうございました



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