Skip to content
Snippets Groups Projects
Commit 79d992cc authored by Tadashi G. Takaoka's avatar Tadashi G. Takaoka Committed by Android (Google) Code Review
Browse files

Merge "Use Devanagari Danda letter as full stop on Hindi keyboard"

parents bcb439e7 a987f6d0
No related branches found
No related tags found
No related merge requests found
Showing
with 247 additions and 206 deletions
......@@ -24,17 +24,6 @@
<!-- The table period key which may have different label depending on locale -->
<!-- Kept as a separate file for cleaner overriding by an overlay. -->
<switch>
<case
latin:languageCode="hi"
latin:keyboardLayoutSet="hindi_compact"
>
<!-- U+0964: "।" DEVANAGARI DANDA -->
<Key
latin:keySpec="\u0964"
latin:keyLabelFlags="hasPopupHint"
latin:moreKeys="!autoColumnOrder!8,\\,,.,',#,),(,/,;,@,:,-,&quot;,+,\\%,&amp;"
latin:backgroundType="functional" />
</case>
<case
latin:keyboardLayoutSet="dvorak"
>
......
......@@ -22,17 +22,6 @@
xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
>
<switch>
<case
latin:languageCode="hi"
latin:keyboardLayoutSet="hindi_compact"
>
<!-- U+0964: "।" DEVANAGARI DANDA -->
<Key
latin:keySpec="\u0964"
latin:keyLabelFlags="hasPopupHint"
latin:moreKeys="!autoColumnOrder!9,\\,,.,?,!,#,),(,/,;,',@,:,-,&quot;,+,\\%,&amp;"
latin:backgroundType="functional" />
</case>
<case
latin:languageCode="ne"
latin:keyboardLayoutSet="nepali_traditional"
......
......@@ -21,9 +21,6 @@ import static com.android.inputmethod.keyboard.layout.DevanagariLetterConstants.
import com.android.inputmethod.keyboard.KeyboardId;
import com.android.inputmethod.keyboard.layout.expected.ExpectedKey;
import com.android.inputmethod.keyboard.layout.expected.ExpectedKeyboardBuilder;
import com.android.inputmethod.latin.Constants;
import java.util.Locale;
/**
* The Hindi keyboard.
......@@ -38,50 +35,6 @@ public final class Hindi extends LayoutBase {
@Override
public String getName() { return LAYOUT_NAME; }
public static class HindiCustomizer extends LayoutCustomizer {
public HindiCustomizer(final Locale locale) { super(locale); }
@Override
public ExpectedKey getAlphabetKey() { return HINDI_ALPHABET_KEY; }
@Override
public ExpectedKey getSymbolsKey() { return HINDI_SYMBOLS_KEY; }
@Override
public ExpectedKey getBackToSymbolsKey() { return HINDI_BACK_TO_SYMBOLS_KEY; }
@Override
public ExpectedKey getCurrencyKey() { return CURRENCY_RUPEE; }
@Override
public ExpectedKey[] getOtherCurrencyKeys() {
return SymbolsShifted.CURRENCIES_OTHER_GENERIC;
}
@Override
public ExpectedKey[] getRightShiftKeys(final boolean isPhone) {
return isPhone ? EMPTY_KEYS : EXCLAMATION_AND_QUESTION_MARKS;
}
// U+0915: "क" DEVANAGARI LETTER KA
// U+0916: "ख" DEVANAGARI LETTER KHA
// U+0917: "ग" DEVANAGARI LETTER GA
private static final ExpectedKey HINDI_ALPHABET_KEY = key(
"\u0915\u0916\u0917", Constants.CODE_SWITCH_ALPHA_SYMBOL);
// U+0967: "१" DEVANAGARI DIGIT ONE
// U+0968: "२" DEVANAGARI DIGIT TWO
// U+0969: "३" DEVANAGARI DIGIT THREE
private static final String HINDI_SYMBOLS_LABEL = "?\u0967\u0968\u0969";
private static final ExpectedKey HINDI_SYMBOLS_KEY = key(HINDI_SYMBOLS_LABEL,
Constants.CODE_SWITCH_ALPHA_SYMBOL);
private static final ExpectedKey HINDI_BACK_TO_SYMBOLS_KEY = key(HINDI_SYMBOLS_LABEL,
Constants.CODE_SHIFT);
// U+20B9: "₹" INDIAN RUPEE SIGN
private static final ExpectedKey CURRENCY_RUPEE = key("\u20B9",
Symbols.CURRENCY_GENERIC_MORE_KEYS);
}
@Override
ExpectedKey[][] getCommonAlphabetLayout(boolean isPhone) { return ALPHABET_COMMON; }
......
......@@ -18,10 +18,10 @@ package com.android.inputmethod.keyboard.layout;
import static com.android.inputmethod.keyboard.layout.DevanagariLetterConstants.*;
import com.android.inputmethod.keyboard.layout.Hindi.HindiCustomizer;
import com.android.inputmethod.keyboard.layout.Hindi.HindiSymbols;
import com.android.inputmethod.keyboard.layout.expected.ExpectedKey;
import com.android.inputmethod.keyboard.layout.expected.ExpectedKeyboardBuilder;
import com.android.inputmethod.keyboard.layout.tests.HindiCustomizer;
import java.util.Locale;
......@@ -45,27 +45,6 @@ public final class HindiCompact extends LayoutBase {
public ExpectedKey[] getLeftShiftKeys(final boolean isPhone) {
return EMPTY_KEYS;
}
@Override
public ExpectedKey[] getKeysRightToSpacebar(final boolean isPhone) {
// U+0964: "।" DEVANAGARI DANDA
final ExpectedKey periodKey = key("\u0964", getPunctuationMoreKeys(isPhone));
return joinKeys(periodKey);
}
@Override
public ExpectedKey[] getPunctuationMoreKeys(final boolean isPhone) {
return isPhone ? HINDI_PHONE_PUNCTUATION_MORE_KEYS : HINDI_TABLET_PUNCTUATION_MORE_KEYS;
}
// Punctuation more keys for phone form factor.
private static final ExpectedKey[] HINDI_PHONE_PUNCTUATION_MORE_KEYS = joinKeys(
",", ".", "?", "!", "#", ")", "(", "/", ";",
"'", "@", ":", "-", "\"", "+", "%", "&");
// Punctuation more keys for tablet form factor.
private static final ExpectedKey[] HINDI_TABLET_PUNCTUATION_MORE_KEYS = joinKeys(
",", ".", "'", "#", ")", "(", "/", ";",
"@", ":", "-", "\"", "+", "%", "&");
}
@Override
......
......@@ -18,10 +18,10 @@ package com.android.inputmethod.keyboard.layout;
import static com.android.inputmethod.keyboard.layout.DevanagariLetterConstants.*;
import com.android.inputmethod.keyboard.layout.Hindi.HindiCustomizer;
import com.android.inputmethod.keyboard.layout.Hindi.HindiSymbols;
import com.android.inputmethod.keyboard.layout.expected.ExpectedKey;
import com.android.inputmethod.keyboard.layout.expected.ExpectedKeyboardBuilder;
import com.android.inputmethod.keyboard.layout.tests.DevanagariCustomizer;
import java.util.Locale;
......@@ -38,7 +38,7 @@ public final class Marathi extends LayoutBase {
@Override
public String getName() { return LAYOUT_NAME; }
public static class MarathiCustomizer extends HindiCustomizer {
public static class MarathiCustomizer extends DevanagariCustomizer {
public MarathiCustomizer(final Locale locale) { super(locale); }
@Override
......
......@@ -19,10 +19,10 @@ package com.android.inputmethod.keyboard.layout;
import static com.android.inputmethod.keyboard.layout.DevanagariLetterConstants.*;
import com.android.inputmethod.keyboard.KeyboardId;
import com.android.inputmethod.keyboard.layout.Hindi.HindiCustomizer;
import com.android.inputmethod.keyboard.layout.Hindi.HindiSymbols;
import com.android.inputmethod.keyboard.layout.expected.ExpectedKey;
import com.android.inputmethod.keyboard.layout.expected.ExpectedKeyboardBuilder;
import com.android.inputmethod.keyboard.layout.tests.DevanagariCustomizer;
import java.util.Locale;
......@@ -39,7 +39,7 @@ public final class NepaliRomanized extends LayoutBase {
@Override
public String getName() { return LAYOUT_NAME; }
public static class NepaliRomanizedCustomizer extends HindiCustomizer {
public static class NepaliRomanizedCustomizer extends DevanagariCustomizer {
public NepaliRomanizedCustomizer(final Locale locale) { super(locale); }
@Override
......
/*
* Copyright (C) 2014 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.android.inputmethod.keyboard.layout.tests;
import com.android.inputmethod.keyboard.layout.Hindi;
import com.android.inputmethod.keyboard.layout.LayoutBase.LayoutCustomizer;
import com.android.inputmethod.keyboard.layout.Symbols;
import com.android.inputmethod.keyboard.layout.SymbolsShifted;
import com.android.inputmethod.keyboard.layout.expected.ExpectedKey;
import com.android.inputmethod.latin.Constants;
import java.util.Locale;
public class DevanagariCustomizer extends LayoutCustomizer {
public DevanagariCustomizer(final Locale locale) { super(locale); }
@Override
public ExpectedKey getAlphabetKey() { return HINDI_ALPHABET_KEY; }
@Override
public ExpectedKey getSymbolsKey() { return HINDI_SYMBOLS_KEY; }
@Override
public ExpectedKey getBackToSymbolsKey() { return HINDI_BACK_TO_SYMBOLS_KEY; }
@Override
public ExpectedKey getCurrencyKey() { return CURRENCY_RUPEE; }
@Override
public ExpectedKey[] getOtherCurrencyKeys() {
return SymbolsShifted.CURRENCIES_OTHER_GENERIC;
}
@Override
public ExpectedKey[] getRightShiftKeys(final boolean isPhone) {
return isPhone ? EMPTY_KEYS : Hindi.EXCLAMATION_AND_QUESTION_MARKS;
}
// U+0915: "क" DEVANAGARI LETTER KA
// U+0916: "ख" DEVANAGARI LETTER KHA
// U+0917: "ग" DEVANAGARI LETTER GA
private static final ExpectedKey HINDI_ALPHABET_KEY = Hindi.key(
"\u0915\u0916\u0917", Constants.CODE_SWITCH_ALPHA_SYMBOL);
// U+0967: "१" DEVANAGARI DIGIT ONE
// U+0968: "२" DEVANAGARI DIGIT TWO
// U+0969: "३" DEVANAGARI DIGIT THREE
private static final String HINDI_SYMBOLS_LABEL = "?\u0967\u0968\u0969";
private static final ExpectedKey HINDI_SYMBOLS_KEY = Hindi.key(HINDI_SYMBOLS_LABEL,
Constants.CODE_SWITCH_ALPHA_SYMBOL);
private static final ExpectedKey HINDI_BACK_TO_SYMBOLS_KEY = Hindi.key(HINDI_SYMBOLS_LABEL,
Constants.CODE_SHIFT);
// U+20B9: "₹" INDIAN RUPEE SIGN
private static final ExpectedKey CURRENCY_RUPEE = Hindi.key("\u20B9",
Symbols.CURRENCY_GENERIC_MORE_KEYS);
}
\ No newline at end of file
/*
* Copyright (C) 2014 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.android.inputmethod.keyboard.layout.tests;
import com.android.inputmethod.keyboard.layout.LayoutBase;
import com.android.inputmethod.keyboard.layout.expected.ExpectedKey;
import java.util.Locale;
public class HindiCustomizer extends DevanagariCustomizer {
public HindiCustomizer(final Locale locale) { super(locale); }
@Override
public ExpectedKey[] getKeysRightToSpacebar(final boolean isPhone) {
// U+0964: "।" DEVANAGARI DANDA
final ExpectedKey periodKey = LayoutBase.key("\u0964", getPunctuationMoreKeys(isPhone));
return LayoutBase.joinKeys(periodKey);
}
@Override
public ExpectedKey[] getPunctuationMoreKeys(final boolean isPhone) {
return isPhone ? HINDI_PHONE_PUNCTUATION_MORE_KEYS : HINDI_TABLET_PUNCTUATION_MORE_KEYS;
}
// Punctuation more keys for phone form factor.
private static final ExpectedKey[] HINDI_PHONE_PUNCTUATION_MORE_KEYS = LayoutBase.joinKeys(
",", ".", "?", "!", "#", ")", "(", "/", ";",
"'", "@", ":", "-", "\"", "+", "%", "&");
// Punctuation more keys for tablet form factor.
private static final ExpectedKey[] HINDI_TABLET_PUNCTUATION_MORE_KEYS = LayoutBase.joinKeys(
",", ".", "'", "#", ")", "(", "/", ";",
"@", ":", "-", "\"", "+", "%", "&");
}
......@@ -19,7 +19,6 @@ package com.android.inputmethod.keyboard.layout.tests;
import android.test.suitebuilder.annotation.SmallTest;
import com.android.inputmethod.keyboard.layout.Hindi;
import com.android.inputmethod.keyboard.layout.Hindi.HindiCustomizer;
import com.android.inputmethod.keyboard.layout.LayoutBase;
import java.util.Locale;
......
......@@ -57,4 +57,9 @@
<string name="additional_morekeys_symbols_0">0</string>
<!-- U+20B9: "₹" INDIAN RUPEE SIGN -->
<string name="keyspec_currency">&#x20B9;</string>
<!-- U+0964: "।" DEVANAGARI DANDA -->
<string name="keyspec_period">&#x0964;</string>
<string name="keyspec_tablet_period">&#x0964;</string>
<string name="morekeys_period">"!autoColumnOrder!9,\\,,.,?,!,#,),(,/,;,',@,:,-,\",+,\\%,&amp;"</string>
<string name="morekeys_tablet_period">"!autoColumnOrder!8,\\,,.,',#,),(,/,;,@,:,-,\",+,\\%,&amp;"</string>
</resources>
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment