حيل ورموز Unicode ربما لم تكن تعرفها

مدرج تحت قسم: دروس
3 أكتوبر 2009

حيل ورموز Unicode ربما لم تكن تعرفها

كلنا يعلم أهمية الشفرة الموحدة Unicode لترميز الأحرف والمحارف المختلفة لأغلب لغات العالم، وتوحيدها في ترميز واحد عالمي؛ لتسهيل وصول ونقل البيانات عبر الأنظمة المختلفة دون تعرضها للتلف.

ولكن هناك العديد من الرموز التي يوفرها نظام Unicode تقوم بمهام أخرى، غير مجرد عرض المحارف المختلفة، وسنتعلم اليوم بعض هذه الرموز التي ستفيدنا في كتابة لغتنا العربية، وظهور النصوص بالطريقة السليمة.

توجيه اللغة العربية في صفحات HTML

directional_run

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

directional_run_problem

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

أحد الحلول المقترحة لصفحات HTML، هي إحاطة النصوص المضمنة بعنصر span أو عنصر bdo لتغيير توجيه النص، ويتم تغيير خاصية dir فيه ليصبح باتجاه اللغة التي نريدها. مثال:

<p>للترحيب بصديق نقول "<span dir="ltr" lang="en" xml:lang="en">Welcome friend!</span>" بالإنجليزية.</p>

directional_run_correction

ولعناصر الكتلة أو Block elements كعنصر الفقرة p أو عناصر الترويسة h1، أيضا نستخدم خاصية dir فيها كما في المثال السابق.

<p dir="ltr" lang="en">That kid hit the ball!</p>

ولكن، ماذا لو أردنا أن نُغير التوجيه في داخل عنصر لا يقبل وجود أي عنصر آخر بداخله، مثل عنصر title في رأس الصفحة head؟

محارف Unicode لتغيير الاتجاه

المحرف الشفرة التوصيف المقابل ملاحظات
LRE U+202A dir = "ltr" الخاصية في عناصر التضمين Inline Element أو الكتلة Block Element.
RLE U+202B dir = "rtl" الخاصية في عناصر التضمين Inline Element أو الكتلة Block Element.
RLO U+202E <bdo dir = "rtl">
LRO U+202D <bdo dir = "ltr">
LRM U+200E لا يوجد تستخدم عند نهاية الكلمة أو الحرف.
RLM U+200F لا يوجد تستخدم عند نهاية الكلمة أو الحرف.
PDF U+202C لا يوجد عند الإنهاء باستخدام RLE أو LRE. لأن الإنهاء يكون بالعنصر الذي يحمل النص.
</bdo> عند الإنهاء باستخدام RLO أو LRO.

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

<title>&#x202B;المشروع(تجريبي)&#x202C;</title>

title_change_direction_difference

ولأنها من المحارف المخفية، فلا يُنصح باستخدامها إلا عند عدم توفر بدائل أخرى، كتضمين عنصر span أو عنصر bdo، والسبب في ذلك هو أن لغة HTML هي لغة توصيفية، وعند إدراج مثل هذه المحارف المخفية ستصعب عملية الحفاظ والتعديل لاحقاً على الصفحة.

رموز خاصة بالدين الحنيف

في البداية أود أن أوجه تحية تقدير للعاملين في إئتلاف Unicode العرب، على حفاظهم وإدراجهم للرموز العربية والإسلامية في هذا النظام. هذا جدول يبين بعض الرموز الإسلامية التي يمكنك استخدامها في صفحات HTML.

بعض الرموز والمحارف الإسلامية

المحرف الوصف رمز Unicode
ؕ حرف طاء صغير عالي 0615
ۚ علامة الوقف الجائز جوازا مستوى الطَّرفين 06DA
ۖ علامة الوقف الجائز مع كون الوصل أوْلَى 06D6
ۗ علامة الوقف الجائز مع كون الوقف أوْلَى 06D7
ۘ علامة الوقف اللازم 06D8
ۙ علامة الوقف الممنوع 06D9
۝ علامة نهاية الآية 06DD
۞ علامة نهاية ربع الحزب 06DE
۩ علامة موضع السجدة 06E9

quran_example

بعض الرموز العربية الأخرى

المحرف الوصف رمز Unicode
؎ علامة بيت الشعر 060E
؞ علامة ترقيم النقطة الثلاثية 061E
٠ الرقم صفر 0660
٥ الرقم خمسة 0665
؁ علامة “سنه” 0601
ٖ ألف صغيرة تحت الحرف 0656
ٰ ألف صغيرة فوق الحرف 0670
ٯ حرف قاف غير منقوط 066F

تطبيقات عملية

يمكننا الاستفادة من هذا الدرس في مجالات كثيرة، فعلى سبيل المثال، المشروع يستخدم تغيير التوجيه في عنصر title لو لاحظتم.

كما أنه كان مثيراً تطبيقه على بعض المواقع الإجتماعية التي لا تتيح توجيه النص، مثل Twitter:

twitter_example_usage

بعض المراجع المفيدة

هل طبقتم الدرس في مواقع ومجالات أخرى؟ إذا فعلتم، الرجاء أخبرونا في التعليقات.

عن الكاتب

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

  • Share/Bookmark

التعقيبات

  1. ‫12 إضافة WordPress بأيدي عربية‬
  2. المدون الضيف: تحسين طباعة الروابط | Css | الدكتور نت | الدكتور نت

التعليقات (9) على ”حيل ورموز Unicode ربما لم تكن تعرفها“

  1. موضوع أكثر من رائع ومميز وجزاك الله خير

  2. جميل جداً جداً جداً , ومفيد كذلك,مقال رائع كالعادة :)
    في الحقيقة أنا من أكثر كارهي موضوع الترميز على الرغم من فائدته ! إلا أنه في بعض الأحيان يُصيبني بجلطات :)

  3. MEG


    ‫المشروع(تجريبي)‬

  4. MEG

    هناك خطأ في الكود بسبب اضافة تحويل العملات :
    ‫المشروع(تجريبي)‬

  5. @عبدالملك الثاري
    وجزاكم خيراً.

    @فراس
    أشكرك أخي الكريم فراس. بل بالعكس، الترميز من المواضيع التي يجب أن نبني عليها ونؤسس لها تأسيساً جيداً، للمنافع القيمة التي تأتي منها.

    @MEG
    هل يمكنك التوضيح أكثر لو تكرّمت؟

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

    فهمت الحيلة، وسأقوم بتطبيقها على منتدى اسمه وأسماء أقسامه بالانجليزية، لكن مواضيعه عربية.. سأرى كيف سيكون وأبلغك بالنتيجة -إن شاء الله.

    كما أود الإطراء على خاصية المواضيع ذات العلاقة، فقد جعلتني أقرأ 4 مواضيع أخرى بعد هذا الموضوع.

  7. موضوع أكثر من رائع أخي الكريم :)

    ما شاء الله , مقال مفيد جدا يخدم المستخدم العربي بشكل كبير

    لك كل التقدير .

    أخوك ,

  8. أبشرك..
    قمت بالتعديل على title في المنتدى المذكور من قالب Showthread وانحلت مشكلة التداخل في الكلمات العربية والانجليزية في الـtitle

    لك جزيل الشكر بوعوف

  9. @المبدع العربي
    مشاء الله، لا شكر على واجب بوسعود :) دائماً أسعد عندما أرى أن شخصاً قد استفاد من شيء بسيط قدمته.

أضف تعليقك




يمكنك استخدام الوسوم التالية في التعليق: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>


* حقول مطلوبة