الأدلة / الحروف الفارسية في النص العربي
الياء والكاف الفارسيتان في النص العربي: لماذا يفشل البحث؟
تبحث عن «علي» في ملف أو قاعدة بيانات فلا تجده، مع أنه أمامك. السبب غالبًا أن الكلمة مكتوبة بياء فارسية، وهي حرف مختلف في Unicode مع أن شكلها قريب جدًا. يشرح هذا الدليل الفرق بين الياء والكاف العربيتين ونظيرتيهما الفارسيتين، والفرق بين الأرقام العربية الهندية والفارسية، ومن أين يأتي هذا الخلط، وكيف تكشفه وتصلحه، ومتى يجب أن تتركه كما هو.
حروف متشابهة في الشكل مختلفة في الترميز
يعطي Unicode كل حرف رقمًا ثابتًا، ولا يعتمد على شكله. الياء العربية والياء الفارسية حرفان مختلفان، وكذلك الكاف العربية والكاف الفارسية. البرامج تقارن هذه الأرقام لا الأشكال، فترى «علي» و«علی» كلمتين مختلفتين، ولا يجد البحث إحداهما عند كتابة الأخرى.
| الحرف | الاسم في Unicode | نقطة الترميز | أين يُستخدم |
|---|---|---|---|
| ي | ARABIC LETTER YEH | U+064A | الياء العربية |
| ى | ARABIC LETTER ALEF MAKSURA | U+0649 | الألف المقصورة، كما في «على» |
| ی | ARABIC LETTER FARSI YEH | U+06CC | الفارسية والأردية ولغات أخرى |
| ك | ARABIC LETTER KAF | U+0643 | الكاف العربية |
| ک | ARABIC LETTER KEHEH | U+06A9 | الفارسية والأردية والسندية |
بحسب معيار Unicode، للياء الفارسية نقطتان تحتها في أول الكلمة ووسطها، ولا نقاط لها في آخر الكلمة أو حين تأتي منفردة. أي أنها تطابق «ي» في أول الكلمة ووسطها، وتطابق «ى» في آخرها. لذلك يقرأ العربي «علی» كأنها حرف الجر «على»، مع أن كاتبها قد يقصد الاسم «علي».
والكاف الفارسية اسمها الآخر في Unicode «كاف مشكولة». في أول الكلمة ووسطها تبدو مثل الكاف العربية في كثير من الخطوط، ويظهر الفرق غالبًا في آخر الكلمة: للكاف العربية علامة صغيرة داخلها، والفارسية دونها. وفي بعض الخطوط يقترب الشكلان حتى لا تفرّق العين بينهما.
الأرقام الفارسية والأرقام العربية الهندية
للأرقام أيضًا مجموعتان منفصلتان في Unicode:
- الأرقام العربية الهندية ٠١٢٣٤٥٦٧٨٩ من U+0660 إلى U+0669. يذكر Unicode أنها تُستخدم مع العربية.
- الأرقام الممتدة ۰۱۲۳۴۵۶۷۸۹ من U+06F0 إلى U+06F9. يذكر Unicode أنها للغات المكتوبة بالحرف العربي في إيران وباكستان والهند، مثل الفارسية والأردية والسندية.
أغلب الأرقام متطابقة الشكل في المجموعتين، والفرق الأوضح عادة في 4 و5 و6: «٤ ٥ ٦» في العربية و«۴ ۵ ۶» في الفارسية. ويذكر Unicode أيضًا أن الأردية ترسم بعض هذه الأرقام بأشكال مختلفة عن الفارسية مع أنها تستخدم نقاط الترميز نفسها. النتيجة أن الرقم «۲۰۲۶» قد يبدو في خطٍّ ما مطابقًا لـ«٢٠٢٦»، لكنهما سلسلتان مختلفتان عند البحث والفرز، وقد لا يعامل بعض الأنظمة الأرقام الفارسية معاملة الأرقام.
من أين يأتي الخلط؟
- لوحات المفاتيح الفارسية والأردية: بحسب صفحات Microsoft لتخطيطات لوحات المفاتيح في Windows، تكتب لوحات Persian وPersian (Standard) وUrdu الياء الفارسية U+06CC والكاف الفارسية U+06A9 من المفاتيح الأساسية، وتكتب لوحة Persian (Standard) الأرقام ۰–۹ من صف الأرقام. من يكتب العربية بإحدى هذه اللوحات يحصل على حروف فارسية دون أن يرى فرقًا.
- نصوص منسوخة من مصادر فارسية أو أردية: أسماء الأعلام والمصطلحات والعناوين المنقولة من مواقع أو ملفات فارسية تحمل حروفها الأصلية.
- الخطوط: كثير من الخطوط العربية يرسم الحروف الفارسية بشكل قريب جدًا من العربية، فلا يبدو شيء غريبًا على الشاشة.
- بيانات من أكثر من مصدر: حين تُجمع سجلات من أنظمة مختلفة، يصبح للاسم الواحد صيغتان أو ثلاث، فيتكرر العميل نفسه في القائمة.
كيف تعرف أن نصك يحتوي حروفًا فارسية؟
لا تعتمد على النظر. استخدم إحدى هذه الطرق:
- اسم كل محرف: الصق النص في كشف المحارف المخفية وفعّل «إظهار جميع المحارف (أول 300)». تظهر قائمة بكل محرف مع موضعه ونقطة ترميزه واسمه الرسمي.
- بطاقة الحرف: الصق الحرف المشكوك فيه في خانة «ابحث بحرف أو اسم أو U+0627» في دليل المحارف. تعرض الأداة اسمه ونقطة ترميزه وطريقة وصله من بيانات Unicode.
- البحث المباشر: انسخ «ی» و«ک» من هذه الصفحة، وابحث عنهما في ملفك أو جدولك. أي نتيجة في نص عربي تعني أن الحروف الفارسية موجودة.
علي علی
- U+0639 · ARABIC LETTER AIN · الموضع 1
- U+0644 · ARABIC LETTER LAM · الموضع 2
- U+064A · ARABIC LETTER YEH · الموضع 3
- U+0020 · SPACE · الموضع 4
- U+0639 · ARABIC LETTER AIN · الموضع 5
- U+0644 · ARABIC LETTER LAM · الموضع 6
- U+06CC · ARABIC LETTER FARSI YEH · الموضع 7
الإعدادات: كشف المحارف المخفية · إظهار جميع المحارف
افتح الأداة: كشف المحارف المخفيةالكلمتان تبدوان متشابهتين، لكن المحرف الثالث في الأولى ARABIC LETTER YEH وفي الثانية ARABIC LETTER FARSI YEH.
ولا يحل التطبيع هذه المشكلة. NFC وNFKC يوحّدان الصيغ المتكافئة في Unicode، والياء الفارسية ليست صيغة أخرى للياء العربية، بل حرف مستقل ليس له تفكيك إلى حرف آخر. لذلك يمر النص في تطبيع Unicode دون أي تغيير:
علی کتاب
علی کتاب
U+0639 U+0644 U+06CC U+0020 U+06A9 U+062A U+0627 U+0628نقاط الترميز بعد
U+0639 U+0644 U+06CC U+0020 U+06A9 U+062A U+0627 U+0628
الإعدادات: تطبيع Unicode · NFKC
افتح الأداة: تطبيع Unicodeتحويل ی وک إلى ي وك خطوة بخطوة
- افتح تنظيف النص، وألصق النص في «النص الأصلي».
- افتح «خيارات إضافية» في آخر لوحة «التحويلات»، وانزل إلى «توحيد الحروف للبحث».
- فعّل «ی ک الفارسيتان ← ي ك العربيتان». يحوّل هذا الخيار حرفين فقط: ی إلى ي، وک إلى ك. لا يغيّر الألف المقصورة «ى»، ولا الحروف الفارسية الأخرى مثل پ وچ وژ وگ.
- راجع «ملخص التغييرات»، فهو يذكر عدد الحروف الفارسية التي تغيّرت. ثم راجع «مقارنة التغييرات» لترى كل حرف قديم مشطوبًا بجانب الجديد.
- انسخ النتيجة أو نزّلها، واحتفظ بالأصل إن كان سيعود إلى مصدره.
اشترى علی کتابا من المکتبة.
اشترى علي كتابا من المكتبة.
الإعدادات: تنظيف النص · خيارات إضافية · ی ک الفارسيتان ← ي ك العربيتان
افتح الأداة: تنظيف النصتحوّلت ثلاثة حروف: الياء في «علی»، والكاف في «کتابا» و«المکتبة». أما «اشترى» فبقيت بألف مقصورة، لأنها مكتوبة بـ«ى» العربية أصلًا.
انتبه إلى الياء في آخر الكلمة
في لوحة المفاتيح الفارسية مفتاح أساسي واحد للياء، وهو يكتب «ی». وفي آخر الكلمة تبدو «ی» مثل «ى» تمامًا، فمن يكتب العربية بهذه اللوحة يكتب «علی» و«إلی» ولا يرى خطأ. الأداة لا تعرف ما قصده الكاتب، فتحوّل كل ی إلى ي:
سافر إلی دبی وجلس علی الکرسی.
سافر إلي دبي وجلس علي الكرسي.
الإعدادات: تنظيف النص · ی ک الفارسيتان ← ي ك العربيتان
افتح الأداة: تنظيف النصالنتيجة صحيحة في «دبي» و«الكرسي»، وخاطئة في «إلي» و«علي»، والصواب هنا «إلى» و«على». بعد التحويل راجع الكلمات المنتهية بالياء، وخاصة الكلمات التي تنتهي عادة بألف مقصورة، مثل على وإلى وحتى ولدى ومصطفى وموسى. صححها يدويًا، أو استخدم «بحث واستبدال حرفي» في الأداة نفسها لعبارة تعرف صوابها.
أما إذا كان الهدف مفتاح بحث فقط، فلا تحتاج إلى حسم القراءة. فعّل «ی ک الفارسيتان ← ي ك العربيتان» مع «ى ← ي»، فتصبح الصيغ الثلاث مفتاحًا واحدًا:
علی على علي
علي علي علي
الإعدادات: توحيد الحروف للبحث · ی ک الفارسيتان ← ي ك العربيتان · ى ← ي
افتح الأداة: تنظيف النصهذه النسخة للفهرس والمطابقة، لا للنشر. التفاصيل في دليل توحيد النص العربي للبحث.
تحويل الأرقام الفارسية
في تنظيف النص افتح «تحويل الأرقام» واختر الشكل المطلوب. يحوّل الخيار كل الأرقام في النص، سواء كانت غربية أو عربية هندية أو فارسية، إلى شكل واحد:
رقم الطلب ۴۵۶۲۷ والمبلغ ۱۲٫۵۰۰ د.ك
رقم الطلب ٤٥٦٢٧ والمبلغ ١٢٫٥٠٠ د.ك
الإعدادات: تنظيف النص · تحويل الأرقام · عربية هندية
افتح الأداة: تنظيف النصاختر «إنجليزية (غربية) — 0123456789» إذا كانت جهتك تكتب الأرقام 123. لاحظ أن الفاصل العشري العربي «٫» يبقى كما هو في الحالتين. إذا حوّلت إلى أرقام غربية، فاستبدله بنقطة بنفسك:
رقم الطلب ۴۵۶۲۷ والمبلغ ۱۲٫۵۰۰ د.ك
رقم الطلب 45627 والمبلغ 12٫500 د.ك
الإعدادات: تنظيف النص · تحويل الأرقام · إنجليزية (غربية)
افتح الأداة: تنظيف النصإذا كان النص يحتوي روابط أو عناوين بريد فيها أرقام، ففعّل «حماية الروابط والبريد عند تحويل الأرقام». وتجد التحويل نفسه في الأرقام حول العالم، مع خيار «حماية الروابط والبريد الإلكتروني» المفعّل افتراضيًا:
هاتف: ۰۹۱۲ ۳۴۵ ۶۷۸۹ - https://example.com/p/۱۲
هاتف: ٠٩١٢ ٣٤٥ ٦٧٨٩ - https://example.com/p/۱۲
الإعدادات: الأرقام حول العالم · arab · حماية الروابط والبريد الإلكتروني
افتح الأداة: الأرقام حول العالموتعرض الأداة نفسها «النظام الافتراضي» و«النظام المحلي» لكل لغة بحسب بيانات CLDR. اختر fa لترى أن الفارسية تستخدم arabext افتراضيًا، واختر ur لترى أن الأردية تستخدم latn افتراضيًا وarabext نظامًا محليًا. لمزيد عن أشكال الأرقام اقرأ دليل الأرقام العربية.
متى لا تحوّل الحروف؟
الياء والكاف الفارسيتان ليستا خطأ في ذاتهما. هما الحرفان الصحيحان في الفارسية والأردية ولغات أخرى. حوّلهما فقط في نص عربي دخلته هذه الحروف بالخطأ.
این کتاب خیلی خوب است.
اين كتاب خيلي خوب است.
الإعدادات: تنظيف النص · ی ک الفارسيتان ← ي ك العربيتان
افتح الأداة: تنظيف النصهذه جملة فارسية سليمة، وبعد التحويل صارت مكتوبة بحروف لا تستخدمها الفارسية. لذلك لا تحوّل:
- النصوص الفارسية والأردية، ولا الاقتباسات منها داخل نص عربي.
- أسماء الأعلام الفارسية أو الأردية حين يجب أن تبقى بإملائها الأصلي، كما في المراجع والوثائق الرسمية.
- نصًا مختلط اللغات دون مراجعة. حوّل الجزء العربي وحده، ثم أعد الأجزاء الأخرى كما كانت.
- ملفًا سيعود إلى مصدر فارسي أو أردي. أنشئ نسخة للبحث، وأبقِ الأصل كما هو.
وتذكّر أن الأردية تستخدم حروفًا أخرى لا يحوّلها الخيار، مثل ے وہ وھ. التحويل لا يجعل النص الأردي عربيًا، بل يتركه خليطًا من الإملاءين.
أسئلة شائعة
لماذا لا يجد البحث كلمة «علي» وهي أمامي في الملف؟
الأرجح أن الكلمة مكتوبة بالياء الفارسية «ی». الصقها في كشف المحارف المخفية مع «إظهار جميع المحارف» لتتأكد، ثم حوّل النص في تنظيف النص أو ابحث بالصيغتين.
هل يحوّل الخيار الألف المقصورة «ى» إلى «ي»؟
لا. يحوّل «ی» و«ک» فقط. لتوحيد «ى» مع «ي» لأغراض البحث فعّل الخيار المستقل «ى ← ي»، واعلم أنه يغيّر الإملاء.
هل يكفي تطبيع NFKC لإصلاح الحروف الفارسية؟
لا. التطبيع يوحّد الصيغ المتكافئة للحرف نفسه، والياء والكاف الفارسيتان حرفان مستقلان في Unicode، فيبقيان كما هما بعد NFC وNFKC.
هل يغيّر الخيار حروفًا فارسية أخرى مثل گ وپ وچ؟
لا. هذه الحروف ليس لها مقابل مباشر في الإملاء العربي المعتاد، فلا تخمّن الأداة بديلًا لها. إذا ظهرت في نص عربي فراجعها يدويًا.
كيف أمنع المشكلة من البداية؟
اكتب العربية بلوحة مفاتيح عربية، واترك اللوحة الفارسية أو الأردية لتلك اللغتين. وإذا كانت البيانات تصل من أكثر من مصدر، فوحّد نسخة البحث عند الاستيراد، واحتفظ بالقيمة الأصلية في عمود منفصل.
الأدوات المستخدمة في هذا الدليل
المصادر
راجعنا هذه الصفحات عند كتابة الدليل وتحديثه.
Unicode 18.0 code chart: Arabic (U+0600–U+06FF) ↗Unicode 18.0 names list (chart annotations) ↗The Unicode Standard 18.0, Chapter 9: Arabic ↗Unicode Standard Annex #15: Normalization forms ↗Microsoft Learn: Persian (Standard) keyboard layout ↗Microsoft Learn: Persian keyboard layout ↗Microsoft Learn: Urdu keyboard layout ↗Unicode CLDR JSON 48.2.3: locale numbering systems ↗