باختصار: "عدّ الأحرف" ليس حرفيًا كما يبدو — قد يكون الرمز التعبيري حرفًا مرئيًا واحدًا لكنه عدة نقاط كود، وما يُعدّ "كلمة" يتغيّر في اللغات التي لا تستخدم مسافات. اختيار العدّاد الخطأ يعطي رقمًا لا يطابق ما تطبّقه المنصة فعليًا. اقرن هذا الدليل مع Word Frequency وRemove Extra Spaces وAI Hidden Characters وText Difference.

تحل أداة Character Counter وعدّادات الكلمات مشكلات مختلفة، والمنصات تطبّق حدودًا مختلفة: تُقاس التغريدة بالأحرف، ويُقاس عدد كلمات مقال بالكلمات، ولا يتنبأ أيّ من الرقمين بالآخر بشكل موثوق.

خلفية تقنية: يحدد تقرير يونيكود لتجزئة النص (UAX #29) كيف يتقسّم النص إلى "عناقيد المحارف الرسومية" (ما يُدركه الشخص كمحرف واحد)، ويغطي مرجع MDN حول Intl.Segmenter واجهة المتصفح التي تنفّذ ذلك بشكل صحيح.

لماذا يكسر الرمز التعبيري عدّ الأحرف الساذج

يبدو رمز العائلة التعبيري (👨‍👩‍👧‍👦) حرفًا واحدًا، لكنه في الواقع أربعة رموز أشخاص منفصلة تربطها محارف وصل بعرض صفري غير مرئية (ZWJ) — يُبلّغ عدّاد ساذج يستخدم .length في JavaScript عن 11 أو أكثر لشيء يراه الشخص رمزًا واحدًا، لأن .length يعدّ وحدات كود UTF-16، لا الأحرف المرئية.

يعدّ عدّاد واعٍ بعناقيد المحارف الرسومية، مبني على Intl.Segmenter، ما سيعدّه الشخص: ذلك الرمز التعبيري نفسه كواحد. هذا هو الفرق بين عدّ أحرف يطابق الحد الفعلي لمنصة ما وآخر يبالغ أو يقلّل بصمت في أي نص يحوي رموزًا تعبيرية أو حروفًا مُشكَّلة أو رموزًا مركّبة.

لماذا يعتمد عدّ الكلمات على اللغة

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

حتى في اللغات المفصولة بمسافات، تتراكم الحالات الحدّية: هل يُعدّ الاختصار الإنجليزي "don't" كلمة واحدة أم كلمتين؟ هل المركّب الموصول بشرطة كلمة أم كلمتان؟ تتخذ أدوات مختلفة قرارات مختلفة، ولهذا قد تُبلّغ نفس الفقرة عن عدد كلمات مختلف حسب العدّاد الذي تثق به.

مطابقة العدّاد لما يُطبَّق فعليًا

  • حدود منشورات وسائل التواصل الاجتماعي (X/Twitter، الرسائل النصية) → عدّ الأحرف، وواعٍ بعناقيد المحارف الرسومية إذا كان النص يحوي رموزًا تعبيرية.
  • الوصف التعريفي، وسوم العنوان → عدّ الأحرف، لأن محركات البحث تقصّ حسب عرض الأحرف/البكسل، لا الكلمات.
  • المقالات، الحد الأدنى لعدد الكلمات في مختصرات المحتوى → عدّ الكلمات.
  • محتوى الصينية واليابانية والتايلاندية → عدّ الأحرف عادة هو المقياس الأكثر دلالة، إذ لا تكون "الكلمات" مُعرَّفة جيدًا بدون فصل بالمسافات.

فحص سريع بالمنطق

إذا كان حد المنصة يُطبَّق بالأحرف، ألصق النص النهائي الدقيق في Character Counter قبل النشر — لا تقديرًا، بل السلسلة الحرفية نفسها، بما في ذلك أي رموز تعبيرية أو علامات ترقيم خاصة، لأن هذا بالضبط حيث تختلف أدوات العدّ الساذجة عمّا يُطبَّق فعليًا. أما إذا كنت تُنقّح باتجاه هدف عدد كلمات، فمرّره عبر عدّاد كلمات، ثم راجع عدّ الأحرف بشكل منفصل إذا كانت المنصة (كوصف تعريفي) تطبّق كليهما.

للنصوص التي تحوي مشكلات تنسيق مخفية تشوّه العدّ أيضًا — مسافات زائدة، علامات يونيكود غير مرئية — نظّفه أولًا بـRemove Extra Spaces أو AI Hidden Characters، ثم عدّ النسخة المنظّفة.