diff --git a/rules/base.xml.in b/rules/base.xml.in
index 97ae57c..6fd55f2 100644
--- a/rules/base.xml.in
+++ b/rules/base.xml.in
@@ -5888,6 +5888,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
index e69de29..22cebef 100644
--- a/symbols/bn
+++ 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
index e69de29..f32eb0f 100644
--- a/symbols/id
+++ b/symbols/id
@@ -0,0 +1,79 @@
+// Modified from Arabic (buckwalter)
+default partial alphanumeric_keys
+xkb_symbols "jawi" {
+ name[Group1]= "Indonesian (Jawi)";
+
+ // ARABIC LETTER SUPERSCRIPT ALEF
+ key { [ 0x1000670, Arabic_shadda ] };
+
+ key { [ 0x1000661, exclam ] };
+ key { [ 0x1000662, at ] };
+ key { [ 0x1000663, numbersign ] };
+ // ARABIC INVERTED DAMMA
+ key { [ 0x1000664, 0x1000657 ] };
+ key { [ 0x1000665, Arabic_percent ] };
+ key { [ 0x1000666, asciicircum ] };
+ key { [ 0x1000667, ampersand ] };
+ key { [ 0x1000668, asterisk ] };
+ // ORNATE LEFT PARENTHESIS
+ key { [ 0x1000669, 0x100fd3e ] };
+ // ORNATE RIGHT PARENTHESIS
+ key { [ 0x1000660, 0x100fd3f ] };
+ 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 ] };
+ // ARABIC SUBSCRIPT ALEF
+ key { [ Arabic_ra, 0x1000656 ] };
+ 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 ] };
+ // ARABIC LETTER VEH
+ key { [ 0x10006a4, Arabic_tehmarbuta ] };
+ // ARABIC LETTER ALEF WASLA
+ key { [ Arabic_fathatan, 0x1000671 ] };
+ key { [ Arabic_kasratan, Arabic_hamzaonyeh ] };
+
+ key { [ Arabic_fatha, Arabic_alef ] };
+ key { [ Arabic_seen, Arabic_sad ] };
+ key { [ Arabic_dal, Arabic_dad ] };
+ key { [ Arabic_feh, backslash ] };
+ // ARABIC LETTER KEHEH WITH DOT ABOVE
+ key { [ 0x1000762, Arabic_ghain ] };
+ key { [ Arabic_ha, Arabic_hah ] };
+ // ARABIC LETTER KEH WITH DOT ABOVE
+ key { [ Arabic_jeem, 0x10006ac ] };
+ // ARABIC LETTER KEHEH
+ key { [ Arabic_kaf, 0x10006a9 ] };
+ // ARABIC MADDAH ABOVE
+ key { [ Arabic_lam, 0x1000653 ] };
+ 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 ] };
+ // ARABIC LETTER TCHEH
+ key { [ 0x1000686, Arabic_thal ] };
+ // ARABIC LETTER WAW WITH DOT ABOVE
+ key { [ 0x10006cf, Arabic_theh ] };
+ key { [ Arabic_beh, less ] };
+ // ARABIC LETTER NOON WITH THREE DOTS ABOVE
+ key { [ Arabic_noon, 0x10006bd ] };
+ key { [ Arabic_meem, greater ] };
+ // »
+ key { [ Arabic_comma, 0x10000bb ] };
+ // ARABIC FULL STOP (Urdu), «
+ key { [ 0x10006d4, 0x10000ab ] };
+ key { [ slash, Arabic_question_mark ] };
+};
+
diff --git a/symbols/my b/symbols/my
index e69de29..22cebef 100644
--- a/symbols/my
+++ b/symbols/my
@@ -0,0 +1,7 @@
+default partial alphanumeric_keys
+xkb_symbols "jawi" {
+ include "id(jawi)"
+
+ name[Group1]= "Malay (Jawi)";
+};
+