removeDiacritics method
دالة لإزالة التشكيل (الحركات) من النص العربي
Implementation
String removeDiacritics() {
if (isEmpty) return this;
// قائمة التشكيل (الحركات) في العربية
final diacritics = [
'\u064B', // تنوين فتح
'\u064C', // تنوين ضم
'\u064D', // تنوين كسر
'\u064E', // فتحة
'\u064F', // ضمة
'\u0650', // كسرة
'\u0651', // شدة
'\u0652', // سكون
'\u0653', // مد
'\u0654', // همزة فوق
'\u0655', // همزة تحت
];
// إزالة كل الحركات
var result = this;
for (var d in diacritics) {
result = result.replaceAll(d, '');
}
// توحيد المسافات
result = result.replaceAll(RegExp(r'\s+'), ' ').trim();
// تحويل إلى أحرف صغيرة (اختياري)
result = result.toLowerCase();
return result;
}