PDA

View Full Version : سوال: نمایش نوشته های فارسی بدون نصب فارسی ساز



shytonak
جمعه 26 مهر 1387, 19:09 عصر
سلام دوستان.
میخواستم بدونم چطور میشه بدون اینکه روی یه سیستم زبان فارسی نصب باشه برنامه ما که فارسی نوشته شده بدون مشکل (عدم نمایش فونت ها) اجرا بشه.

rostamkhani
جمعه 26 مهر 1387, 22:29 عصر
سلام
روش اول:
میتونی از کد فونتهای خاصی استفاده کنی مثل ایران سیستم و یا مریم ...
برای این کار از نرم افزارهای فارسی ساز استفاده کنی و متن مثلا دگمه رو توی اون نرم افزار تایپ کنی مثل مریم بعد تو دگمه paste کنی و فونت دگمه رو یکی از فنتهای مریم یا ایران سیستم قرار بدی .
یا باید کدpage این فونتها رو بشناسی و TextBox مخصوص رو بنویسی که در اصل کاری شبیه به این نرم فازار ها رو کردی و میتونی تو برنامه خودتم از این Textbox استفاده کنی .
در این مورد اگر جستجو کنی نمونه ها زیادی هست .
روش دوم:
با فونتهای استاندارد سیستم کار کنی و تو سیستم خودت فونت فارسی نصب کنی و نرم افزار رو طراحی کنی.
حال برای اینکه کاربر بتونه نرم افزار شما رو در سیستم که فونت فارسی نصب نیست درست ببینه و درست تایپ کنه باید یه برنامه خوب بنویسی . که چند تا کار انجام بده :
1. برنامه ای شبیه به برنامه که در قسمت اول گفتم ولی برای کدPage فونتهای فارسی استانداد سیستمی
2.تیکه برنامه که تشخیص بده فارسی روی سیستم نصب هست با نه در صورتی که نصب نبود متن رو فقط برای نمایش ارسال کنه به تابعی که بالا نوشتیم و خروجی رو در دگمه و یا TextBox نمایش بده .
در ضمن باید برنامه به شکلی باشه که مثلا برای دیتابیس متنی که تایپ شده برای insert و Update و ...
استفاده کنه نه متن نمایشی که توسط تابع ما ساخته شده که در این حالت پس از نصب فارسی ساز سیستم مشکلی برای برنامه پیش نمیاد .
این روش جواب میده و بسیار جالب و آسان هست فکر کنم قبلا روی فونت فارسی به این شکل کار نشده بنده همراه یکی از دوستان تا مراحلی از این کار رو انجام دادیم ولی وقت نشده تمومش کنیم .
مایل هستم این پروزه که خیلی کاربردی هست برای تمامی پروژه ها و استفاده در نرم افزارهای گرافیکی که فونت فارسی رو ساپورت نمیکنن به صورت یک پروژه OpenSource با دوستانی که مایل هستن روش آروم آروم کار کنیم و به حد یک نرم افزار کامل و DLLهای قابل استفاده در پروزه ها برسونیم . همراه با سورس قابل ارائه باشه .
در همین تاپیک یا در تاپیک دیگر .
منتظر یا علی و نظر دوستان هستم
یا علی
روش سوم:
شاید راحت ترین راه اینه که به کاربر بگویید برای استفاده باید زبان فارسی رو نصب کند!

afsharm
شنبه 27 مهر 1387, 11:08 صبح
اگر کاربر شما قرار است صرفا اطلاعات فارسی را ببیند و نیازی به وارد کردن اطلاعات فارسی ندارد مشکل خیلی ساده حل می‌شود: در برنامه خودتان از فونت‌های رایج و استاندارد مثل تاهوما و آریال استفاده کنید. این فونت‌ها در همه ویندوز‌ها وجود دارد و نیازی به نصب آنها نیست. در کدهای برنامه هم همه جا همه چیز را به فرمت یونیکد ذخیره کرده و نمایش دهید. مطمئن باشید هیچ مشکلی به وجود نمی‌آید.
البته اگر منظور شما یک برنامه وب است راه حلی وجود دارد که کاربر بدون نصب صفحه کلید فارسی بتواند ورود اطلاعات فارسی هم بکند.

rostamkhani
شنبه 27 مهر 1387, 16:13 عصر
سلام
این مطلبی که شما گفتین در فرم ها وب جواب میده ولی در فرم های ویندوزی به این شکل نیست و اگر بخواهیم فونت فارسی درست دیده بشه باید در قسمت Control Panle>Language نرم افزار زبانهای راست به چپ رو نصب کنید .
http://barnamenevis.org/forum/attachment.php?attachmentid=24588&stc=1&d=1224335244

واگر نصب نباشه حتی اگر فونت tahoma باشه و Unicode هم ذخیره بشه نتیجه بشکل زیر است
http://barnamenevis.org/forum/attachment.php?attachmentid=24587&stc=1&d=1224335244

ولی با استفاده از تابعی که در پست قبلی در موردش صحبت کردم میتوانیم متن زیر رو اصلاح کنیم
http://barnamenevis.org/forum/attachment.php?attachmentid=24589&stc=1&d=1224335611

پس از اجرای تابع
http://barnamenevis.org/forum/attachment.php?attachmentid=24590&stc=1&d=1224335611

shytonak
شنبه 27 مهر 1387, 20:12 عصر
آقا ما هستیم یا
علی
واسه این کار 2 حالت وجود داره این که کاربر بخواد تو برنامه تایپ کنه یا نه؟
اگه نخواد تایپ کنه میشه هر کارکتر رو مثل یه عکس یا همه کارکتر ها رو مثل یه تصویر تو برنامه قرار داد.

shytonak
یک شنبه 28 مهر 1387, 22:38 عصر
سلام دوستان . چی شد کسی نیست بگه یا علی!!!!!!!