diff options
author | 2012-07-05 16:55:07 +0900 | |
---|---|---|
committer | 2012-07-05 16:55:07 +0900 | |
commit | 086f069448ed52410e30737f2de3ca89cf05ebc1 (patch) | |
tree | 158b97658c41634879696fa712a23f37d86ce8dd /java/src | |
parent | 3d2f5f848764252ecd2f15c2d0d857c1fe7f7eaf (diff) | |
parent | 133bb8544a196ece8f7698b4f80b094f4f4e53fc (diff) | |
download | latinime-086f069448ed52410e30737f2de3ca89cf05ebc1.tar.gz latinime-086f069448ed52410e30737f2de3ca89cf05ebc1.tar.xz latinime-086f069448ed52410e30737f2de3ca89cf05ebc1.zip |
Merge remote-tracking branch 'goog/master' into mergescript
Diffstat (limited to 'java/src')
-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); } } |