トップページ > 記事閲覧
IMEの変換候補が表示されない
名前:れあ 日時: 2018/10/07 21:15

こんにちは、いつも使わせて頂いています。 別のライブラリとの併用になるんですが usamimi.info/~dooon/ こちらのdxImGuiを使用した場合に、imguiのテキストボックスにおいて、DxLibのバージョン 〜3.18a では正常に動作するのですが、 3.18c(3.18b?)〜 では変換候補が表示されません。 更新履歴を見ると、このタイミングで Windows版:Windows10 でIMEの文字列変換候補が正常に表示されないバグを修正。 と書かれています。 環境はWindows10です。 テキストボックスはImGui::InputTextで配置できます。
メンテ

Page: 1 |

Re: IMEの変換候補が表示されない ( No.1 )
名前:FEP 日時:2018/10/08 10:17

全然本題とは関係ありませんのでご了承ください。どっちかというと追加情報です。 > 〜3.18a では正常に動作するのですが、 とあるのですが、ちょっと試してみました。 サンプルを最近のDxLibでビルドし、右側のImGui DemoウィンドウのWidgets --> UTF-8 Textの 日本語 と事前に入力されているテキストボックスに、続けて あい と入力しても変換候補は 表示されません。(変換候補の表示が出ないだけで、入力はできる) 一方、サンプルについている sample.exe (2016/12/29ビルド) を実行し、同じことを実行すると 変換候補が表示されます。 ・・・という違いがあることは確認しました。(Windows 10 x64) ただ、sample.exe の方もですが、あい の変換候補に対して 愛 を選べばそのまま入力されますが 逢い を選択すると ?い と表示されます。(他の単語でも同じようなことが起きる) その部分をコピー&ペーストでメモ帳に貼り付けると 日本語逢い となっているので データ格納自体は問題ないのでしょうが、いずれにしても変換候補表示以外にも以前から正常な(というか 期待する)状態では必ずしもない、と思われます。
メンテ
Re: IMEの変換候補が表示されない ( No.2 )
名前:れあ 日時:2018/10/08 18:03

sample.exeはexe内に含まれている文字列から、DxLib 3.16fが使用されていることを確認済みです。 また、sampleのコードは、漢字については常用漢字が設定されているので、FEPさんが指摘していることについては正常な挙動です。 フォント設定部分を以下のコードに変更すると、mplusフォントの全範囲を表示することが出来ます。 また、Shift-JIS範囲外の文字を入力する場合、Unicode文字セットでビルドする必要があります。 ImGuiIO& io = ImGui::GetIO(); static const ImWchar ranges[] = { 0x0020, 0xFE19, 0 }; io.Fonts->AddFontFromFileTTF("mplus-1p-regular.ttf", 20.0f, NULL, &ranges[0]); ただし、dxImGuiに同梱されているimguiでは、生成する範囲が広すぎてエラーになるので、imguiを最新版に入れ替える必要があります。 それに伴い、何箇所か修正が必要ですが、本題からそれるのでこの件についてはここまでにします。
メンテ
Re: IMEの変換候補が表示されない ( No.3 )
名前:管理人 日時:2018/10/09 03:03

ご指摘の通り Ver3.18b のときに行った変更( TSF というAPIを使用するようになった )で imgui と併用した際の変換候補が表示されなくなったようです TSF を使用しなければ表示されるようなので、TSF を使用するかどうかを設定するための 関数を追加しました // IMEの変換候補表示の処理に TSF を使用するかどうかを設定する // ( TRUE:使用する( デフォルト ) FALSE:使用しない ) int SetUseTSFFlag( int UseFlag ) ; こちらの関数を DxLib_Init を呼ぶよりも先に FALSE を渡して呼べば imgui と併用した際に 3.18a までと同様に変換候補が表示されるようになります 関数を追加したバージョンをこちらにアップしましたので、よろしければお使いください m(_ _)m https://dxlib.xsrv.jp/temp/DxLibVCTest.zip // Windows版 VisualC++ 用 https://dxlib.xsrv.jp/temp/DxLibBCCTest.zip // Windows版 BorlandC++ 用 https://dxlib.xsrv.jp/temp/DxLibBCC2Test.zip // Windows版 C++ Builder 10.2 用 https://dxlib.xsrv.jp/temp/DxLibGCC_MinGWTest.zip // Windows版 MinGW 用 https://dxlib.xsrv.jp/temp/DxLibDotNet.zip // Windows版 .NET用 https://dxlib.xsrv.jp/temp/DxLibMakeTest.zip // ソース (中身を既存のライブラリのファイルに上書きして、BCCをお使いの 場合は『再構築』を、VCをお使いの場合は『リビルド』を、 Dev-C++をお使いの方は「Rebuild All(Ctrl+F11)」をして下さい)
メンテ
Re: IMEの変換候補が表示されない ( No.4 )
名前:れあ(解決) 日時:2018/10/09 14:19

関数の追加、ありがとうございます。 期待していた動作になりました。
メンテ

Page: 1 |

題名
名前
コメント
パスワード (記事メンテ時に使用)

   クッキー保存