Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHarley Acheson <harley.acheson@gmail.com>2022-03-19 19:05:10 +0300
committerHarley Acheson <harley.acheson@gmail.com>2022-03-19 19:05:10 +0300
commit82c852f38732a005a1da72f4fb7fb402ecd71ec0 (patch)
treee83a381f6a5959c47f213267701290f4569281ba /intern/ghost/intern/GHOST_ImeWin32.cpp
parent8711483632823524019a6cc95575c5a4ba5aa831 (diff)
Fix D14173: Chinese IME Full Width Numbers
Windows IME: Fix duplicated initial character when entering numbers while in Chinese full width character mode. See D14354 for more details. Differential Revision: https://developer.blender.org/D14354 Reviewed by Brecht Van Lommel
Diffstat (limited to 'intern/ghost/intern/GHOST_ImeWin32.cpp')
-rw-r--r--intern/ghost/intern/GHOST_ImeWin32.cpp11
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;