ورود

View Full Version : سوال: طریقه کار فارسی نویس ها



aliman12
شنبه 20 خرداد 1391, 17:56 عصر
دوستان کسی میدونه یک فارسی نویس چه عملی رو انجام میده که باهاش میتونیم در نرم افزارهایی مثل فتوشاپ فارسی بنویسیم؟
در واقع میخوام بدونم این برنامه ها که به همراه خودشون فونت نصب میکنند تغییراتی در یونی کد میدهند؟
در گلیف های فونت ها تغییر ایجاد میکنند؟
خلاصه میخوام بینیم اینا چه ترفندی میزنن

محسن واژدی
شنبه 20 خرداد 1391, 19:15 عصر
سلام
کار خاصی انجام نمی دهند فقط در فونت های مورد استفاده کاراکترها بگونه ای چیده میشوند که در برنامه هایی که از فونت های فارسی با ساختار استاندارد پشتیبانی میکنند مشکلی ایجاد نشود
برای مثال کاراکتر "ل" در جایگاه "ب" یا "ح" در جایگاه "ش" در فونت قرار میگیرد، برای همین است که تنها باید از فونت هایی که نویسنده تنظیم کرده است استفاده شود نه همه انواع فونت های فارسی
در برنامه فارسی نویس هم برای اینکه مشکلی در نوشتن ایجاد نشود در کد کلید فشرده شده را براساس مقداری که تغییر کرده است تعریف می کنند،


موفق باشید

aliman12
شنبه 20 خرداد 1391, 19:48 عصر
برای مثال کاراکتر "ل" در جایگاه "ب" یا "ح" در جایگاه "ش" در فونت قرار میگیرد، برای همین است که تنها باید از فونت هایی که نویسنده تنظیم کرده است استفاده شود نه همه انواع فونت های فارسی
خب بحث سر همینه
ببینید موقعی که نوشته رو paste میکنید یک سری حروف اجق وجق نشون داده میشه که باید برای درست شدنشون فونت مخصوص فارسی نویسو انتخاب کرد
حالا این حروف اجق وجق بر چه اساسی تولید شدن؟
یا همین که شما میگی "ب" به جای "ش" بر چه اساسی جاشون تغییر پیدا کرده؟
مثلا در برنامه تعریف شده که اگر تکست باکس مساوی با "ت" بود تو بیا در کلیپ بورد "@" رو کپی کن؟
بعد در فونت رفته گفته که "@" به جای "ت" ؟؟؟؟؟؟؟؟؟؟؟؟
راستش دقیق متوجه نشدم
ولی خیلی کنجکاوم که بدونم اینا چطوری کار میکنن
راستی این موضوع ربطی به utf_8 نداره؟

محسن واژدی
یک شنبه 21 خرداد 1391, 05:53 صبح
موقعی که نوشته رو paste میکنید یک سری حروف اجق وجق نشون داده میشه که باید برای درست شدنشون فونت مخصوص فارسی نویسو انتخاب کرد
حالا این حروف اجق وجق بر چه اساسی تولید شدن؟
یا همین که شما میگی "ب" به جای "ش" بر چه اساسی جاشون تغییر پیدا کرده؟
مثلا در برنامه تعریف شده که اگر تکست باکس مساوی با "ت" بود تو بیا در کلیپ بورد "@" رو کپی کن؟
بعد در فونت رفته گفته که "@" به جای "ت" ؟؟؟؟؟؟؟؟؟؟؟؟
به این صورت که می فرمائید نیست، فلسفه نسبتا ساده ای داره، اگر یکی از فونت های یک برنامه فارسی نویس را در ویرایشگر فونت باز کنید متوجه موضوع خواهید شد، به عنوان مثال در فونت های سری F بجای N کاراکتر "پ" یا بجای حرف C کاراکتر "ا" جایگزین شده، که یکی از این دسته فونت ها را در برنامه msword انتخاب کنیم و کلید N و C را فشار دهیم بجای نوشته شدن این دو کاراکتر حروف "پ" و "ا" تایپ میشود، در برنامه فارسی نویس کد کلید های فشرده شده به گونه ای تغییر داده می شود که با کاراکترمعادل آن در فونت مورد نظر برابر و صحیح نمایش داده شود، و اگر محتویات را در جایی کپی کنیم و تا فونت آنرا با یکی از فونت های مرتبط جایگزین نکنیم محتویات کپی شده نامفهوم خواهند بود


راستی این موضوع ربطی به utf_8 نداره؟ خیر، ارتباطی به این موضوع نداره

موفق باشید

ASedJavad
یک شنبه 21 خرداد 1391, 21:04 عصر
سلام


به این صورت که می فرمائید نیست، فلسفه نسبتا ساده ای داره، اگر یکی از فونت های یک برنامه فارسی نویس را در ویرایشگر فونت باز کنید متوجه موضوع خواهید شد، به عنوان مثال در فونت های سری F بجای N کاراکتر "پ" یا بجای حرف C کاراکتر "ا" جایگزین شده، که یکی از این دسته فونت ها را در برنامه msword انتخاب کنیم و کلید N و C را فشار دهیم بجای نوشته شدن این دو کاراکتر حروف "پ" و "ا" تایپ میشود،

تا حدود زیادی درسته ولی نه دقیقا
اول بذار تفاوت های متن فارسی رو با متن انگلیسی بگم:
دو تا تفاوت بنیادین دارن باهم:
1- تو فارسی حرف بعدی، سمت چپ حرف قبلی میشینه
2- تو فارسی هر حرف بسته به حروف قبل و بعدش شکل های مختلف میگیره (منظورم "سـ" و "ـسـ" و "س" و ... هست.)
خب؛ حالا ما دو جور فارسی نویس داریم
یه نوع مثل مریم و ضابط و امثالهم که فقط باید فونتای مخصوص خودشو داشته باشن، یه نوع هم که نیاز به فونت خاصی نداره. اما توضیح هر کدوم:
نوع اول:
تو این نوع، اول میان یه فونت میسازن با کاراکترست وسترن. (دقیقا مثل فونتای انگلیسی) بعد مثلا میان بجای حرف S شکل "سـ" و بجای حرف W شکل "ـسـ" و بجای حرف X شکل "ـس" و ... میذارن. حالا اگه شما تایپ کنی SWX و فونتشو بذاری یکی از فونتای ساخته شده توسط اون فارسی ساز متنت به شکل "سسس" در میاد.
حالا تو خود محیط نرم افزار فارسی ساز میاد بسته به حروفی که وارد میکنی حروف رو تغییر میده و ادامه ماجرا که جناب واژدی اشاره کردن که البته این تغییر حروف بستگی کامل داره به حروف قبل و بعدش و حتی دو یا سه حرف قبل و بعدش (برا وقتایی که از تشدید و فتحه و ... استفاده میشه.)
همچنین کار دیگه ای که تو محیط فارسی ساز انجام میگیره، جابجا کردن جای حروفه. یعنی مثلا اگه شما تایپ کنید "سلام" چون حرف اولش س و حرف دومش ل و ... هیت و تو انگلیسی حرف اول سمت چپ حرف دوم قرار میگیره پس متنت میشه "مالس" که فارسی ساز میاد اینو هم درست میکنه.
این جور فارسی سازا این مزیت رو دارن که متن تولید شدشون کلا مستقل از زبون فارسیه، یعنی اگه تو سیستمی زبون فارسی هم نصب نباشه، متنت درست نشون میده، مستقل از اینه که نرم افزاری که توش متنت رو پیست میکنه (مثل فوتوشاپ) از فارسی پشتیبانی کنه یانه، مستقل از اینه که از یونیکد پشتیبانی کنه یا نه و ... و عیب بزرگش هم اینه که فقط از قونتای محدودی میتونی استفاده کنی

اما برا درک روش کار نوع دوم فارسی سازا، باید اول اینو بگم که همون جور که گفتم هر حرف چند تا شکل داره و هر شکلی معادل یه حرف تو سیستم utf-8 هست مثلا سـ معادل U+FEB3 و ـسـ معادل U+FEB4 هست.
حالا این فارسی سازای نوع دوم، میان شکل هر حرف رو (با توجه به حروف قبل و بعدش) پیدا میکنن و بجاش معادل یونیکدش رو میذارن و بعد اون قضیه چینش چپ به راستی حروف رو اعمال میکنن.
بزرگترین مزیت این روش اینه که محدود به فونت خاصی نیست و فقط باید فونت مورد نظر حروف یونیکد فارسی رو هم شامل شه که تقریبا 90 درصد فونتای فارسی همین جورین (شاید هم 100 درصد!؟)
اما عیبش همون جور که معلومه اینه که نرم افزار مقصد جتما باید یونیکد رو ساپورت کنه.
البته یه عیب دیگه هم داره و اون هم اینه که بعضی نرم افزارا راجع به حروف فارسی نیمه هوشمندن یعنی میفهمن چینش حروف فارسی از راست به چپه ولی نمیفهمن که باید اونا رو چجوری بهم چسبوند مثلا سلام رو س ل ا م نشون میدن.
در چنین مواقعی، از اون جایی که فارسی سازمون جای حروف رو برعکس کرده، باز هم به مشکل بر میخوره!