aboutsummaryrefslogtreecommitdiffstats
path: root/java/src
diff options
context:
space:
mode:
authorSatoshi Kataoka <satok@google.com>2012-07-05 16:55:07 +0900
committerSatoshi Kataoka <satok@google.com>2012-07-05 16:55:07 +0900
commit086f069448ed52410e30737f2de3ca89cf05ebc1 (patch)
tree158b97658c41634879696fa712a23f37d86ce8dd /java/src
parent3d2f5f848764252ecd2f15c2d0d857c1fe7f7eaf (diff)
parent133bb8544a196ece8f7698b4f80b094f4f4e53fc (diff)
downloadlatinime-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.java14
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);
}
}