Mohamedfaroouk
Committed by David PHAM-VAN

Fix arabic word issues

... ... @@ -3,6 +3,7 @@
## 3.6.1
- Fixes crash when array is empty [Kondamon]
- Fix arabic word issues [Mohamedfaroouk]
## 3.6.0
... ...
... ... @@ -19,47 +19,47 @@
const Map<int, dynamic> _arabicSubstitionA = <int, dynamic>{
0x0640: <int>[0x0640, 0x0640, 0x0640, 0x0640], // ARABIC TATWEEL
0x0621: <int>[0xFE80], // ARABIC LETTER HAMZA
0x0622: <int>[0xFE81, 0xFE82], // ARABIC LETTER ALEF WITH MADDA ABOVE
0x0623: <int>[0xFE83, 0xFE84], // ARABIC LETTER ALEF WITH HAMZA ABOVE
0x0624: <int>[0xFE85, 0xFE86], // ARABIC LETTER WAW WITH HAMZA ABOVE
0x0625: <int>[0xFE87, 0xFE88], // ARABIC LETTER ALEF WITH HAMZA BELOW
0x0621: <int>[1569], // ARABIC LETTER HAMZA
0x0622: <int>[1570, 0xFE82], // ARABIC LETTER ALEF WITH MADDA ABOVE
0x0623: <int>[1571, 0xFE84], // ARABIC LETTER ALEF WITH HAMZA ABOVE
0x0624: <int>[1572, 0xFE86], // ARABIC LETTER WAW WITH HAMZA ABOVE
0x0625: <int>[1573, 0xFE88], // ARABIC LETTER ALEF WITH HAMZA BELOW
0x0626: <int>[
0xFE89,
1574,
0xFE8A,
0xFE8B,
0xFE8C
], // ARABIC LETTER YEH WITH HAMZA ABOVE
0x0627: <int>[0xFE8D, 0xFE8E], // ARABIC LETTER ALEF
0x0628: <int>[0xFE8F, 0xFE90, 0xFE91, 0xFE92], // ARABIC LETTER BEH
0x0629: <int>[0xFE93, 0xFE94], // ARABIC LETTER TEH MARBUTA
0x062A: <int>[0xFE95, 0xFE96, 0xFE97, 0xFE98], // ARABIC LETTER TEH
0x062B: <int>[0xFE99, 0xFE9A, 0xFE9B, 0xFE9C], // ARABIC LETTER THEH
0x062C: <int>[0xFE9D, 0xFE9E, 0xFE9F, 0xFEA0], // ARABIC LETTER JEEM
0x062D: <int>[0xFEA1, 0xFEA2, 0xFEA3, 0xFEA4], // ARABIC LETTER HAH
0x062E: <int>[0xFEA5, 0xFEA6, 0xFEA7, 0xFEA8], // ARABIC LETTER KHAH
0x062F: <int>[0xFEA9, 0xFEAA], // ARABIC LETTER DAL
0x0630: <int>[0xFEAB, 0xFEAC], // ARABIC LETTER THAL
0x0631: <int>[0xFEAD, 0xFEAE], // ARABIC LETTER REH
0x0632: <int>[0xFEAF, 0xFEB0], // ARABIC LETTER ZAIN
0x0633: <int>[0xFEB1, 0xFEB2, 0xFEB3, 0xFEB4], // ARABIC LETTER SEEN
0x0634: <int>[0xFEB5, 0xFEB6, 0xFEB7, 0xFEB8], // ARABIC LETTER SHEEN
0x0635: <int>[0xFEB9, 0xFEBA, 0xFEBB, 0xFEBC], // ARABIC LETTER SAD
0x0636: <int>[0xFEBD, 0xFEBE, 0xFEBF, 0xFEC0], // ARABIC LETTER DAD
0x0637: <int>[0xFEC1, 0xFEC2, 0xFEC3, 0xFEC4], // ARABIC LETTER TAH
0x0638: <int>[0xFEC5, 0xFEC6, 0xFEC7, 0xFEC8], // ARABIC LETTER ZAH
0x0639: <int>[0xFEC9, 0xFECA, 0xFECB, 0xFECC], // ARABIC LETTER AIN
0x063A: <int>[0xFECD, 0xFECE, 0xFECF, 0xFED0], // ARABIC LETTER GHAIN
0x0641: <int>[0xFED1, 0xFED2, 0xFED3, 0xFED4], // ARABIC LETTER FEH
0x0642: <int>[0xFED5, 0xFED6, 0xFED7, 0xFED8], // ARABIC LETTER QAF
0x0643: <int>[0xFED9, 0xFEDA, 0xFEDB, 0xFEDC], // ARABIC LETTER KAF
0x0644: <int>[0xFEDD, 0xFEDE, 0xFEDF, 0xFEE0], // ARABIC LETTER LAM
0x0645: <int>[0xFEE1, 0xFEE2, 0xFEE3, 0xFEE4], // ARABIC LETTER MEEM
0x0646: <int>[0xFEE5, 0xFEE6, 0xFEE7, 0xFEE8], // ARABIC LETTER NOON
0x0647: <int>[0xFEE9, 0xFEEA, 0xFEEB, 0xFEEC], // ARABIC LETTER HEH
0x0648: <int>[0xFEED, 0xFEEE], // ARABIC LETTER WAW
0x0649: <int>[0xFEEF, 0xFEF0, 64488, 64489], // ARABIC LETTER ALEF MAKSURA
0x064A: <int>[0xFEF1, 0xFEF2, 0xFEF3, 0xFEF4], // ARABIC LETTER YEH
0x0627: <int>[1575, 0xFE8E], // ARABIC LETTER ALEF
0x0628: <int>[1576, 0xFE90, 0xFE91, 0xFE92], // ARABIC LETTER BEH
0x0629: <int>[1577, 0xFE94], // ARABIC LETTER TEH MARBUTA
0x062A: <int>[1578, 0xFE96, 0xFE97, 0xFE98], // ARABIC LETTER TEH
0x062B: <int>[1579, 0xFE9A, 0xFE9B, 0xFE9C], // ARABIC LETTER THEH
0x062C: <int>[1580, 0xFE9E, 0xFE9F, 0xFEA0], // ARABIC LETTER JEEM
0x062D: <int>[1581, 0xFEA2, 0xFEA3, 0xFEA4], // ARABIC LETTER HAH
0x062E: <int>[1582, 0xFEA6, 0xFEA7, 0xFEA8], // ARABIC LETTER KHAH
0x062F: <int>[1583, 0xFEAA], // ARABIC LETTER DAL
0x0630: <int>[1584, 0xFEAC], // ARABIC LETTER THAL
0x0631: <int>[1585, 0xFEAE], // ARABIC LETTER REH
0x0632: <int>[1586, 0xFEB0], // ARABIC LETTER ZAIN
0x0633: <int>[1587, 0xFEB2, 0xFEB3, 0xFEB4], // ARABIC LETTER SEEN
0x0634: <int>[1588, 0xFEB6, 0xFEB7, 0xFEB8], // ARABIC LETTER SHEEN
0x0635: <int>[1589, 0xFEBA, 0xFEBB, 0xFEBC], // ARABIC LETTER SAD
0x0636: <int>[1590, 0xFEBE, 0xFEBF, 0xFEC0], // ARABIC LETTER DAD
0x0637: <int>[1591, 0xFEC2, 0xFEC3, 0xFEC4], // ARABIC LETTER TAH
0x0638: <int>[1592, 0xFEC6, 0xFEC7, 0xFEC8], // ARABIC LETTER ZAH
0x0639: <int>[1593, 0xFECA, 0xFECB, 0xFECC], // ARABIC LETTER AIN
0x063A: <int>[1594, 0xFECE, 0xFECF, 0xFED0], // ARABIC LETTER GHAIN
0x0641: <int>[1601, 0xFED2, 0xFED3, 0xFED4], // ARABIC LETTER FEH
0x0642: <int>[1602, 0xFED6, 0xFED7, 0xFED8], // ARABIC LETTER QAF
0x0643: <int>[1603, 0xFEDA, 0xFEDB, 0xFEDC], // ARABIC LETTER KAF
0x0644: <int>[1604, 0xFEDE, 0xFEDF, 0xFEE0], // ARABIC LETTER LAM
0x0645: <int>[1605, 0xFEE2, 0xFEE3, 0xFEE4], // ARABIC LETTER MEEM
0x0646: <int>[1606, 0xFEE6, 0xFEE7, 0xFEE8], // ARABIC LETTER NOON
0x0647: <int>[1607, 0xFEEA, 0xFEEB, 0xFEEC], // ARABIC LETTER HEH
0x0648: <int>[1608, 0xFEEE], // ARABIC LETTER WAW
0x0649: <int>[1609, 0xFEF0, 64488, 64489], // ARABIC LETTER ALEF MAKSURA
0x064A: <int>[1610, 0xFEF2, 0xFEF3, 0xFEF4], // ARABIC LETTER YEH
0x0671: <int>[0xFB50, 0xFB51], // ARABIC LETTER ALEF WASLA
0x0677: <int>[0xFBDD], // ARABIC LETTER U WITH HAMZA ABOVE
0x0679: <int>[0xFB66, 0xFB67, 0xFB68, 0xFB69], // ARABIC LETTER TTEH
... ... @@ -140,11 +140,11 @@ const Map<int, dynamic> _ligatures = <int, dynamic>{
0xFE88: 0xFEFA, // ARABIC LIGATURE LAM WITH ALEF WITH HAMZA BELOW FINAL FORM
0xFE8E: 0xFEFC // ARABIC LIGATURE LAM WITH ALEF FINAL FORM
},
// 0xFE8D: <int, dynamic>{
// 0xFEDF: <int, dynamic>{
// 0xFEE0: <int, int>{0xFEEA: 0xFDF2}
// }
// }, // ALLAH
0xFE8D: <int, dynamic>{
0xFEDF: <int, dynamic>{
0xFEE0: <int, int>{0xFEEA: 0xFDF2}
}
}, // ALLAH
};
const List<int> _alfletter = <int>[1570, 1571, 1573, 1575];
... ...
... ... @@ -46,9 +46,9 @@ void main() {
});
test('Arabic Diacritics', () {
final a = ArabicText('السلام', <int>[65249, 65276, 65204, 65247, 65165]);
final a = ArabicText('السلام', <int>[1605, 65276, 65204, 65247, 1575]);
final b = ArabicText('السَلَاْمٌ',
<int>[1612, 65249, 1618, 1614, 65276, 1614, 65204, 65247, 65165]);
<int>[1612, 1605, 1618, 1614, 65276, 1614, 65204, 65247, 1575]);
expect(
arabic.convert(a.original).codeUnits,
... ...