掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
ローマ字を日本語に変換するには (ID:64585)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
ImmGetConversionListがローマ字入れるとひらがな返したり、元の文字しか返さなかったりとよくわからないどうさなので別の方法で漢字変換だけやってみた。 これが正しい方法かはわからないけれど… いくつか変換してみたらこうなった "nihongo"→"日本語" "日本語"→"日本語" "hiragana"→"ひらがな" "nannndeyanenn"→"何でや年" "hankaku space ari"→"半角 s派セ あり" LPSTR toKanji(LPSTR roman) { // 入力コンテキスト作成 HIMC hIMC; hIMC = ImmCreateContext(); // IME ON ImmSetOpenStatus(hIMC,TRUE); // 変換モード設定 ImmSetConversionStatus( hIMC, IME_CMODE_NATIVE | IME_CMODE_FULLSHAPE | IME_CMODE_ROMAN, IME_SMODE_AUTOMATIC ); // 変換元文字列設定 ImmSetCompositionString(hIMC, SCS_SETSTR, NULL, 0, roman, strlen(roman) ); // 変換実行 ImmNotifyIME(hIMC, NI_COMPOSITIONSTR, CPS_CONVERT, 0); // 必要サイズ取得 DWORD dwLen = 0; dwLen = ImmGetCompositionString(hIMC, GCS_COMPSTR, NULL, 0 ); // 変換結果取得 LPSTR kanji = (LPSTR)HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, dwLen + 1); ImmGetCompositionString(hIMC, GCS_COMPSTR, kanji, dwLen + 1 ); // 入力コンテキスト破棄 ImmDestroyContext(hIMC); return kanji; }
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.