diff options
-rw-r--r-- | intern/ghost/intern/GHOST_ImeWin32.cpp | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/intern/ghost/intern/GHOST_ImeWin32.cpp b/intern/ghost/intern/GHOST_ImeWin32.cpp index 702c10d377b..c3fcd7214ca 100644 --- a/intern/ghost/intern/GHOST_ImeWin32.cpp +++ b/intern/ghost/intern/GHOST_ImeWin32.cpp @@ -88,9 +88,14 @@ bool GHOST_ImeWin32::IsImeKeyEvent(char ascii, GHOST_TKey key) if (IsLanguage(IMELANG_JAPANESE) && (ascii >= ' ' && ascii <= '~')) { return true; } - else if (IsLanguage(IMELANG_CHINESE) && ascii && strchr("!\"$'(),.:;<>?[\\]^_`/", ascii) && - !(key == GHOST_kKeyNumpadPeriod)) { - return true; + if (IsLanguage(IMELANG_CHINESE)) { + if (ascii && strchr("!\"$'(),.:;<>?[\\]^_`/", ascii) && !(key == GHOST_kKeyNumpadPeriod)) { + return true; + } + if (conversion_modes_ & IME_CMODE_FULLSHAPE && (ascii >= '0' && ascii <= '9')) { + /* When in Full Width mode the number keys are also converted. */ + return true; + } } } return false; |