diff --git a/rules/base.xml.in b/rules/base.xml.in
index 4cd0a3b..736fa80 100644
--- a/rules/base.xml.in
+++ b/rules/base.xml.in
@@ -5917,6 +5917,57 @@
+
+
+ id
+ id
+ Indonesian (Jawi)
+
+ id
+ ms
+ min
+ ace
+ bjn
+ tsg
+ mfa
+
+
+
+
+
+
+ my
+ ms
+ Malay (Jawi)
+
+ id
+ ms
+ min
+ ace
+ bjn
+ tsg
+ mfa
+
+
+
+
+
+
+ bn
+ ms
+ Malay (Jawi)
+
+ id
+ ms
+ min
+ ace
+ bjn
+ tsg
+ mfa
+
+
+
+
diff --git a/symbols/bn b/symbols/bn
new file mode 100644
index 0000000..22cebef
--- /dev/null
+++ b/symbols/bn
@@ -0,0 +1,7 @@
+default partial alphanumeric_keys
+xkb_symbols "jawi" {
+ include "id(jawi)"
+
+ name[Group1]= "Malay (Jawi)";
+};
+
diff --git a/symbols/id b/symbols/id
new file mode 100644
index 0000000..dca2596
--- /dev/null
+++ b/symbols/id
@@ -0,0 +1,63 @@
+// Modified from Arabic (buckwalter)
+default partial alphanumeric_keys
+xkb_symbols "jawi" {
+ name[Group1]= "Indonesian (Jawi)";
+
+ key { [ 0x1000670, Arabic_shadda ] }; // ـٰ supercript alef
+
+ key { [ 0x1000661, exclam ] };
+ key { [ 0x1000662, at ] };
+ key { [ 0x1000663, numbersign ] };
+ key { [ 0x1000664, 0x1000657 ] }; // ـٗ inverted damma
+ key { [ 0x1000665, Arabic_percent ] };
+ key { [ 0x1000666, asciicircum ] };
+ key { [ 0x1000667, ampersand ] };
+ key { [ 0x1000668, asterisk ] };
+ key { [ 0x1000669, parenright ] };
+ key { [ 0x1000660, parenleft ] };
+ key { [ minus, Arabic_tatweel ] };
+ key { [ equal, plus ] };
+
+ key { [ Arabic_qaf, Arabic_hamza ] };
+ key { [ Arabic_waw, Arabic_hamzaonwaw ] };
+ // ARABIC LETTER YEH WITH SMALL V 0x10006ce (my proposal for E)
+ key { [ Arabic_yeh, Arabic_ain ] };
+ key { [ Arabic_ra, 0x1000656 ] }; // ـٖ subscript alef
+ key { [ Arabic_teh, Arabic_tah ] };
+ key { [ Arabic_yeh, Arabic_alefmaksura ] };
+ key { [ Arabic_damma, Arabic_hamzaonalef ] };
+ key { [ Arabic_kasra, Arabic_hamzaunderalef ] };
+ // ARABIC LETTER OE 0x10006c6 (my proposal for O)
+ key { [ Arabic_waw, Arabic_sukun ] };
+ key { [ 0x10006a4, Arabic_tehmarbuta ] }; // ڤ p
+ key { [ Arabic_fathatan, 0x1000671 ] }; // ٱ alef wasla
+ key { [ Arabic_kasratan, Arabic_hamzaonyeh ] };
+
+ key { [ Arabic_fatha, Arabic_alef ] };
+ key { [ Arabic_seen, Arabic_sad ] };
+ key { [ Arabic_dal, Arabic_dad ] };
+ key { [ Arabic_feh, 0x10006a0 ] }; // ڠ ng
+ key { [ 0x1000762, Arabic_ghain ] }; // ݢ g (prefered)
+ key { [ Arabic_ha, Arabic_hah ] };
+ key { [ Arabic_jeem, 0x10006ac ] }; // ڬ g
+ key { [ Arabic_kaf, 0x10006a9 ] }; // ک k (prefered)
+ key { [ Arabic_lam, 0x1000653 ] }; // ـٓ maddah above
+ key { [ Arabic_semicolon, colon ] };
+ key { [ apostrophe, quotedbl ] };
+
+ key { [ Arabic_dammatan, Arabic_maddaonalef ] };
+
+// key { [ bar, brokenbar ] };
+
+ key { [ Arabic_zain, Arabic_zah ] };
+ key { [ Arabic_khah, Arabic_sheen ] };
+ key { [ 0x1000686, Arabic_thal ] }; // چ c/ch
+ key { [ 0x10006cf, Arabic_theh ] }; // ۏ v
+ key { [ Arabic_beh, 0x10000bb ] }; // »
+ key { [ Arabic_noon, 0x10006bd ] }; // ڽ ny
+ key { [ Arabic_meem, 0x10000ab ] }; // «
+ key { [ Arabic_comma, less ] };
+ key { [ 0x10006d4, greater ] }; // ۔ full stop
+ key { [ slash, Arabic_question_mark ] };
+};
+
diff --git a/symbols/my b/symbols/my
new file mode 100644
index 0000000..22cebef
--- /dev/null
+++ b/symbols/my
@@ -0,0 +1,7 @@
+default partial alphanumeric_keys
+xkb_symbols "jawi" {
+ include "id(jawi)"
+
+ name[Group1]= "Malay (Jawi)";
+};
+