بررسی ساختار یونیکد

Unicode Logo

Unicode Logo

پیش از این مطلبی با عنوان فونت یونیکد چیست ؟  در همین وبلاگ نوشتم ، و از آنجا که غیر استاندارد بودن فونت های فارسی و تداخل آنها با تکنولوژی‌های جدید مثل Reporting Services 2008 کاملا جدی است ، ( برای نمونه به مطلب  رفع مشکلات در Convert کردن پروژه Reporting Services 2005 به Reporting Services 2008 رجوع کنید ) لازم است راجع به یونیکد و فونت‌های یونیکد و سایر موارد مرتبط با آن بحث های بیشتری مطرح شود . امروز ساختار داخلی یونیکد رو بررسی می کنم و در یک مطلب دیگر راجع به کیبورد و چیدمان حروف و احتمالا مطلبی راجع به چگونگی ایجاد یک فونت یونیکد یا چگونگی ایجاد یک قالب چیدمان کیبورد هم مطالبی نوشته بشه .

گلیف چیست ؟ glyph : به شکل ظاهری کاراکترها که می تواند به هر شکلی باشد گلیف گفته می شود مثلا ، عدد و حرف های معمول فارسی یا انگلیسی  ،اشکال میخی فارسی باستان یا حروف هیروگلیف مصری یا اشکال یونانی و ژاپنی همه گلیف هستند ( نام دیگری برای حرف یا کاراکتر ) ؛

 

ساختار داخلی یونی کد

همانطور که پیشتر گفتم ،‌ در یونیکد ، هر گلیف برای خود یک کد انحصاری دارد و فقط و تنها فقط همان گلیف مجاز به استفاده از آن فضا در بلوک مختص به خود است . به این مفهوم که عدد 6 فارسی نمی تواند در محل عدد 6 انگلیسی یا 6 عربی یا هر زبان دیگری قرار بگیرد ، که متاسفانه در فونت های ایرانی بسیار رایج است و یکی از مهمترین دلایل غیراستاندارد بودن فونتهای فارسی همین است ، به 2 شکل زیر دقت کنید .

فونت BYekan یکی از فونت‌های غیر استاندارد فارسی که اعداد همه زبان‌ها را به یک شکل پیاده سازی کرده است

فونت BYekan یکی از فونت‌های غیر استاندارد فارسی که اعداد همه زبان‌ها را به یک شکل پیاده سازی کرده است

شکل بالا , ‍پیاده سازی غیرصحیح یک فونت فارسی را نشان می دهد و عکس زیر که شکل صحیح را نمایش می‌دهد

پیاده سازی ص�ی� اعداد و کاراکترها در یک فونت یونی‌کد فارسی از فارسی وب

پیاده سازی صحیح اعداد و کاراکترها در یک فونت یونی‌کد فارسی از فارسی وب

همانطور که در دو شکل بالا می‌بینید ، در شکل اول یک فونت غیراستاندارد فارسی و در شکل دوم یک فونت یونیکد فارسی نشان داده شده است . برای اطلاع از کد صحیح هر حرف در یونیکد ( برای حروف فارسی این متن را که در سایت رسمی یونیکد قرار دارد ) ببینید . و همچنین برای اطلاع از مکان قرارگیری حروف در روی کیبورد باید به ستاندارد ۹۱۴۷ که موسسه استاندارد و تحقیقات صنعتی ایران در اردیبهشت ۱۳۸۶ تصویب کرده مراجعه کنید . برای مطالعه بر روی این لینک کلیک کنید . ( بزودی یک مطلب راجع به استاندارد ۹۱۴۷ و چگونگی و همچنین نحوه بکار گیری آن خواهم نوشت )

ساختار بلاک بندی شده یونی‌کد

همانطور که گفته شد در یونیکد همه چیز به شکل یک بلاک است ، که این بلاک‌ها نسبت به شکل ظاهری و یا مفاهیم مشترک ، و به منظور جداسازی معانی انجام شده ، مثلا کاراکتر M در زبان روسی (‌توجه کنید که m در واقع کوچک است و شکل آن بزرگ ) در بلاک مربوط به روسی ( Cyrillic ) و با کد انحصاری 043C و حرف m در زبان انگلیسی در بلاک Basic Latin و با کد 006D و حرف M ( بزرگ ) در زبان انگلیسی در بلاک Basic Latin و با کد 004D .

�رف M در بلاک روسی از فونت Arial ( فونت آریال یک فونت یونیکد است که بیشتر  گلیف‌ها را پیاده سازی کرده است )

حرف M در بلاک روسی از فونت Arial ( فونت آریال یک فونت یونیکد است که بیشتر گلیف‌ها را پیاده سازی کرده است )

 

�رف M در بلاک انگلیسی از فونت Arial ( فونت آریال یک فونت یونیکد است که بیشتر  گلیف‌ها را پیاده سازی کرده است )

حرف M در بلاک انگلیسی از فونت Arial ( فونت آریال یک فونت یونیکد است که بیشتر گلیف‌ها را پیاده سازی کرده است )

برای حروف فارسی بلاک مستقلی وجود ندارد و حروف فارسی در بلاک مربوط به عربی قرار گرفته اند . برای مثال به عکس زیر توجه کنید .

�رف ی فارسی که با کد 06CC در بلاک �روف عربی مشخص شده است ( همه �روف فارسی در بلاک عربی هستد.)

حرف ی فارسی که با کد 06CC در بلاک حروف عربی مشخص شده است ( همه حروف فارسی در بلاک عربی هستد.)

با استفاده از این لینک ، می‌توانید لیست و کد مربوط به تمامی بلاک موجود در یونیکد را که در سایت رسمی یونیکد قرار دارد ببینید . برای مثال :

Basic Latin                      : 0000..007F;

Old Persian                     : 103A0..103DF;

Arabic                             : 0600..06FF;
Arrows                            : 2190..21FF;

Mathematical Operators : 2200..22FF;

اگر می‌خواهید ببینید که در تمامی یونیکد ( در تمامی زبانها – حتی زبان‌های باستانی ) چه گلیفی ( کاراکتری ) دارای چه کدی است ،‌ این مطلب را که در سایت رسمی یونیکد منتشر شده ، ملاحظه کنید . ( نام هر کاراکتر با کد مربوطه آورده شده )

لینکهای مرتبط

سایت رسمی یونی‌کد

فونت یونیکد چیست ؟

لینک مستقیم همین مطلب در وبلاگ من

رفع مشکلات در Convert کردن پروژه Reporting Services 2005 به Reporting Services 2008

کد صحیح حروف فارسی در یونیکد ، منتشر شده در سایت رسمی یونیکد

لیست و کد مربوط به تمامی بلاک های موجود در یونیکد ، منتشر شده در سایت رسمی یونیکد

اطلاعات کامل مربوط به هر گلیف در یونیکد ، نام هر گلیف و کد منحصر به فرد آن در این لینک هست . منتشر شده در سایت رسمی یونیکد

دانلود برنامه نمایش دهنده فونت‌های یونیکد ( Unicode Font Viewer  ) که تصاویر بالا محیط آن برنامه را نشان می دهد. (‌ این برنامه رایگان است و حجم اون 300 کیلوبایت هست )

6 Responses to بررسی ساختار یونیکد

  1. یک لینک بسیار خوب برای دیدن کدهای گلیف‌ها و شکل ظاهری گلیف در سایت رسمی یونی‌کد
    http://www.unicode.org/charts/
    برای هر بلاک خاص باید بر روی نام بلاک آن کلیک کنید . برای مثال بلاک عربی که حروف فارسی در آن قرار دارد در لینک زیر قابل مشاهده است .
    http://www.unicode.org/charts/PDF/U0600.pdf

    ( این کدها با فونتهای فارسی وب هم هماهنگی کامل دارند )

  2. Pingback: links for 2008-11-29 « محرم منصوري زاده

  3. sghanbari says:

    عالي بود غکر کنم تهاوبلاگي بودي که همه چيز را کامل با ترسيم شکل به صورت شفاف بيان کردي ممنون وبسيارمتشکرم.

  4. آرش says:

    خیلی عالی بود من چند روزی بود که دنبال چنین مطالبی می گشتم واقعا خسته نباشید

  5. آرش says:

    مرا از دیدگاه‌های بعدی از طریق ای‌میل باخبر کن

  6. Pingback: لینک‌های مرتبط با صفحه کلید استاندارد فارسی، یونیکد و فارسی نویسی « دنیای پیرامون

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: