النص الذي لم تكتبه بيدك يحوي في الغالب محارف لا تراها. تأتي من برامج معالجة النصوص، ومن النسخ من صفحة ويب أو من PDF، ومن أنظمة إدارة المحتوى التي ترتّب مسافاتك خدمةً لك، وبصورة متزايدة من أي شيء ولّد لك نصًّا.
لا تشغل عرضًا مرئيًّا، أو تشغل عرض مسافة بالضبط، وتُقارَن محارف مختلفة لدى كل ما يقارن المحارف. هذا الاجتماع هو ما يجعلها مكلفة: العَرَض لا يشبه السبب أبدًا.
التي تظهر فعلًا
المسافة غير الفاصلة (U+00A0). أكثرها شيوعًا بفارق كبير. تبدو مسافة تمامًا وليست مسافة. Word يدرجها، وأدوات النشر على الويب تدرجها، والنسخ من صفحة معروضة يجلبها معك. كل بحث بمطابقة تامّة، وكل مقارنة سلاسل، وكل مستورد CSV يعاملها محرفًا مختلفًا.
مسافة العرض الصفري (U+200B). بلا عرض إطلاقًا. تجلس داخل الكلمة، وتقسمها نصفين في نظر أي بحث، ولا تُظهر شيئًا. تدخلها كثيرًا أنظمة أرادت السماح بكسر سطر عند نقطة بعينها.
علامة ترتيب البايتات (U+FEFF). مكانها أول الملف تمامًا لتعلن ترميزه، وكثيرًا ما تنتهي في وسطه بعد وصل ملفات ببعضها. حين تكون أول محرف في ملف CSV تفسد عنوان العمود الأول، ولهذا يكون العمود الأول هو الذي يرفض الارتباط في أغلب الأحيان.
الشرطة اللّيّنة (U+00AD). اقتراح لموضع كسر الكلمة إن احتاجت الكسر. غير مرئية حين لا تُحتاج، وموجودة داخل الكلمة على الدوام مع ذلك.
علامات الاتّجاه (U+200E وU+200F). تتحكّم في طريقة جلوس النص من اليسار إلى اليمين والنص من اليمين إلى اليسار معًا. ضرورية في الكتابة مختلطة الاتّجاه، ومربكة في كل مكان آخر.
واصل العرض الصفري وفاصله (U+200D وU+200C). يتحكّمان في اتّصال الحروف المتجاورة. هما أيضًا الغراء داخل متتاليات الإيموجي، ولهذا يصير إيموجي متعدّد الأشخاص عدّة أشخاص منفصلين حين يُنظَّف النص بلا انتباه.
الذي ليس نفاية
يستحق هذا وقفة قبل أن تمدّ يدك إلى منظّف، لأن معظم النصائح في هذا الباب مكتوبة كأن كل محرف غير مرئي عيب.
في الفارسية والعربية وعدّة كتابات هندية، فاصل العرض الصفري جزء حقيقي من نظام الكتابة. يمنع حرفين من الاتّصال حيث كانا سيتّصلان، وحذفه يغيّر الكلمة — لا تنسيقها، بل الكلمة. علامات الاتّجاه حاملة للمعنى مثله في أي نص يخلط العربية أو العبرية بالحروف اللاتينية أو بالأرقام.
فالقاعدة ليست «احذف كل غير مرئي». بل هي: احذف بسعة في النثر الإنجليزي، وفي الشفرة، وفي ملفات البيانات، واحذف انتقائيًّا في ما عداها. المنظّف الذي يدعك تختار يُسدي إليك معروفًا حتى حين يبدو أداة أكثر تطلّبًا.
من أين تأتي
برامج معالجة النصوص. مسافات غير فاصلة حول علامات الترقيم، وشرطات ليّنة من كسر الكلمات، ومسافات غير فاصلة تربط الأرقام بوحداتها.
النسخ من صفحة ويب. ترث كل ما احتوته الصفحة، ومنه كل أدرجه كاتبها أو نظام إدارة المحتوى.
النسخ من ملف PDF. يجلب هذا مشكلته الخاصّة — كسور الأسطر — المشروحة في النسخ من ملف PDF بلا كسور الأسطر.
النص المولَّد. مخرجات نموذج لغوي تحمل عادةً مسافات غير فاصلة، وأحيانًا محارف عرض صفري. هذا موروث من النص الذي تعلّم منه لا مُدرَج عمدًا، ويستحق الأمر دقّة في ما يدلّ عليه وما لا يدلّ: هو سبب لتنظيف النص، وليس اختبارًا لمعرفة هل كتبه إنسان. كل منسوخ من صفحة ويب يحمل المحارف نفسها.
ما الذي يتعطّل، ولماذا يكون العَرَض مضلّلًا دائمًا
البحث لا يجد شيئًا مع أن الكلمات ظاهرة للعين. هناك مسافة غير فاصلة حيث في استعلامك مسافة عادية.
سلسلتان تبدوان متطابقتين تُقارَنان مختلفتين. مزيل التكرار يبقي كلتيهما. البحث عن قيمة يفشل. كلمة مرور تُرفض بعد لصقها.
الترتيب يخرج خاطئًا. محرف عرض صفري في البداية يُرتَّب قبل كل حرف، فيقفز مُدخَل واحد إلى رأس قائمة أبجدية فيما عداه.
الشفرة ترفض العمل مع خطأ يشير إلى سطر يبدو سليمًا تمامًا. مسافة عرض صفري داخل معرّف غير مرئية في كل محرّر لا يبحث عنها.
عمود CSV يرفض الارتباط، وهو الأول عادةً، وسببه علامة ترتيب البايتات.
في كل حالة يقول الدليل المرئي إن النص سليم، فيذهب الوقت في إعادة فحص المنطق. فحص البايتات أولًا عادة تستحق أن تكتسبها.
كيف تجدها
أسرع فحص لا يحتاج أداة: حدّد النص المشتبه به وراقب تظليل التحديد. محرف العرض الصفري يظهر شريحة رفيعة من التظليل حيث لا حرف. عُدّ المحارف وقارنها بما تتوقّع — عدّاد يبلّغ بمحارف أكثر ممّا ترى يخبرك أن هناك شيئًا.
لمعرفة ما هو وأين بالضبط، تفصيل التكرار يسرد كل محرف مميّز في النص مع عدده. كل ما لا تعرفه في تلك القائمة يستحق أن تبحث عنه قبل أن تقرّر ما تفعله به.
كيف تحذفها
منظّف المسافات يتولّى الحالة العادية: تحويل المسافات غير الفاصلة إلى عادية، وإسقاط محارف العرض الصفري، ودمج تتابعات المسافات، وقصّ أطراف الأسطر. هذا الوضع الافتراضي الصحيح للنثر الإنجليزي وللبيانات.
لمحرف بعينه، البحث والاستبدال بتعبير نمطي أدقّ، والنمط يستحق المعرفة: [\u200B-\u200D\uFEFF] يطابق عائلة العرض الصفري وعلامة ترتيب البايتات، و\u00A0 يطابق المسافة غير الفاصلة تحديدًا. مكتوبة رموزًا هاربة لا محارف نفسها — فالنمط الذي يحوي مسافة عرض صفري حقيقية نمط لا يستطيع أحد قراءته أو نسخه صحيحًا، وتلك هي المشكلة نفسها بدرجة أعلى.
افعل ذلك في المتصفّح بدل اللصق في موقع يعالجه، لسبب خاصّ هنا: النص الذي يحتاج الناس إلى تنظيفه أكثر من غيره هو نص كان يتعطّل في مستند يهمّهم.
الخلاصة
حين يحدث للنص شيء مستحيل — بحث يفشل على كلمات ظاهرة، أو مقارنة تخالف عينيك — افحص المحارف غير المرئية قبل أن تفحص أي شيء آخر. هي السبب في الغالب الأعمّ، وهي آخر ما يجرّبه أحد في الغالب الأعمّ.
نظّف بشدّة في الإنجليزية وفي البيانات. نظّف انتقائيًّا في كل مكتوب بكتابة تؤدّي فيها المحارف غير المرئية عملًا.