عنوانك العربي ليس تالفاً — المتجر يقرؤه في اتجاه آخر

•8 دقيقة قراءة•كل رقم موثّق المصدر

حين يصل عنوان عربي أو فارسي أو أردي إلى متجر والقوس على الجهة الخطأ، أو نسبة "feat." مدفوعة إلى أقصى الطرف، أو رقم كتالوج يطفو في غير موضعه، فلا شيء قد تلف. البايتات التي كتبتها هي في الغالب الأعم البايتات التي وصلت. ما تغيّر هو الاتجاه الأساسي للصندوق الذي يُرسم النص داخله، وهذا تقرره صفحة المتجر لا عنوانك أنت. وهذا المقال يشرح الآلية بدقة تكفي لتتنبأ بأيّ عناوينك سينكسر قبل أن تسلّمه.

وأمر ينبغي قوله في المقدمة، لأنه الموقف الصادق: لا نعلم بوجود أي قياس منشور لمعدلات الخطأ في بيانات وصفية بالخط العربي في أي مكان من هذه الصناعة. المشكلة يعيشها الجميع ولم يقسها أحد. ولن يرد أدناه أي رقم، لأنه لا يوجد رقم يُذكر.

الترتيب المنطقي وترتيب العرض شيئان مختلفان

يخزّن يونيكود النص في الترتيب المنطقي — أي الترتيب الذي تنطقه به وتكتبه به وتقرؤه به بصوت عالٍ. أما ترتيب العرض فيُحسب من ذلك لحظة الرسم، بواسطة خوارزمية يونيكود ثنائية الاتجاه المعرَّفة في Unicode Standard Annex #9 (UAX #9). والملحق صريح في هذا الفصل: "The Unicode Standard prescribes a memory representation order known as logical order"، و"When working with bidirectional text, the characters are still interpreted in logical order—only the display is affected."

وتلك الجملة وحدها تفسّر الظاهرة التي تجعل فناني الخط العربي يظنون أن بياناتهم الوصفية مسكونة: النص المخزَّن قد يكون سليماً تماماً والعرض خاطئاً، وقد يكون العرض سليماً بصرياً والبايتات المخزَّنة خاطئة — وعلى الشاشة يبدو الخللان متطابقين. لا يمكنك تدقيق هذا بالنظر. ولا يستطيعه موظف الدعم لدى موزّعك أيضاً.

لماذا يتحرّك مقطع لاتيني داخل نص من اليمين إلى اليسار

يمنح UAX #9 كل محرف نوعاً ثنائي الاتجاه. الحروف العربية والفارسية والأردية من نوع AL (حروف عربية من اليمين إلى اليسار). والحروف اللاتينية L. والأرقام اللاتينية EN (رقم أوروبي)، والأرقام العربية-الهندية AN (رقم عربي). أما المسافات ومعظم علامات الترقيم — بما فيها الأقواس والأقواس المعقوفة والشرطة والنقطة — فهي محايدة، أي لا اتجاه لها في ذاتها وترث اتجاهها مما حولها.

مجموعتا قواعد هما مصدر الضرر.

اتجاه الفقرة، القاعدتان P2–P3. تمسح الخوارزمية بحثاً عن أول محرف اتجاهي قوي وتحدّد الاتجاه الأساسي منه. فالعنوان الذي يبدأ بكلمة لاتينية يأخذ اتجاهاً من اليسار إلى اليمين حتى لو كان كل ما بعده فارسياً.

تسوية المحايدات، القاعدتان N1–N2. القاعدة N1: "A sequence of [neutrals] takes the direction of the surrounding strong text if the text on both sides has the same direction." والقاعدة N2: المحايدات التي لا توافق حولها تأخذ اتجاه الفقرة. ثم تعيد القاعدة L2 الترتيب للعرض — "reverse any contiguous sequence of characters that are at that level or higher."

اجمع هذه معاً فتجد أن الخلل حتميّ لا عشوائي. فالمقطع اللاتيني — اسم مُعيد المزج، أو feat.، أو Vol. 2، أو رقم كتالوج، أو سنة — يقع على مستوى تضمين مختلف عن العربية المحيطة به. والمحايدات على حدوده (المسافة، وقوس الفتح) لها عربية من جهة ولاتينية من الجهة الأخرى، فلا تجد N1 توافقاً وتسلّمها N2 اتجاه الفقرة. فالقوس الذي استقرّ في اتجاه داخل محرّرك الذي يكتب من اليمين إلى اليسار يستقر في الاتجاه الآخر على صفحة متجر تكتب من اليسار إلى اليمين، فينفصل القوس وينقلب.

إذن نام آهنگ (Nima Remix) ليس مكسوراً. هو نص واحد يُسوّى في سياقين. الاتجاه الأساسي سياق لا محتوى، وسياق المتجر ليس سياقك.

الأمر الوحيد الذي يجب ألا تفعله أبداً

لا "تصلح" العرض بكتابة المحارف بالمقلوب حتى تبدو المعاينة صحيحة.

فذلك ينتج نصاً خاطئاً في الترتيب المنطقي، صحيحاً في سياق عرضٍ واحد بالضبط، ومكسوراً في كل ما عداه — بما في ذلك البحث والفرز ومطابقة الفنان وكل متجر تختلف صفحته في اتجاهها الأساسي عن الأداة التي أصلحته فيها. ستكون قد حوّلت مشكلة عرض، وهي قابلة للاسترجاع، إلى مشكلة بيانات، وهي غير قابلة له.

ويعرّف UAX #9 بالفعل محارف للتحكم في هذا صراحةً: العوازل LRI, RLI, FSI and PDI، والعلامات LRM, RLM and ALM. وهي الإصلاح الصحيح تقنياً. وهي أيضاً محارف تنسيق غير مرئية، وكثير من مسارات التسليم تحذف محارف التنسيق غير المرئية دون أن تخبرك. فعامِلها على أنها غير موثوقة داخل حقل بيانات وصفية.

الحل البنيوي: أخرِج المقطع اللاتيني من المنتصف

الحل الذي ينجح في كل مكان، وفي كل محرّك عرض، وبلا محارف غير مرئية، هو حل بنيوي. وبترتيب الأفضلية:

  • استعمل حقولاً منفصلة بدل النصوص مختلطة الاتجاه حيثما أتاح نموذج البيانات ذلك. الفنان الضيف مكانه في مستوى دور الفنان، لا في العنوان. ودليل Music Metadata Style Guide الصادر عن Music Biz ينصح بنسب الفنانين الضيوف على مستوى دور الفنان وبعدم إضافة تلك البيانات إلى عنوان المقطوعة أو عنوان إصدارة الألبوم؛ وإرشادات Spotify العلنية تقول "You shouldn't include any artists' names in your track or release titles." والنسخة مكانها حقل النسخة، الذي وظيفته كلها التمييز بين تسجيلين يشتركان في عنوان واحد. وكل مقطع لاتيني تنقله إلى حقله الخاص هو حدّ ثنائي الاتجاه يتوقف عن الوجود.
  • أبقِ أي مقطع لاتيني لا مفرّ منه خارج الموضع الأول. فالموضع الأول هو ما يحدّد اتجاه الفقرة بموجب P2–P3. والعنوان الفارسي الذي يفتتح بكلمة لاتينية هو فقرة من اليسار إلى اليمين تحتوي فارسية، وليس هذا ما قصدته.
  • تجنّب علامات الترقيم الزخرفية عند حدود الاتجاه. فالشرطات والشرطات المائلة والخطوط العمودية والأقواس المتراكبة كلها محايدات تقع في المواضع التي تملك فيها الخوارزمية أقل قدر من المعلومات.

وحيث يشترط عقدٌ فعلاً وجود النسبة داخل العنوان، فالأعراف مستقرة وتستحق الاتّباع حرفياً. تقول Music Biz عن "feat." و"with": "when included in the title are generally lowercase and in English." ويقول دليل أسلوب Apple: "Formatting of 'feat.' and 'with' must be lowercase, in English, not localized, and in parentheses or brackets." وعبارة "not localized" تؤدي عملاً حقيقياً هنا — لا تترجم "feat." إلى العربية أو الفارسية أو الأردية داخل حقل عنوان. فهي رمز يقرؤه الحاسوب، لا كلمة.

الأرقام، ولماذا قد لا تكون أرقامك هي ما تظن

ثلاث مجموعات أرقام في الميدان:

المجموعةنقاط الترميزتُستعمل فيصنف ثنائي الاتجاه
ASCII0–9كل مكانEN
العربية-الهنديةU+0660–U+0669 (٠١٢٣٤٥٦٧٨٩)العربيةAN
العربية-الهندية الممتدةU+06F0–U+06F9 (۰۱۲۳۴۵۶۷۸۹)الفارسية والأرديةEN

هذه ليست صيغاً جمالية متبادلة. هي نقاط ترميز مختلفة، وبحسب قاعدة بيانات محارف يونيكود لا تشترك حتى في الصنف ثنائي الاتجاه. والقاعدة W2 في UAX #9 تعيد تصنيف الرقم الأوروبي رقماً عربياً حين يكون أقرب محرف قوي سابق حرفاً عربياً، فتتصرف المجموعتان تصرفاً متشابهاً داخل النص الفارسي لحظة العرض — لكن أبداً في الفرز أو البحث أو مقارنة النصوص، لأنها محارف مختلفة. فـ "Vol. 2" مكتوبة بـ ۲ عربية-هندية ممتدة و"Vol. 2" مكتوبة بـ 2 من ASCII نصّان مختلفان يبدوان متطابقين تقريباً.

اختر مجموعة أرقام واحدة لكتالوجك كله ولا تخلط بين المجموعات داخل نص واحد أبداً.

كيف تتحقق مما كتبته فعلاً

لا يمكن الوثوق بالعرض، فتحقق من البايتات. وثلاثة أمور تستحق أن تُفعل قبل كل تسليم:

  1. اقرأ النص كنقاط ترميز، لا كأشكال حروف. فأي أداة تعرض لك قيم U+ ستخبرك فوراً إن كانت هذه ياءً فارسية ی (U+06CC) أم ياءً عربية ي (U+064A)، وكافاً فارسية ک (U+06A9) أم كافاً عربية ك (U+0643) — وهو فرق تطمسه معظم الخطوط ولا يراه أي مدقّق. وينطبق الأمر نفسه على تطويل شارد (U+0640)، لا يزيله أي شكل تطبيع في يونيكود، وعلى فاصل عديم العرض (U+200C) ابتلعه حقل استمارة بصمت.
  2. الصق العنوان في سياق من اليسار إلى اليمين وفي سياق من اليمين إلى اليسار وقارن. فإن استقرت علامات الترقيم على نحو مختلف بينهما، فلديك نص مختلط الاتجاه ومقطع لاتيني ينبغي أن يكون في حقله الخاص.
  3. قارنه بإصدارتك السابقة، محرفاً محرفاً، لا بالنظر. فالكتالوجات المنقسمة بالخط العربي سببها في الغالب الأعم فرق غير مرئي: إصدارة كُتبت بتخطيط لوحة مفاتيح فارسية، والتي تليها بتخطيط عربي.

أدوات Mazufa تعمل داخل متصفحك بالكامل — لا يُرفع أي ملف صوتي ولا أي نص — وهي تضبط dir="rtl" تلقائياً حين يكون العنوان من اليمين إلى اليسار، فيطابق ما تراه أثناء الكتابة السياق الذي كُتب النص من أجله. ويستضيف mazufa.com كذلك مدقّق بيانات وصفية مجانياً يعمل على جهازك أنت ويشير إلى عدد من الحالات غير المرئية: خلط مجموعات الأرقام، والتطويل، وفاصل ZWNJ الشارد أو الناقص، والياء والكاف العربية مقابل الفارسية، والنصوص غير المطبَّعة بصيغة NFC.

ماذا تفعل قبل التسليم

خذ عنوان إصدارتك التالية واسم الفنان وافعل أربعة أمور. انقل كل مقطع لاتيني تستطيع نقله إلى حقله الخاص — الفنانون الضيوف إلى دور الفنان، والنسخ إلى حقل النسخة. وتأكد ألا يبدأ شيء بكلمة لاتينية. ووحّد مجموعة أرقامك واحذف أي تطويل. ثم اقرأ النص كنقاط ترميز مرة واحدة، واحفظ ذلك النص بعينه بوصفه الكتابة المعتمدة التي ستعيد استعمالها في كل إصدارة قادمة، دون إعادة كتابته.

وإن بقي عنوان مضطراً إلى حمل مقطع لاتيني في منتصفه، فسلّمه واقبل أنه سيُعرض عرضاً مختلفاً في أماكن مختلفة. فتلك نتيجة عرض لا ضرر. النص صحيح. وإعادة كتابته بالمقلوب لتبدو معاينة واحدة صحيحة هي الطريقة الوحيدة لجعله خاطئاً حقاً.

المصادر

  • Unicode Standard Annex #9, Unicode Bidirectional Algorithm (Revision 51, Unicode 17.0.0, 2025-08-13) — https://www.unicode.org/reports/tr9/
  • Unicode Standard Annex #15, Unicode Normalization Forms (Version 57, Unicode 17.0.0, 2025-07-30) — https://www.unicode.org/reports/tr15/
  • Unicode Character Database — character properties: bidirectional class, decomposition mappings — https://www.unicode.org/ucd/
  • Music Business Association, Music Metadata Style Guide v2.1 — https://www.musicbiz.org/wp-content/uploads/2016/04/MusicMetadataStyleGuide_V2.1.pdf
  • Apple Music Style Guide — https://help.apple.com/itc/musicstyleguide/en.lproj/static.html
  • Spotify for Artists, Music metadata guidelines — https://support.spotify.com/us/artists/article/metadata-formatting-guidelines/

يذكر مرجعنا تواريخ الإصدارات والمراجعات لهذه الوثائق كما هي مدرجة أعلاه، ولا يسجّل لها تاريخ قراءة منفصلاً.

أدوات مجانية

كل أداة تبنيها Mazufa تعمل داخل متصفحك، بلا تكلفة، وبلا حاجة إلى حساب.

افتح مجموعة الأدوات ⇥