diff --git a/java/res/values-ar/donottranslate-more-keys.xml b/java/res/values-ar/donottranslate-more-keys.xml
index 6a14a3c..9a7a026 100644
--- a/java/res/values-ar/donottranslate-more-keys.xml
+++ b/java/res/values-ar/donottranslate-more-keys.xml
@@ -102,8 +102,43 @@
     <string name="more_keys_for_bullet">♪</string>
     <!-- \u066d: ARABIC FIVE POINTED STAR -->
     <string name="more_keys_for_star">★,\u066d</string>
-    <!-- \ufd3e: ORNATE LEFT PARENTHESIS -->
-    <string name="more_keys_for_left_parenthesis">[,{,&lt;,\ufd3e</string>
-    <!-- \ufd3f: ORNATE RIGHT PARENTHESIS -->
-    <string name="more_keys_for_right_parenthesis">],},&gt;,\ufd3f</string>
+    <!-- The all letters need to be mirrored are found at
+         http://www.unicode.org/Public/6.1.0/ucd/BidiMirroring.txt -->
+    <string name="output_text_for_left_parenthesis">)</string>
+    <string name="output_text_for_right_parenthesis">(</string>
+    <!-- \ufd3e: ORNATE LEFT PARENTHESIS
+         \ufd3f: ORNATE RIGHT PARENTHESIS -->
+    <string name="more_keys_for_left_parenthesis">[|],{|},&lt;|&gt;,\ufd3e|\ufd3f</string>
+    <string name="more_keys_for_right_parenthesis">]|[,}|{,&gt;|&lt;,\ufd3f|\ufd3e</string>
+    <string name="output_text_for_less_than">&gt;</string>
+    <string name="output_text_for_greater_than">&lt;</string>
+    <!-- \u2264: LESS-THAN OR EQUAL TO
+         \u2265: GREATER-THAN EQUAL TO
+         \u00ab: LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+         \u00bb: RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+         \u2039: SINGLE LEFT-POINTING ANGLE QUOTATION MARK
+         \u203a: SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
+         The following characters don't need BIDI mirroring.
+         \u2018: LEFT SINGLE QUOTATION MARK
+         \u2019: RIGHT SINGLE QUOTATION MARK
+         \u201a: SINGLE LOW-9 QUOTATION MARK
+         \u201b: SINGLE HIGH-REVERSED-9 QUOTATION MARK
+         \u201c: LEFT DOUBLE QUOTATION MARK
+         \u201d: RIGHT DOUBLE QUOTATION MARK
+         \u201e: DOUBLE LOW-9 QUOTATION MARK
+         \u201f: DOUBLE HIGH-REVERSED-9 QUOTATION MARK -->
+    <string name="more_keys_for_less_than">\u2264|\u2265,\u00ab|\u00bb,\u2039|\u203a</string>
+    <string name="more_keys_for_greater_than">\u2265|\u2264,\u00bb|\u00ab,\u203a|\u2039</string>
+    <string name="output_text_for_left_square_bracket">]</string>
+    <string name="output_text_for_right_square_bracket">[</string>
+    <string name="output_text_for_left_curly_bracket">}</string>
+    <string name="output_text_for_right_curly_bracket">{</string>
+    <!-- Note: Neither DroidSans nor Roboto have a glyph for DOUBLE HIGH-REVERSED-9 QUOTATION MARK. -->
+    <!-- <string name="more_keys_for_double_quote">\u201c,\u201d,\u201e,\u201f,\u00ab,\u00bb</string> -->
+    <!-- The 4-more keys will be displayed in order of "3,1,2,4". -->
+    <string name="more_keys_for_double_quote">\u201d,\u00ab|\u00bb,\u201c,\u00bb|\u00ab</string>
+    <!-- Note: Neither DroidSans nor Roboto have a glyph for DOUBLE HIGH-REVERSED-9 QUOTATION MARK. -->
+    <!-- <string name="more_keys_for_tablet_double_quote">\u201c,\u201d,\u201e,\u201f,\u00ab,\u00bb,\u2018,\u2019,\u201a,\u201b</string> -->
+    <!-- The 8-more keys with maxMoreKeysColumn=4 will be displayed in order of "3,1,2,4|7,5,6,8". -->
+    <string name="more_keys_for_tablet_double_quote">\u201d,\u00ab|\u00bb,\u201c,\u00bb|\u00ab,\u2019,\u201a,\u2018,\u201b</string>
 </resources>
diff --git a/java/res/values-ar/donottranslate.xml b/java/res/values-ar/donottranslate.xml
index c51ac50..a9aad4e 100644
--- a/java/res/values-ar/donottranslate.xml
+++ b/java/res/values-ar/donottranslate.xml
@@ -19,7 +19,7 @@
 -->
 <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <!-- The all letters need to be mirrored are found at
-         http://www.unicode.org/Public/6.0.0/ucd/extracted/DerivedBinaryProperties.txt -->
+         http://www.unicode.org/Public/6.1.0/ucd/BidiMirroring.txt -->
     <!-- Symbols that are suggested between words -->
     <string name="suggested_punctuations">!,?,\\,,:,;,\u0022,(|),)|(,\u0027,-,/,@,_</string>
 </resources>
diff --git a/java/res/values-iw/donottranslate-more-keys.xml b/java/res/values-iw/donottranslate-more-keys.xml
index 829486f..6fc3360 100644
--- a/java/res/values-iw/donottranslate-more-keys.xml
+++ b/java/res/values-iw/donottranslate-more-keys.xml
@@ -20,4 +20,41 @@
 <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="more_keys_for_star">★</string>
     <string name="more_keys_for_plus">±,﬩</string>
+    <!-- The all letters need to be mirrored are found at
+         http://www.unicode.org/Public/6.1.0/ucd/BidiMirroring.txt -->
+    <string name="output_text_for_left_parenthesis">)</string>
+    <string name="output_text_for_right_parenthesis">(</string>
+    <string name="more_keys_for_left_parenthesis">[|],{|},&lt;|&gt;</string>
+    <string name="more_keys_for_right_parenthesis">]|[,}|{,&gt;|&lt;</string>
+    <string name="output_text_for_less_than">&gt;</string>
+    <string name="output_text_for_greater_than">&lt;</string>
+    <!-- \u2264: LESS-THAN OR EQUAL TO
+         \u2265: GREATER-THAN EQUAL TO
+         \u00ab: LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+         \u00bb: RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+         \u2039: SINGLE LEFT-POINTING ANGLE QUOTATION MARK
+         \u203a: SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
+         The following characters don't need BIDI mirroring.
+         \u2018: LEFT SINGLE QUOTATION MARK
+         \u2019: RIGHT SINGLE QUOTATION MARK
+         \u201a: SINGLE LOW-9 QUOTATION MARK
+         \u201b: SINGLE HIGH-REVERSED-9 QUOTATION MARK
+         \u201c: LEFT DOUBLE QUOTATION MARK
+         \u201d: RIGHT DOUBLE QUOTATION MARK
+         \u201e: DOUBLE LOW-9 QUOTATION MARK
+         \u201f: DOUBLE HIGH-REVERSED-9 QUOTATION MARK -->
+    <string name="more_keys_for_less_than">\u2264|\u2265,\u00ab|\u00bb,\u2039|\u203a</string>
+    <string name="more_keys_for_greater_than">\u2265|\u2264,\u00bb|\u00ab,\u203a|\u2039</string>
+    <string name="output_text_for_left_square_bracket">]</string>
+    <string name="output_text_for_right_square_bracket">[</string>
+    <string name="output_text_for_left_curly_bracket">}</string>
+    <string name="output_text_for_right_curly_bracket">{</string>
+    <!-- Note: Neither DroidSans nor Roboto have a glyph for DOUBLE HIGH-REVERSED-9 QUOTATION MARK. -->
+    <!-- <string name="more_keys_for_double_quote">\u201c,\u201d,\u201e,\u201f,\u00ab,\u00bb</string> -->
+    <!-- The 4-more keys will be displayed in order of "3,1,2,4". -->
+    <string name="more_keys_for_double_quote">\u201d,\u00ab|\u00bb,\u201c,\u00bb|\u00ab</string>
+    <!-- Note: Neither DroidSans nor Roboto have a glyph for DOUBLE HIGH-REVERSED-9 QUOTATION MARK. -->
+    <!-- <string name="more_keys_for_tablet_double_quote">\u201c,\u201d,\u201e,\u201f,\u00ab,\u00bb,\u2018,\u2019,\u201a,\u201b</string> -->
+    <!-- The 8-more keys with maxMoreKeysColumn=4 will be displayed in order of "3,1,2,4|7,5,6,8". -->
+    <string name="more_keys_for_tablet_double_quote">\u201d,\u00ab|\u00bb,\u201c,\u00bb|\u00ab,\u2019,\u201a,\u2018,\u201b</string>
 </resources>
diff --git a/java/res/values-iw/donottranslate.xml b/java/res/values-iw/donottranslate.xml
index c51ac50..a9aad4e 100644
--- a/java/res/values-iw/donottranslate.xml
+++ b/java/res/values-iw/donottranslate.xml
@@ -19,7 +19,7 @@
 -->
 <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <!-- The all letters need to be mirrored are found at
-         http://www.unicode.org/Public/6.0.0/ucd/extracted/DerivedBinaryProperties.txt -->
+         http://www.unicode.org/Public/6.1.0/ucd/BidiMirroring.txt -->
     <!-- Symbols that are suggested between words -->
     <string name="suggested_punctuations">!,?,\\,,:,;,\u0022,(|),)|(,\u0027,-,/,@,_</string>
 </resources>
diff --git a/java/res/values/attrs.xml b/java/res/values/attrs.xml
index d859ae3..dd2206d 100644
--- a/java/res/values/attrs.xml
+++ b/java/res/values/attrs.xml
@@ -202,8 +202,6 @@
         <attr name="verticalGap" format="dimension|fraction" />
         <!-- More keys keyboard layout template -->
         <attr name="moreKeysTemplate" format="reference" />
-        <!-- True if the keyboard is Right-To-Left -->
-        <attr name="isRtlKeyboard" format="boolean" />
         <!-- Icon set for key top and key preview. -->
         <attr name="iconShiftKey" format="reference" />
         <attr name="iconDeleteKey" format="reference" />
diff --git a/java/res/values/donottranslate-more-keys.xml b/java/res/values/donottranslate-more-keys.xml
index 07f4bf3..07e711a 100644
--- a/java/res/values/donottranslate-more-keys.xml
+++ b/java/res/values/donottranslate-more-keys.xml
@@ -112,6 +112,43 @@
     <string name="more_keys_for_bullet">♪,♥,♠,♦,♣</string>
     <string name="more_keys_for_star">†,‡,★</string>
     <string name="more_keys_for_plus">±</string>
+    <!-- The all letters need to be mirrored are found at
+         http://www.unicode.org/Public/6.1.0/ucd/BidiMirroring.txt -->
+    <string name="output_text_for_left_parenthesis">(</string>
+    <string name="output_text_for_right_parenthesis">)</string>
     <string name="more_keys_for_left_parenthesis">[,{,&lt;</string>
     <string name="more_keys_for_right_parenthesis">],},&gt;</string>
+    <string name="output_text_for_less_than">&lt;</string>
+    <string name="output_text_for_greater_than">&gt;</string>
+    <!-- \u2264: LESS-THAN OR EQUAL TO
+         \u2265: GREATER-THAN EQUAL TO
+         \u00ab: LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+         \u00bb: RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+         \u2039: SINGLE LEFT-POINTING ANGLE QUOTATION MARK
+         \u203a: SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
+         The following characters don't need BIDI mirroring.
+         \u2018: LEFT SINGLE QUOTATION MARK
+         \u2019: RIGHT SINGLE QUOTATION MARK
+         \u201a: SINGLE LOW-9 QUOTATION MARK
+         \u201b: SINGLE HIGH-REVERSED-9 QUOTATION MARK
+         \u201c: LEFT DOUBLE QUOTATION MARK
+         \u201d: RIGHT DOUBLE QUOTATION MARK
+         \u201e: DOUBLE LOW-9 QUOTATION MARK
+         \u201f: DOUBLE HIGH-REVERSED-9 QUOTATION MARK -->
+    <string name="more_keys_for_less_than">\u2264,\u00ab,\u2039</string>
+    <string name="more_keys_for_greater_than">\u2265,\u00bb,\u203a</string>
+    <string name="output_text_for_left_square_bracket">[</string>
+    <string name="output_text_for_right_square_bracket">]</string>
+    <string name="output_text_for_left_curly_bracket">{</string>
+    <string name="output_text_for_right_curly_bracket">}</string>
+    <!-- The 4-more keys will be displayed in order of "3,1,2,4". -->
+    <string name="more_keys_for_single_quote">\u2019,\u201a,\u2018,\u201b</string>
+    <!-- Note: Neither DroidSans nor Roboto have a glyph for DOUBLE HIGH-REVERSED-9 QUOTATION MARK. -->
+    <!-- <string name="more_keys_for_double_quote">\u201c,\u201d,\u201e,\u201f,\u00ab,\u00bb</string> -->
+    <!-- The 4-more keys will be displayed in order of "3,1,2,4". -->
+    <string name="more_keys_for_double_quote">\u201d,\u00ab,\u201c,\u00bb</string>
+    <!-- Note: Neither DroidSans nor Roboto have a glyph for DOUBLE HIGH-REVERSED-9 QUOTATION MARK. -->
+    <!-- <string name="more_keys_for_tablet_double_quote">\u201c,\u201d,\u201e,\u201f,\u00ab,\u00bb,\u2018,\u2019,\u201a,\u201b</string> -->
+    <!-- The 8-more keys with maxMoreKeysColumn=4 will be displayed in order of "3,1,2,4|7,5,6,8". -->
+    <string name="more_keys_for_tablet_double_quote">\u201d,\u00ab,\u201c,\u00bb,\u2019,\u201a,\u2018,\u201b</string>
 </resources>
diff --git a/java/res/xml-ar/kbd_symbols.xml b/java/res/xml-ar/kbd_symbols.xml
deleted file mode 100644
index c1905b8..0000000
--- a/java/res/xml-ar/kbd_symbols.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2011, 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.
-*/
--->
-
-<Keyboard
-    xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
-    latin:isRtlKeyboard="true"
->
-    <include
-        latin:keyboardLayout="@xml/rows_symbols" />
-</Keyboard>
diff --git a/java/res/xml-iw/kbd_symbols.xml b/java/res/xml-iw/kbd_symbols.xml
deleted file mode 100644
index c1905b8..0000000
--- a/java/res/xml-iw/kbd_symbols.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2011, 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.
-*/
--->
-
-<Keyboard
-    xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
-    latin:isRtlKeyboard="true"
->
-    <include
-        latin:keyboardLayout="@xml/rows_symbols" />
-</Keyboard>
diff --git a/java/res/xml-iw/kbd_symbols_shift.xml b/java/res/xml-iw/kbd_symbols_shift.xml
deleted file mode 100644
index 820b425..0000000
--- a/java/res/xml-iw/kbd_symbols_shift.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2011, 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.
-*/
--->
-
-<Keyboard
-    xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
-    latin:isRtlKeyboard="true"
->
-    <include
-        latin:keyboardLayout="@xml/rows_symbols_shift" />
-</Keyboard>
diff --git a/java/res/xml-sw600dp/rows_azerty.xml b/java/res/xml-sw600dp/rows_azerty.xml
index c29d291..aabe6b0 100644
--- a/java/res/xml-sw600dp/rows_azerty.xml
+++ b/java/res/xml-sw600dp/rows_azerty.xml
@@ -116,7 +116,10 @@
             latin:keyLabel="n"
             latin:moreKeys="@string/more_keys_for_n" />
         <Key
-            latin:keyLabel="\'" />
+            latin:keyLabel="\'"
+            latin:keyHintLabel=":"
+            latin:moreKeys=":"
+            latin:keyStyle="hasShiftedLetterHintStyle" />
         <include
             latin:keyboardLayout="@xml/keys_comma_period" />
         <include
diff --git a/java/res/xml-sw600dp/rows_symbols.xml b/java/res/xml-sw600dp/rows_symbols.xml
index 701c354..c2dfe2f 100644
--- a/java/res/xml-sw600dp/rows_symbols.xml
+++ b/java/res/xml-sw600dp/rows_symbols.xml
@@ -95,12 +95,8 @@
         <Key
             latin:keyLabel="+"
             latin:moreKeys="@string/more_keys_for_plus" />
-        <Key
-            latin:keyLabel="("
-            latin:moreKeys="[,{,&lt;" />
-        <Key
-            latin:keyLabel=")"
-            latin:moreKeys="],},&gt;" />
+        <include
+            latin:keyboardLayout="@xml/keys_parentheses" />
         <Key
             latin:keyStyle="returnKeyStyle"
             latin:keyXPos="-14.6%p"
@@ -112,12 +108,8 @@
         <Key
             latin:keyStyle="toMoreSymbolKeyStyle"
             latin:keyWidth="10.0%p" />
-        <Key
-            latin:keyLabel="&lt;"
-            latin:moreKeys="≤,«,‹" />
-        <Key
-            latin:keyLabel="&gt;"
-            latin:moreKeys="≥,»,›" />
+        <include
+            latin:keyboardLayout="@xml/keys_less_greater" />
         <Key
             latin:keyLabel="="
             latin:moreKeys="≠,≈" />
@@ -126,8 +118,7 @@
                 latin:mode="url"
             >
                 <Key
-                    latin:keyLabel="\'"
-                    latin:moreKeys="‘,’,‚,‛" />
+                    latin:keyLabel="\'" />
             </case>
             <default>
                 <Key
@@ -166,11 +157,10 @@
             latin:keyStyle="spaceKeyStyle"
             latin:keyXPos="30.750%p"
             latin:keyWidth="39.750%p" />
-        <!-- Note: DroidSans doesn't have double-high-reversed-quotation '\u201f' glyph. -->
-        <!-- latin:moreKeys="“,”,„,‟,«,»,‘,’,‚,‛" -->
         <Key
             latin:keyLabel="&quot;"
-            latin:moreKeys="“,”,«,»,‘,’,‚,‛" />
+            latin:moreKeys="@string/more_keys_for_tablet_double_quote"
+            latin:maxMoreKeysColumn="4" />
         <Key
             latin:keyLabel="_" />
         <Spacer
diff --git a/java/res/xml-sw600dp/rows_symbols_shift.xml b/java/res/xml-sw600dp/rows_symbols_shift.xml
index d3531dd..6a640c0 100644
--- a/java/res/xml-sw600dp/rows_symbols_shift.xml
+++ b/java/res/xml-sw600dp/rows_symbols_shift.xml
@@ -77,10 +77,8 @@
         <Key
             latin:keyLabel="±"
             latin:moreKeys="∞" />
-        <Key
-            latin:keyLabel="{" />
-        <Key
-            latin:keyLabel="}" />
+        <include
+            latin:keyboardLayout="@xml/keys_curly_brackets" />
         <Key
             latin:keyStyle="returnKeyStyle"
             latin:keyXPos="-14.6%p"
@@ -102,10 +100,8 @@
             latin:keyLabel="™" />
         <Key
             latin:keyLabel="℅" />
-        <Key
-            latin:keyLabel="[" />
-        <Key
-            latin:keyLabel="]" />
+        <include
+            latin:keyboardLayout="@xml/keys_square_brackets" />
         <Key
             latin:keyLabel="¡" />
         <Key
diff --git a/java/res/xml-sw768dp/rows_azerty.xml b/java/res/xml-sw768dp/rows_azerty.xml
index 886ebec..b9ef898 100644
--- a/java/res/xml-sw768dp/rows_azerty.xml
+++ b/java/res/xml-sw768dp/rows_azerty.xml
@@ -124,9 +124,9 @@
             latin:moreKeys="@string/more_keys_for_n" />
         <Key
             latin:keyLabel="\'"
-            latin:keyLabelFlags="hasShiftedLetterHint"
             latin:keyHintLabel=":"
-            latin:moreKeys=":" />
+            latin:moreKeys=":"
+            latin:keyStyle="hasShiftedLetterHintStyle" />
         <include
             latin:keyboardLayout="@xml/keys_comma_period" />
         <Key
diff --git a/java/res/xml-sw768dp/rows_symbols.xml b/java/res/xml-sw768dp/rows_symbols.xml
index 7458b36..2ba9357 100644
--- a/java/res/xml-sw768dp/rows_symbols.xml
+++ b/java/res/xml-sw768dp/rows_symbols.xml
@@ -102,12 +102,8 @@
         <Key
             latin:keyLabel="+"
             latin:moreKeys="@string/more_keys_for_plus" />
-        <Key
-            latin:keyLabel="("
-            latin:moreKeys="[,{,&lt;" />
-        <Key
-            latin:keyLabel=")"
-            latin:moreKeys="],},&gt;" />
+        <include
+            latin:keyboardLayout="@xml/keys_parentheses" />
         <Key
             latin:keyStyle="returnKeyStyle"
             latin:keyXPos="-15.704%p"
@@ -119,12 +115,8 @@
         <Key
             latin:keyStyle="toMoreSymbolKeyStyle"
             latin:keyWidth="13.829%p" />
-        <Key
-            latin:keyLabel="&lt;"
-            latin:moreKeys="≤,«,‹" />
-        <Key
-            latin:keyLabel="&gt;"
-            latin:moreKeys="≥,»,›" />
+        <include
+            latin:keyboardLayout="@xml/keys_less_greater" />
         <Key
             latin:keyLabel="="
             latin:moreKeys="≠,≈" />
@@ -133,8 +125,7 @@
                 latin:mode="url"
             >
                 <Key
-                    latin:keyLabel="\'"
-                    latin:moreKeys="‘,’,‚,‛" />
+                    latin:keyLabel="\'" />
             </case>
             <default>
                 <Key
@@ -181,11 +172,10 @@
             latin:keyStyle="spaceKeyStyle"
             latin:keyXPos="31.250%p"
             latin:keyWidth="37.500%p" />
-        <!-- Note: DroidSans doesn't have double-high-reversed-quotation '\u201f' glyph. -->
-        <!-- latin:moreKeys="“,”,„,‟,«,»,‘,’,‚,‛" -->
         <Key
             latin:keyLabel="&quot;"
-            latin:moreKeys="“,”,«,»,‘,’,‚,‛" />
+            latin:moreKeys="@string/more_keys_for_tablet_double_quote"
+            latin:maxMoreKeysColumn="4" />
         <Key
             latin:keyLabel="_" />
         <switch>
diff --git a/java/res/xml-sw768dp/rows_symbols_shift.xml b/java/res/xml-sw768dp/rows_symbols_shift.xml
index 80735b6..aba9c23 100644
--- a/java/res/xml-sw768dp/rows_symbols_shift.xml
+++ b/java/res/xml-sw768dp/rows_symbols_shift.xml
@@ -84,10 +84,8 @@
         <Key
             latin:keyLabel="±"
             latin:moreKeys="∞" />
-        <Key
-            latin:keyLabel="{" />
-        <Key
-            latin:keyLabel="}" />
+        <include
+            latin:keyboardLayout="@xml/keys_curly_brackets" />
         <Key
             latin:keyStyle="returnKeyStyle"
             latin:keyXPos="-15.704%p"
@@ -109,10 +107,8 @@
             latin:keyLabel="™" />
         <Key
             latin:keyLabel="℅" />
-        <Key
-            latin:keyLabel="[" />
-        <Key
-            latin:keyLabel="]" />
+        <include
+            latin:keyboardLayout="@xml/keys_square_brackets" />
         <Key
             latin:keyLabel="¡" />
         <Key
diff --git a/java/res/xml/kbd_arabic.xml b/java/res/xml/kbd_arabic.xml
index d7f77cc..ce5f30b 100644
--- a/java/res/xml/kbd_arabic.xml
+++ b/java/res/xml/kbd_arabic.xml
@@ -20,7 +20,6 @@
 
 <Keyboard
     xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
-    latin:isRtlKeyboard="true"
 >
     <include
         latin:keyboardLayout="@xml/rows_arabic" />
diff --git a/java/res/xml/kbd_hebrew.xml b/java/res/xml/kbd_hebrew.xml
index 3d574db..74836f3 100644
--- a/java/res/xml/kbd_hebrew.xml
+++ b/java/res/xml/kbd_hebrew.xml
@@ -20,7 +20,6 @@
 
 <Keyboard
     xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
-    latin:isRtlKeyboard="true"
 >
     <include
         latin:keyboardLayout="@xml/rows_hebrew" />
diff --git a/java/res/xml-ar/kbd_symbols_shift.xml b/java/res/xml/keys_curly_brackets.xml
similarity index 70%
rename from java/res/xml-ar/kbd_symbols_shift.xml
rename to java/res/xml/keys_curly_brackets.xml
index 820b425..b43fbb1 100644
--- a/java/res/xml-ar/kbd_symbols_shift.xml
+++ b/java/res/xml/keys_curly_brackets.xml
@@ -2,7 +2,7 @@
 <!--
 /*
 **
-** Copyright 2011, The Android Open Source Project
+** Copyright 2012, 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.
@@ -18,10 +18,13 @@
 */
 -->
 
-<Keyboard
+<merge
     xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
-    latin:isRtlKeyboard="true"
 >
-    <include
-        latin:keyboardLayout="@xml/rows_symbols_shift" />
-</Keyboard>
+    <Key
+        latin:keyLabel="{"
+        latin:keyOutputText="@string/output_text_for_left_curly_bracket" />
+    <Key
+        latin:keyLabel="}"
+        latin:keyOutputText="@string/output_text_for_right_curly_bracket" />
+</merge>
diff --git a/java/res/xml-ar/kbd_symbols_shift.xml b/java/res/xml/keys_less_greater.xml
similarity index 63%
copy from java/res/xml-ar/kbd_symbols_shift.xml
copy to java/res/xml/keys_less_greater.xml
index 820b425..8e90199 100644
--- a/java/res/xml-ar/kbd_symbols_shift.xml
+++ b/java/res/xml/keys_less_greater.xml
@@ -2,7 +2,7 @@
 <!--
 /*
 **
-** Copyright 2011, The Android Open Source Project
+** Copyright 2012, 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.
@@ -18,10 +18,15 @@
 */
 -->
 
-<Keyboard
+<merge
     xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
-    latin:isRtlKeyboard="true"
 >
-    <include
-        latin:keyboardLayout="@xml/rows_symbols_shift" />
-</Keyboard>
+    <Key
+        latin:keyLabel="&lt;"
+        latin:keyOutputText="@string/output_text_for_less_than"
+        latin:moreKeys="@string/more_keys_for_less_than" />
+    <Key
+        latin:keyLabel="&gt;"
+        latin:keyOutputText="@string/output_text_for_greater_than"
+        latin:moreKeys="@string/more_keys_for_greater_than" />
+</merge>
diff --git a/java/res/xml-ar/kbd_symbols_shift.xml b/java/res/xml/keys_parentheses.xml
similarity index 62%
copy from java/res/xml-ar/kbd_symbols_shift.xml
copy to java/res/xml/keys_parentheses.xml
index 820b425..bacb26d 100644
--- a/java/res/xml-ar/kbd_symbols_shift.xml
+++ b/java/res/xml/keys_parentheses.xml
@@ -2,7 +2,7 @@
 <!--
 /*
 **
-** Copyright 2011, The Android Open Source Project
+** Copyright 2012, 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.
@@ -18,10 +18,15 @@
 */
 -->
 
-<Keyboard
+<merge
     xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
-    latin:isRtlKeyboard="true"
 >
-    <include
-        latin:keyboardLayout="@xml/rows_symbols_shift" />
-</Keyboard>
+    <Key
+        latin:keyLabel="("
+        latin:keyOutputText="@string/output_text_for_left_parenthesis"
+        latin:moreKeys="@string/more_keys_for_left_parenthesis" />
+    <Key
+        latin:keyLabel=")"
+        latin:keyOutputText="@string/output_text_for_right_parenthesis"
+        latin:moreKeys="@string/more_keys_for_right_parenthesis" />
+</merge>
diff --git a/java/res/xml-ar/kbd_symbols_shift.xml b/java/res/xml/keys_square_brackets.xml
similarity index 70%
copy from java/res/xml-ar/kbd_symbols_shift.xml
copy to java/res/xml/keys_square_brackets.xml
index 820b425..3525f4d 100644
--- a/java/res/xml-ar/kbd_symbols_shift.xml
+++ b/java/res/xml/keys_square_brackets.xml
@@ -2,7 +2,7 @@
 <!--
 /*
 **
-** Copyright 2011, The Android Open Source Project
+** Copyright 2012, 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.
@@ -18,10 +18,13 @@
 */
 -->
 
-<Keyboard
+<merge
     xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
-    latin:isRtlKeyboard="true"
 >
-    <include
-        latin:keyboardLayout="@xml/rows_symbols_shift" />
-</Keyboard>
+    <Key
+        latin:keyLabel="["
+        latin:keyOutputText="@string/output_text_for_left_square_bracket" />
+    <Key
+        latin:keyLabel="]"
+        latin:keyOutputText="@string/output_text_for_right_square_bracket" />
+</merge>
diff --git a/java/res/xml/rows_azerty.xml b/java/res/xml/rows_azerty.xml
index 142ebc0..533c683 100644
--- a/java/res/xml/rows_azerty.xml
+++ b/java/res/xml/rows_azerty.xml
@@ -130,9 +130,13 @@
         <Key
             latin:keyLabel="n"
             latin:moreKeys="@string/more_keys_for_n" />
+        <!-- TODO: Introduce a flag, such as strinctMoreKeysOrder, to control moreKeys display
+             order more precisely. -->
+        <!-- This key is close enough to right edge, so that the 4-more keys will be displayed in
+             order of "4,3,1,2". See @string/more_keys_for_single_quote -->
         <Key
             latin:keyLabel="\'"
-            latin:moreKeys="‘,’,‚,‛" />
+            latin:moreKeys="\u2018,\u2019,\u201b,\u201a" />
         <Key
             latin:keyStyle="deleteKeyStyle"
             latin:keyWidth="fillRight"
diff --git a/java/res/xml/rows_symbols.xml b/java/res/xml/rows_symbols.xml
index d0d0edb..81a9a46 100644
--- a/java/res/xml/rows_symbols.xml
+++ b/java/res/xml/rows_symbols.xml
@@ -93,13 +93,8 @@
         <Key
             latin:keyLabel="+"
             latin:moreKeys="@string/more_keys_for_plus" />
-        <Key
-            latin:keyLabel="("
-            latin:moreKeys="@string/more_keys_for_left_parenthesis" />
-        <Key
-            latin:keyLabel=")"
-            latin:moreKeys="@string/more_keys_for_right_parenthesis"
-            latin:keyWidth="fillRight" />
+        <include
+            latin:keyboardLayout="@xml/keys_parentheses" />
     </Row>
     <Row
         latin:keyWidth="10%p"
@@ -111,15 +106,13 @@
         <Key
             latin:keyLabel="!"
             latin:moreKeys="¡" />
-        <!-- Note: Neither DroidSans nor Roboto have a glyph for ‟ Double high-reversed-9 quotation mark U+201F. -->
-            <!-- latin:moreKeys="“,”,„,‟,«,»" -->
         <Key
             latin:keyLabel="&quot;"
-            latin:moreKeys="“,”,«,»"
-            latin:maxMoreKeysColumn="6" />
+            latin:moreKeys="@string/more_keys_for_double_quote"
+            latin:maxMoreKeysColumn="4" />
         <Key
             latin:keyLabel="\'"
-            latin:moreKeys="‘,’,‚,‛" />
+            latin:moreKeys="@string/more_keys_for_single_quote" />
         <Key
             latin:keyLabel=":" />
         <Key
diff --git a/java/res/xml/rows_symbols_shift.xml b/java/res/xml/rows_symbols_shift.xml
index 6d1838c..828bd06 100644
--- a/java/res/xml/rows_symbols_shift.xml
+++ b/java/res/xml/rows_symbols_shift.xml
@@ -46,11 +46,8 @@
             latin:keyLabel="÷" />
         <Key
             latin:keyLabel="×" />
-        <Key
-            latin:keyLabel="{" />
-        <Key
-            latin:keyLabel="}"
-            latin:keyWidth="fillRight" />
+        <include
+            latin:keyboardLayout="@xml/keys_curly_brackets" />
     </Row>
     <Row
         latin:keyWidth="10%p"
@@ -74,11 +71,8 @@
         <Key
             latin:keyLabel="="
             latin:moreKeys="≠,≈,∞" />
-        <Key
-            latin:keyLabel="[" />
-        <Key
-            latin:keyLabel="]"
-            latin:keyWidth="fillRight" />
+        <include
+            latin:keyboardLayout="@xml/keys_square_brackets" />
     </Row>
     <Row
         latin:keyWidth="10%p"
@@ -98,12 +92,8 @@
             latin:moreKeys="§" />
         <Key
             latin:keyLabel="\\" />
-        <Key
-            latin:keyLabel="&lt;"
-            latin:moreKeys="≤,«,‹" />
-        <Key
-            latin:keyLabel="&gt;"
-            latin:moreKeys="≥,»,›" />
+        <include
+            latin:keyboardLayout="@xml/keys_less_greater" />
         <Key
             latin:keyStyle="deleteKeyStyle"
             latin:keyWidth="fillRight"
diff --git a/java/src/com/android/inputmethod/keyboard/Key.java b/java/src/com/android/inputmethod/keyboard/Key.java
index 3cfecf5..5e58821 100644
--- a/java/src/com/android/inputmethod/keyboard/Key.java
+++ b/java/src/com/android/inputmethod/keyboard/Key.java
@@ -36,8 +36,6 @@
 import org.xmlpull.v1.XmlPullParserException;
 
 import java.util.Arrays;
-import java.util.HashMap;
-import java.util.Map;
 
 /**
  * Class for describing the position and characteristics of a single key in the keyboard.
@@ -129,45 +127,6 @@
     /** Key is enabled and responds on press */
     private boolean mEnabled = true;
 
-    // RTL parenthesis character swapping map.
-    private static final Map<Integer, Integer> sRtlParenthesisMap = new HashMap<Integer, Integer>();
-
-    static {
-        // The all letters need to be mirrored are found at
-        // http://www.unicode.org/Public/6.0.0/ucd/extracted/DerivedBinaryProperties.txt
-        addRtlParenthesisPair('(', ')');
-        addRtlParenthesisPair('[', ']');
-        addRtlParenthesisPair('{', '}');
-        addRtlParenthesisPair('<', '>');
-        // \u00ab: LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
-        // \u00bb: RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
-        addRtlParenthesisPair('\u00ab', '\u00bb');
-        // \u2039: SINGLE LEFT-POINTING ANGLE QUOTATION MARK
-        // \u203a: SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
-        addRtlParenthesisPair('\u2039', '\u203a');
-        // \u2264: LESS-THAN OR EQUAL TO
-        // \u2265: GREATER-THAN OR EQUAL TO
-        addRtlParenthesisPair('\u2264', '\u2265');
-    }
-
-    private static void addRtlParenthesisPair(int left, int right) {
-        sRtlParenthesisMap.put(left, right);
-        sRtlParenthesisMap.put(right, left);
-    }
-
-    public static int getRtlParenthesisCode(int code, boolean isRtl) {
-        if (isRtl && sRtlParenthesisMap.containsKey(code)) {
-            return sRtlParenthesisMap.get(code);
-        } else {
-            return code;
-        }
-    }
-
-    private static int getCode(Resources res, Keyboard.Params params, String moreKeySpec) {
-        return getRtlParenthesisCode(
-                MoreKeySpecParser.getCode(res, moreKeySpec), params.mIsRtlKeyboard);
-    }
-
     private static Drawable getIcon(Keyboard.Params params, String moreKeySpec) {
         final int iconAttrId = MoreKeySpecParser.getIconAttrId(moreKeySpec);
         if (iconAttrId == KeyboardIconsSet.ICON_UNDEFINED) {
@@ -183,7 +142,8 @@
     public Key(Resources res, Keyboard.Params params, String moreKeySpec,
             int x, int y, int width, int height) {
         this(params, MoreKeySpecParser.getLabel(moreKeySpec), null, getIcon(params, moreKeySpec),
-                getCode(res, params, moreKeySpec), MoreKeySpecParser.getOutputText(moreKeySpec),
+                MoreKeySpecParser.getCode(res, moreKeySpec),
+                MoreKeySpecParser.getOutputText(moreKeySpec),
                 x, y, width, height);
     }
 
@@ -311,16 +271,14 @@
         if (code == Keyboard.CODE_UNSPECIFIED && TextUtils.isEmpty(outputText)
                 && !TextUtils.isEmpty(mLabel)) {
             if (mLabel.codePointCount(0, mLabel.length()) == 1) {
-                final int activatedCode;
                 // Use the first letter of the hint label if shiftedLetterActivated flag is
                 // specified.
                 if (hasShiftedLetterHint() && isShiftedLetterActivated()
                         && !TextUtils.isEmpty(mHintLabel)) {
-                    activatedCode = mHintLabel.codePointAt(0);
+                    mCode = mHintLabel.codePointAt(0);
                 } else {
-                    activatedCode = mLabel.codePointAt(0);
+                    mCode = mLabel.codePointAt(0);
                 }
-                mCode = getRtlParenthesisCode(activatedCode, params.mIsRtlKeyboard);
             } else {
                 // In some locale and case, the character might be represented by multiple code
                 // points, such as upper case Eszett of German alphabet.
diff --git a/java/src/com/android/inputmethod/keyboard/Keyboard.java b/java/src/com/android/inputmethod/keyboard/Keyboard.java
index 1e1f439..6653dec 100644
--- a/java/src/com/android/inputmethod/keyboard/Keyboard.java
+++ b/java/src/com/android/inputmethod/keyboard/Keyboard.java
@@ -121,9 +121,6 @@
     /** Maximum column for mini keyboard */
     public final int mMaxMiniKeyboardColumn;
 
-    /** True if Right-To-Left keyboard */
-    public final boolean mIsRtlKeyboard;
-
     /** List of keys and icons in this keyboard */
     public final Set<Key> mKeys;
     public final Set<Key> mShiftKeys;
@@ -140,7 +137,6 @@
         mOccupiedWidth = params.mOccupiedWidth;
         mMostCommonKeyHeight = params.mMostCommonKeyHeight;
         mMostCommonKeyWidth = params.mMostCommonKeyWidth;
-        mIsRtlKeyboard = params.mIsRtlKeyboard;
         mMoreKeysTemplate = params.mMoreKeysTemplate;
         mMaxMiniKeyboardColumn = params.mMaxMiniKeyboardColumn;
 
@@ -222,7 +218,6 @@
         public int mHorizontalGap;
         public int mVerticalGap;
 
-        public boolean mIsRtlKeyboard;
         public int mMoreKeysTemplate;
         public int mMaxMiniKeyboardColumn;
 
@@ -739,8 +734,6 @@
                         R.styleable.Keyboard_rowHeight, params.mBaseHeight,
                         params.mBaseHeight / DEFAULT_KEYBOARD_ROWS);
 
-                params.mIsRtlKeyboard = keyboardAttr.getBoolean(
-                        R.styleable.Keyboard_isRtlKeyboard, false);
                 params.mMoreKeysTemplate = keyboardAttr.getResourceId(
                         R.styleable.Keyboard_moreKeysTemplate, 0);
                 params.mMaxMiniKeyboardColumn = keyAttr.getInt(
diff --git a/java/src/com/android/inputmethod/keyboard/MiniKeyboard.java b/java/src/com/android/inputmethod/keyboard/MiniKeyboard.java
index 9742913..433bd0d 100644
--- a/java/src/com/android/inputmethod/keyboard/MiniKeyboard.java
+++ b/java/src/com/android/inputmethod/keyboard/MiniKeyboard.java
@@ -210,7 +210,6 @@
             // TODO: Mini keyboard's vertical gap is currently calculated heuristically.
             // Should revise the algorithm.
             mParams.mVerticalGap = parentKeyboard.mVerticalGap / 2;
-            mParams.mIsRtlKeyboard = parentKeyboard.mIsRtlKeyboard;
             mMoreKeys = parentKey.mMoreKeys;
 
             final int previewWidth = view.mKeyPreviewDrawParams.mPreviewBackgroundWidth;
