PDA

View Full Version : چرا حروف فارسی/عربی در فونت ها دو سری است؟



eshpilen
پنج شنبه 18 اسفند 1390, 19:07 عصر
توی تصاویر ضمیمه میتونید ببینید که حروف فارسی/عربی دو سری هستن؛ هرکدام با Code point های خودشون.
مثلا مشاهده میفرمایید که دو حرف پ داریم با دو کد مختلف U+067E و U+FB56.
بنده رگولار اکسپرشن های خودم رو بر اساس کد سری اول درست کردم و کار میکنه. اما بر اساس کد سری دوم کار نمیکنه.
میخواستم بدونم کسی میدونه جریان اون سری دوم چیه؟

eshpilen
پنج شنبه 18 اسفند 1390, 20:31 عصر
بنظر میرسه اون سری دوم، فرم های مختلف حروف باشن.
مثلا حرف پ جداگانه، فرم وسط، فرم ابتدایی و غیره.
از توضیحاتی که برای هرکدام مینویسه اینطور برمیاد.
و وقتی تست هم میکنی نتیجه میده. مثلا پ با کد FB56 رو اگر کپی کنی و پیست کنی در یک مکان متنی و بلافاصله بعدش یک حرف دیگر رو تایپ کنی اون پ و حرف دیگه به همدیگر متصل نمیشن و پ جداگانه باقی میمونه.
ولی اون پ که در سری اول هست بستگی به مکانش و اینکه حرف دیگر در جوارش هست یا نه تغییر شکل میده. یعنی میتونه پ متصل بشه یا جداگانه یا وسط یا فرم ابتدا.
وقتی تایپ میکنیم اون پ سری اول ایجاد میشه. اما میتونیم بوسیلهء تایپ فاصلهء مجازی هم مشابه همین کار رو انجام بدیم و در عین اینکه دو حرف از نظر نمایشی در جوار همدیگر هستن اما روی هم تاثیر نذارن.
فاصلهء مجازی رو در ویندوز میشه با Ctrl+Shift+2 تایپ کرد؛ در لینوکس و بعضی جاهای دیگه با Shift+Space (هم) تا جاییکه یادمه.

hightech
پنج شنبه 18 اسفند 1390, 21:52 عصر
سری اول حالت اصلی اون حرف نمایش داده شده و در سری دوم هر چهار حالت اون رو کنار هم قرار دادن (ابتدا، میانه، انتها و تکی)
برای درک بهتر این ساختار اینجا (http://en.wikipedia.org/wiki/Arabic_characters_in_Unicode#Contextual_forms) رو مطالعه کنید