حتما دیدید که بعضی نرم افزار موبایل فارسی رو درست نشون نمی دن. مثلا "سلام" رو می نویسن " س ل ا م" یا "م ا ل س" این برنامه این مشکلات رو در نمایش متون رفع می کنه.
این فایلو دانلود کنید
http://hajired.persiangig.com/java/patchFontMe.rar
اینم فایل آموزشی
http://hajired.persiangig.com/java/patchFontMe.pdf

طریقه ی استفاده:
فایل rar را از حالت فشرده خارج کنید
برنامه(فایل patchFontMe.jar) رو در کامپیوترتون اجرا کنید
البته برنامه Java رو باید قبلا داشته باشید حدود 12 مگ از اینجا دانلود کنید
و دکمه ی Load app رو بزنید و فایل jar برنامه ای که مشکل داره رو بهش بدید بعد دکمه ی patch app رو بزنید تا فایل خروجی رو بهتون بده این فایل دیگه مشکل نمایش فونت رو نخواهد داشت. من این کار رو روی نرم افزار Opera mini انجام دادم و روی K310iجواب گرفتم.
بعد از عمل

اطلاعات تخصصی در مورد نحوی کار نرم افزار:
مشکل اصلی در نمایش متون از برنامه نیست بلکه به نوعی باگ گوشی محسوب می شه. این گوشی ها Shaping Engine ندارن، کار shaping engine اینه که تشخیص بده کجا از حروف بزرگ استفاده کنه و کجا کوچک مثلا در کلمه ی "س ل ا م" متن دقیقا به همین صورت در String وجود داره ولی وقتی شما تابع Graphics.drawString رو صدا می زنید هنگام رندر تشخیص داده می شه که باید از حرف اول-وسط-یا آخر استفاده کرد. کاری که من در این برنامه انجام می دم اینه که bytecode های برنامه رو می خونم و جاهایی که تابع drawstring صدا زده می شه اول shapping و joining کارکترها رو انجام می دم و حالا drawstring رو برای string جدید صدا می کنم.چنین کاری رو برای توابع(drawChars , drawSubstring, StringWidth , charsWidth) هم انجام می شه. در مواردی که گوشی متن رو برعکس هم چاپ می کنه لازم هست که قسمت های فارسی متن حاصل رو برعکس کنم و قسمت های انگلیسیش رو دست نزنم و نتیجه می شه این چیزی که در این برنامه می بینید.

چند تا فایل اصلاح شده:
برنامه جیمیل
http://hajired.persiangig.com/java/Gmail%201.5%20ME.jar
برنامه گوگل تالک
http://hajired.persiangig.com/java/GoTalkMobile%20ME.jar
مووا مسنجر (پشتیبانی از همه مسنجر ها)
http://hajired.persiangig.com/java/MovaMessenger%20ME.jar
اپرا مینی
http://hajired.persiangig.com/java/opera%20mini%204.2%20ME.jar

دوشنبه دوم 10 1387
X