كم حرفاً في النص العربي؟ دليل SMS والتغريدة ووقت القراءة
كم حرفاً في النص العربي حقاً؟ دليل يشرح التشكيل والإيموجي ونقاط الشفرة، وسبب حد الرسالة العربية 70 حرفاً، وحد التغريدة، ووقت القراءة والنطق، وطول عنوان SEO.
«كم حرفاً في هذا النص؟» سؤال له ثلاث إجابات صحيحة
تبدو المسألة بسيطة حتى تضع الإيموجي «👨👩👧👦» في السطر. عينك تراه صورة واحدة لعائلة. خاصية طول السلسلة الشائعة في جافاسكربت ترى 11 وحدة UTF-16. أما محرّك هذا الموقع فيرى 7 نقاط شفرة: 4 رموز أشخاص و3 روابط خفية صفرية العرض تجمعهم في رسم واحد. لا أحد من هذه الأجوبة «خطأ»؛ كل جواب يقيس طبقة مختلفة. الخطأ الحقيقي هو أن تقول «حرف» من غير أن تحدد هل تقصد ما تراه العين، أم ما تخزنه الذاكرة، أم نقاط يونيكود، أم وحدة الفوترة التي تعتمدها منصة بعينها.
اختار محرك إحصاءات النص الحل الأوسط: نقاط الشفرة عبر Array.from. هذا أنفع من طول UTF-16 في التعامل مع رمز بسيط خارج المستوى الأساسي، لكنه لا يدّعي أنه عدّ للعناقيد المرئية ولا محاكاة كاملة لكل منصة. الهلال «🌙» يتفق فيه الإنسان والمحرك على 1، بينما تكشف العائلة المركبة الفروق بوضوح:
| العينة | ما يظهر | رؤية الإنسان | وحدات UTF-16 | نقاط الشفرة في المحرك |
|---|---|---|---|---|
| هلال | 🌙 | رمز مرئي واحد | 2 | 1 |
| عائلة مركبة | 👨👩👧👦 | رمز مرئي واحد | 11 | 7 |
النتيجة العملية: لا تنقل رقماً من برنامج إلى آخر وتفترض أن الخلاف عطل. اسأل أولاً عن وحدة القياس. نموذج حكومي قد يقصد محارف بعد حذف المسافات، وشبكة اجتماعية قد تستخدم أوزاناً خاصة، وبوابة رسائل قد تحاسب وحدات الترميز، ومحرر نص قد يعرض وحدات UTF-16. وفي النص العربي توجد طبقة إضافية شديدة الأثر لا يلاحظها القارئ عادةً: علامات التشكيل.
التشكيل يُحسب حروفاً، وقد يستهلك خُمس رسالة عربية
الفتحة والضمة والكسرة والسكون والشدّة ليست ألواناً يرسمها الخط فوق الحرف ثم تختفي رقمياً؛ كل علامة منها نقطة شفرة مستقلة تلي الحرف الأساسي. لذلك يعطي المحرك «بسم الله» عدد كلمات ثابتاً هو 2، لكنه يرفع عدد المحارف من 8 إلى 12 عند كتابة «بِسْمِ اللهِ». الكلمات لم تزد، والمعنى المرئي لم يضف كلمة، لكن السلسلة حملت 4 علامات إضافية.
الفارق أوضح في البسملة: «بسم الله الرحمن الرحيم» طولها 22 نقطة شفرة، والنسخة «بِسْمِ اللهِ الرَّحْمَنِ الرَّحِيمِ» طولها 35. أي إن الضبط أضاف 13 علامة، تساوي نحو 19% من سعة المقطع العربي الأول البالغة 70 حرفاً. قد تكون العلامات لازمة في تعليم القراءة أو رفع اللبس، لكنها في تنبيه آلي معروف الصياغة قد تنفق مساحة وفاتورة بلا حاجة. اقرأ دليل الحركات ويونيكود إن كان قرار الإبقاء لغوياً، أو جرّب إزالة التشكيل على نسخة محفوظة إذا كان هدفك تقليل طول رسالة.
| الحالة | النص | الكلمات | المحارف مع المسافات | من دون المسافات |
|---|---|---|---|---|
| عبارة قصيرة بلا تشكيل | بسم الله | 2 | 8 | 7 |
| العبارة نفسها بالتشكيل | بِسْمِ اللهِ | 2 | 12 | 11 |
| البسملة بلا تشكيل | بسم الله الرحمن الرحيم | 4 | 22 | 19 |
| البسملة مضبوطة بالكامل | بِسْمِ اللهِ الرَّحْمَنِ الرَّحِيمِ | 4 | 35 | 32 |
مع المسافات أم بدونها؟ سؤال آخر يغيّر الرقم
يعرض المحرك قيمتين لأن السياقات لا تتفق. «المحارف مع المسافات» تعد كل نقطة شفرة في السلسلة، بما فيها الفراغ بين كلمتين وفواصل الأسطر والتبويبات. هذا هو الرقم الأقرب إلى قيود النشر التي تستهلك فيها المسافة موضعاً. أما «بدون المسافات» فينشئ المحرك نسخة يحذف منها كل ما يطابق \s، ثم يعد نقاط الشفرة الباقية. لذلك لا يحذف الفراغ العادي فقط، بل كذلك التبويب ونهاية السطر وأنواع المسافات البيضاء التي تتعرف إليها جافاسكربت.
في «بسم الله» الفرق بين الرقمين هو 1: الطول الكامل 8، ومن دون المسافات 7. لكن حذف المسافات لأغراض الإحصاء لا يعني أن علامات الترقيم أو التطويل أو التشكيل تختفي؛ الفاصلة والنقطة والشرطة والحركة كلها باقية لأنها ليست مساحة بيضاء. لذلك إذا طلب نموذج «عدد الأحرف دون الفراغات» فهذه القيمة مناسبة، أما إذا طلب «الحروف الأبجدية فقط» فذلك تعريف ثالث لا ينفذه هذا المؤشر، ويلزمك معرفة هل تستبعد الأرقام والرموز والتشكيل أيضاً.
ولا تخلط بين حذف المسافات من العدّ وحذفها من النص نفسه. المسافة تحمل معنى وفصلاً بين الكلمات، وإزالتها فعلياً قد تجعل النص غير مقروء أو تغيّر الرابط. احتفظ بالنص كما هو، واختر العمود الذي يطابق تعليمات الجهة. إن لم تقل الجهة شيئاً، فالأكثر أماناً في حدود الحقول والمنصات هو العدد الشامل للمسافات.
لماذا الرسالة العربية 70 حرفاً، واللاتينية 160؟
يحمل مقطع SMS تقليدي 140 بايت. حين تتكون الرسالة من مجموعة GSM-7 يمكن حزم المحرف في سبع بتات، فتتسع الرسالة الأولى عادةً لـ160 محرفاً. العربية ليست ضمن تلك المجموعة؛ لذلك ينتقل النص إلى UCS-2 ذي 16 بت، فتنخفض السعة الأولى إلى 70. الأهم أن الترميز قرار للرسالة كلها: إدخال حرف عربي واحد في نص لاتيني لا يستهلك «مساحة أكبر» وحده، بل قد يحوّل السلسلة كاملة من GSM-7 إلى UCS-2 ويهبط سقفها من 160 إلى 70.
وعندما تتجاوز الرسالة المقطع الأول لا تكون القسمة البسيطة على 70 دقيقة دائماً. الرسائل المتسلسلة تحتاج رأس بيانات صغيراً كي يعيد هاتف المستلم جمع الأجزاء، فتقل السعة المتاحة في كل جزء عربي متصل عادةً. كما قد تتعامل البوابات مع الإيموجي خارج المستوى الأساسي بوحدتي ترميز. لهذا يصلح عدّ نقاط الشفرة إنذاراً مبكراً، لكنه لا يغني في حملة تجارية عن معاينة الترميز وعدد المقاطع داخل مزود الرسائل نفسه. التكلفة تُحسب غالباً على المقاطع المرسلة، لا على الفقاعة الواحدة التي يراها المستلم.
وللرقم وجهٌ عمليّ يستحق الحفظ: المقطع 140 بايت، ورأسُ الربط يأخذ 6 منها، فيبقى 134 بايتاً — أي 67 محرفاً لا 70 في كل جزءٍ من رسالةٍ متسلسلة. والفخُّ الذي يوقع الناس أن يقسموا على 70: رسالةٌ طولها 140 محرفاً — أي ضِعفُ الحدّ المعلن بالتمام — تبدو مقطعين، وهي في الواقع 3 مقاطع بحساب 67 — أي فاتورةٌ أعلى بالنصف على حملةٍ كاملة. القاعدة إذن: 70 سقفُ الرسالة التي تبقى مقطعاً واحداً، فإن تجاوزتها فالقسمة على 67.
قاعدة توفير عملية: اختبر النسخة النهائية بعد دمج اسم العميل والرابط ورمز التحقق، لا القالب الفارغ. واحذف التشكيل والزخارف غير اللازمة فقط بعد التأكد من بقاء المعنى واضحاً؛ فقد ينقلك محرف واحد من مقطع مدفوع إلى مقطعين.
ما الكلمة في نظر المحرك؟ الفراغ هو الحكم
لا يجري المحرك تحليلاً صرفياً، ولا يسأل هل الواو حرف عطف ملتصق أو هل الضمير لاحقة. تعريفه أبسط وقابل للتنبؤ: يبحث عن كل تتابع يطابق \S+، أي كل سلسلة غير فارغة بين مسافتين أو فاصلين أبيضين. لهذا تبقى «عبد-الله» كلمة واحدة؛ فالشرطة ليست فراغاً. وفي «1500 ريال — فقط» تصبح الشرطة الطويلة المحاطة بفراغين كلمة مستقلة. أما أربعة فراغات أو تبويبان متتاليان فلا يصنعان كلمات فارغة بينهما؛ كلها فاصل واحد من ناحية النتيجة.
| العينة | عدد الكلمات | سبب النتيجة |
|---|---|---|
| عبد-الله | 1 | كل تتابع غير فارغ بين فاصلين من المسافات يُعد كلمة |
| 1500 ريال — فقط | 4 | كل تتابع غير فارغ بين فاصلين من المسافات يُعد كلمة |
| أ ب⇥⇥ج | 3 | كل تتابع غير فارغ بين فاصلين من المسافات يُعد كلمة |
هذا التعريف ليس قاموساً لغوياً، لكنه ممتاز للمقارنة المتسقة بين مسودات المقال أو البحث أو النص الصوتي. إن كانت جهة تسليمك تستخدم Microsoft Word أو نظام نشر يجزّئ الشرطات بطريقة أخرى فقد ترى فرقاً صغيراً؛ عندها اعتمد أداة الجهة في الرقم النهائي، وثبّت الأداة نفسها طوال المشروع. «عدد الكلمات» اتفاق تشغيلي بقدر ما هو حقيقة لغوية.
السطر والفقرة ليسا الشيء نفسه
السطر في المحرك بنية حرفية: كل نهاية سطر تبدأ سطراً جديداً، سواء امتلأ السطر بكلمات أم كان فارغاً. لهذا قد يزيد عدّ الأسطر حين يضغط الكاتب Enter مرتين ليصنع فراغاً بصرياً. أما التفاف السطر الذي يرسمه المتصفح تلقائياً لأن الشاشة ضيقة فلا يوجد داخل النص، فلا يدخل في الإحصاء. إذا وسّعت النافذة وتغير شكل الأسطر أمامك فلن يتغير الرقم؛ الذي يهم هو فاصل السطر المخزن فعلاً.
الفقرة أكثر دلالة: يقسمها المحرك عند سطر فارغ، أي عند فاصلين من نهايات الأسطر بين كتلتين، ثم يهمل الكتل الخالية. الضغط مرة واحدة ينقل الكتابة إلى سطر جديد داخل الكتلة نفسها، والضغط مرتين يبدأ فقرة جديدة. هذا تعريف شائع في النص الخام وMarkdown، لكنه قد يختلف عن محرر مرئي يخزن كل ضغطة Enter كفقرة HTML مستقلة. لذلك لا تستنتج من عدد الأسطر عدد الفقرات، ولا من الفقرات عدد الجمل؛ كل مؤشر يقرأ بنية مختلفة.
لماذا «،» لا تنهي جملة؟
يقسم المحرك النص عند النقطة وعلامة التعجب وعلامتي الاستفهام العربية واللاتينية وعلامة الحذف. لا يقسمه عند الفاصلة العربية «،» لأنها تفصل عناصر أو جملاً فرعية داخل الجملة الواحدة. وهذا قرار صحيح دلالياً في معظم النثر: «وصل خالد، وجلس، وبدأ الحديث» حدث مركب في جملة لم تصل إلى نهايتها بعد. كما أن تتابعاً غير فارغ بلا علامة ختام لا يختفي من الإحصاء؛ يُقدّر جملة واحدة.
| النص | الجمل بحسب المحرك |
|---|---|
| جملة أولى. جملة ثانية. | 2 |
| كيف حالك؟ بخير. | 2 |
| جملة، وأخرى، وثالثة | 1 |
| جملة بلا نهاية | 1 |
سمِّ هذه القيمة «تقدير الجمل» لا تحليلاً نحوياً كاملاً. الاختصارات ذات النقاط، والأرقام العشرية، والنصوص البرمجية قد تنتج حدوداً لا يقصدها الكاتب. وفي المقابل، عنوانان متتابعان بلا علامة نهاية قد يبدوان للمحرّك جملة واحدة. القيمة مفيدة لرؤية كثافة النص ومقارنة النسخ، وليست حكماً على سلامة الأسلوب.
الكلمات الفريدة: قيد عربي يجب قوله بصراحة
بعد استخراج الكلمات، يحوّل المحرك الحروف إلى صيغة صغيرة ثم يزيل التكرار الحرفي. لذلك ينجح طي حالة الأحرف في اللاتينية: «Hello hello» فيه 2 كلمتان ظاهرتان لكن 1 كلمة فريدة. العربية بلا أحرف كبيرة وصغيرة، والتشكيل جزء من السلسلة؛ لهذا يرى «كتاب كِتاب» كلمتين فريدتين مع أنهما الكلمة نفسها في هذا المثال. هذه محدودية صريحة، لا دليل على ثراء مفردات حقيقي.
| العينة | كل الكلمات | الكلمات الفريدة |
|---|---|---|
| Hello hello | 2 | 1 |
| كتاب كِتاب | 2 | 2 |
أما قائمة الأكثر تكراراً فتستخدم مساراً آخر: تستخرج الحروف والأرقام، وتتجاهل قائمة صغيرة من الكلمات الوظيفية العربية والإنجليزية، ثم ترتب الباقي. هي نافذة سريعة على موضوع النص، لا محلل جذور؛ فلن تجمع تلقائياً «كتب» و«كاتب» و«كتاب»، ولن توحد المشكول وغير المشكول. وفي عينة الاختبار الفعلية خرجت الكلمات التالية من topWords:
| الكلمة بعد التصفية | التكرار |
|---|---|
| الحروف | 2 |
| النص | 1 |
| العربي | 1 |
| يشرح | 1 |
| والكلمات | 1 |
التطبيع لا يحذف التشكيل، والتطابق البصري لا يكفي
قد تظهر كلمتان مشكولتان بالصورة نفسها بينما تخزنان العلامات بترتيب مختلف. يحدث ذلك لأن الحركة والشدّة علامتا جمع تتبعان الحرف، ولأن ترتيب ضغط المفاتيح ليس دائماً الترتيب الكانوني الذي يفضله يونيكود. دالة العدّ الحالية تمر على نقاط الشفرة كما وصلت؛ فإذا احتوت النسختان النقاط نفسها بترتيبين مختلفين فسيبقى العدد متساوياً، لكن البحث الحرفي أو شرط التفرد في قاعدة البيانات قد يعاملهما كسلسلتين مختلفتين.
الحل للمقارنة هو التطبيع إلى NFC قبل الفهرسة والبحث، مع تطبيق السياسة على القديم والجديد. لكن التطبيع ليس إزالة للتشكيل: يعيد ترتيب التمثيلات المتكافئة أو يركب ما يسمح به المعيار، ولا يمحو الفتحة أو الشدّة كي يقل العدد. وإذا كان غرضك توحيد «كتاب» و«كِتاب» في الكلمات الفريدة أو البحث، فأنت تحتاج قراراً إضافياً بإزالة العلامات أو تجاهلها، وهذا قد يدمج كلمات أردت التمييز بينها.
إذن توجد عمليتان منفصلتان: التطبيع يجعل التمثيل الرقمي المتكافئ متسقاً، ونزع التشكيل يغير النص بحذف معلومات صوتية. الأولى خطوة بنيوية آمنة عادةً للمقارنة، والثانية سياسة محتوى تعتمد على الغرض. هذه التفرقة تفسر لماذا يمكن أن يتساوى عدّ نسختين وتفشل المطابقة بينهما، ولماذا لا يعالج حذف الحركات كل مشكلات يونيكود.
وقت القراءة ووقت النطق: سرعتان لا رقماً واحداً
يحوّل المحرك عدد الكلمات إلى زمنين تقديريين: القراءة على أساس 200 كلمة في الدقيقة، والنطق على أساس 130 كلمة في الدقيقة. القراءة الصامتة أسرع لأن القارئ لا يحتاج إخراج كل صوت، بينما الإلقاء يحتاج وقفات وتنفساً ونبرة. لذلك نص من 1000 كلمة لا يستغرق «سبع دقائق ونصف» كما تكرر بعض القوائم؛ ناتج المحرك المقرب هو 5 دقيقة للقراءة و7 د 42 ث للنطق.
| حجم النص | وقت القراءة | وقت النطق |
|---|---|---|
| 50 كلمة | 15 ثانية | 23 ثانية |
| 200 كلمة | 1 دقيقة | 1 د 32 ث |
| 500 كلمة | 2 د 30 ث | 3 د 51 ث |
| 1000 كلمة | 5 دقيقة | 7 د 42 ث |
| 2000 كلمة | 10 دقيقة | 15 د 23 ث |
هذه معايرة تحريرية وليست ساعة إيقاف للقارئ العربي كله. النص التعليمي الكثيف، والأسماء الغريبة، والأرقام، والتشكيل الكامل تبطئ القراءة. أما النص المألوف بفقرات قصيرة فقد يُقرأ أسرع. وفي التسجيل أضف وقتاً للوقفات والعناوين والانتقالات والعرض على الشاشة. استخدم الجدول لمقارنة مسودتين، ثم اقرأ دقيقة فعلية من أسلوبك إن كانت مدة الفيديو أو الخطبة التزاماً إنتاجياً. ويمكنك لصق المسودة في صفحة إحصاءات النص لرؤية الزمنين من العدد الحقيقي.
حد التغريدة وعنوان SEO: الرقم نفسه لا يعني القاعدة نفسها
يعرض المحرك أربعة مراجع طول شائعة في جدول واحد، لكنه لا يزعم أن آلياتها متطابقة. حد X البالغ 280 هو طول موزون في المنصة؛ للرابط طول محوّل، ويمكن أن تتعامل المنصة مع الإيموجي المركب كوحدة موزونة تختلف عن نقاط الشفرة التي رأيناها. العربية المعتادة تقع عملياً ضمن مساحة المنشور الطويلة، لكن المؤشر النهائي داخل X هو الحكم عند وجود روابط ورموز معقدة.
أما 60 لعنوان SEO و160 لوصف الميتا فمرجعان للتحرير والاختصار، لا حدان ترفض بعدهما جوجل الصفحة. العرض في نتائج البحث يتحدد بالبكسل والجهاز والاستعلام، وقد تختار جوجل عنواناً أو مقتطفاً من محتوى الصفحة بدلاً من النص الذي كتبته. الهدف أن تضع المعنى والكلمة المهمة مبكراً، وأن يكون الوصف دقيقاً ومقنعاً، ثم تستخدم العدد كحاجز تنبيه لا كبديل عن التحرير.
| السياق | المرجع في المحرك | الغرض |
|---|---|---|
| 🐦 منشور تويتر / X | 280 حرفاً | حد التغريدة الواحدة |
| 💬 رسالة SMS عربية | 70 حرفاً | الرسالة العربية = 70 حرفاً لكل مقطع |
| 🏷️ عنوان SEO | 60 حرفاً | طول عنوان الصفحة المثالي لجوجل |
| 🔍 وصف SEO (ميتا) | 160 حرفاً | طول وصف الميتا المثالي لجوجل |
كيف تختار الرقم الصحيح قبل الإرسال أو النشر؟
- 1. سمِّ الوحدة: كلمات، أم نقاط شفرة مع المسافات، أم من دونها، أم عناقيد مرئية، أم وحدات ترميز خاصة بالمنصة؟
- 2. اختبر النص النهائي: أدرج الاسم والرابط والإيموجي والمتغيرات قبل القياس؛ فالقالب القصير لا يمثل الرسالة المرسلة.
- 3. راجع التشكيل: أبقِ ما يمنع اللبس واحذف الزائد عند ضيق SMS، مع الاحتفاظ بالأصل إن كان نصاً منضبطاً أو مقتبساً.
- 4. افهم تعريف الكلمة: الشرطة لا تفصل، والرمز المحاط بمسافتين قد يصبح كلمة، والمسافات المتكررة لا تضيف كلمات.
- 5. عامل الزمن كتقدير: عاير القراءة والنطق بعينة من جمهورك أو صوتك عندما تكون الدقيقة التزاماً.
- 6. دع المنصة تحسم: عدّ المحرك مرجع متسق، لكن بوابة SMS ومؤشر X ومعاينة البحث تملك قواعدها النهائية.
🔡 افحص النص كما يراه المحرك
الصق مسودتك لترى الكلمات ونقاط الشفرة مع المسافات وبدونها، والجمل والكلمات الفريدة، ووقت القراءة والنطق، ومؤشرات الحدود الأربعة. ثم طبّق ملاحظات هذا الدليل على سياق المنصة الفعلي.
افحص إحصاءات النص ←الخلاصة أن «كم عدد الحروف؟» ليس سؤالاً ناقصاً بسبب تعقيد تقني هامشي؛ إنه ناقص لأن الحرف اسم لطبقات مختلفة. في العربية تضيف الحركة نقطة شفرة من دون إضافة حرف هجائي جديد، وقد تغيّر هذه النقطة عدد مقاطع SMS وتكلفتها. والإيموجي الواحد بصرياً قد يحمل عدة نقاط وروابط. والكلمة في الإحصاء قد تكون تتابعاً مفصولاً بفراغ لا وحدة صرفية. حين تسمي الوحدة وتعرف قاعدة المنصة يصبح الرقم مفيداً؛ وحين تتركهما ضمنيين يتحول الرقم الدقيق ظاهرياً إلى قرار خاطئ.