diff options
author | 2012-07-05 00:52:08 -0700 | |
---|---|---|
committer | 2012-07-05 00:52:08 -0700 | |
commit | 133bb8544a196ece8f7698b4f80b094f4f4e53fc (patch) | |
tree | 12f4e45780c792a117d39b82df1b81c10bed3c21 /java | |
parent | 0726f466f7789ca112697adf6505870bb821ea17 (diff) | |
parent | 5946838b8efc86bb569cdf7945e8a9d8a551bfda (diff) | |
download | latinime-133bb8544a196ece8f7698b4f80b094f4f4e53fc.tar.gz latinime-133bb8544a196ece8f7698b4f80b094f4f4e53fc.tar.xz latinime-133bb8544a196ece8f7698b4f80b094f4f4e53fc.zip |
Merge "Fix upper case Eszett more key"
Diffstat (limited to 'java')
-rw-r--r-- | java/src/com/android/inputmethod/keyboard/internal/KeySpecParser.java | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/java/src/com/android/inputmethod/keyboard/internal/KeySpecParser.java b/java/src/com/android/inputmethod/keyboard/internal/KeySpecParser.java index c4452a5f5..53261205d 100644 --- a/java/src/com/android/inputmethod/keyboard/internal/KeySpecParser.java +++ b/java/src/com/android/inputmethod/keyboard/internal/KeySpecParser.java @@ -68,12 +68,20 @@ public class KeySpecParser { public MoreKeySpec(final String moreKeySpec, boolean needsToUpperCase, Locale locale, final KeyboardCodesSet codesSet) { - mCode = toUpperCaseOfCodeForLocale(getCode(moreKeySpec, codesSet), - needsToUpperCase, locale); mLabel = toUpperCaseOfStringForLocale(getLabel(moreKeySpec), needsToUpperCase, locale); - mOutputText = toUpperCaseOfStringForLocale(getOutputText(moreKeySpec), + final int code = toUpperCaseOfCodeForLocale(getCode(moreKeySpec, codesSet), needsToUpperCase, locale); + if (code == Keyboard.CODE_UNSPECIFIED) { + // Some letter, for example German Eszett (U+00DF: "ß"), has multiple characters + // upper case representation ("SS"). + mCode = Keyboard.CODE_OUTPUT_TEXT; + mOutputText = mLabel; + } else { + mCode = code; + mOutputText = toUpperCaseOfStringForLocale(getOutputText(moreKeySpec), + needsToUpperCase, locale); + } mIconId = getIconId(moreKeySpec); } } |