اشکال در نمایش فونتهای عربی در کیوت وبکیت
-
p{direction:rtl; text-align:right}. در یک برنامه ای از کیوتی وب کیت برای نمایش متن های عربی و قران استفاده کردم ولی در زمان نمایش مشکلاتی مثل چیزی که در تصویر زیر نمایش دادم بوجود میاد دوستان نظری ندارند ؟ راه حلی برای این مشکل وجود دارد ؟ آیا مشکل از فونت هست یا مشکل از نمایش وبکیت ؟
!http://www.shiaupload.ir/images/50629326717303692958.jpg(qt webkit arabic font problem)! -
p{direction:rtl; text-align:right}. کد زیر رو برای نمایش در وبکیت استفاده کردم
@<html>
<style>@font-face {
font-family: '__me_quran';
src: url(me_quran.ttf) format('truetype');
}#para1
{
font-family :__me_quran;
text-align : justify;
direction:rtl;
}</style>
[removed]
var step=1;
function plusZoom1(){
document.getElementById("para1").style.zoom = parseFloat(step);
step +=0.5;
}function minusZoom1(){
step -=0.5;
document.getElementById("para1").style.zoom = parseFloat(step);
}
[removed]
<body>
<input type="button" value="+" />
<input type="button" value="-" />
<p id="para1">
بِسْمِ اَللّٰهِ اَلرَّحْمٰنِ اَلرَّحِيمِ ( 1 ) اَلْحَمْدُ لِلّٰهِ رَبِّ اَلْعٰالَمِينَ ( 2 ) اَلرَّحْمٰنِ اَلرَّحِيمِ ( 3 ) مٰالِكِ يَوْمِ اَلدِّينِ ( 4 ) إِيّٰاكَ نَعْبُدُ وَ إِيّٰاكَ نَسْتَعِينُ ( 5 ) اِهْدِنَا اَلصِّرٰاطَ اَلْمُسْتَقِيمَ ( 6 ) صِرٰاطَ اَلَّذِينَ أَنْعَمْتَ عَلَيْهِمْ غَيْرِ اَلْمَغْضُوبِ عَلَيْهِمْ وَ لاَ اَلضّٰالِّينَ ( 7 )
</p>
</body>
</html>@ -
p{direction:rtl; text-align:right}. کد زیر هم جواب نمیده
@<html>
<style>@font-face {
font-family: '__me_quran';
src: url(me_quran.ttf) format('truetype');
}#para1
{
font-family :__me_quran;
/text-align : justify;/
direction:rtl;
}</style>
[removed]
var current = 0;
var fontSizes = [6,7,8,9,10,11,12,14,16,18,20,22,24,26,28,36,48,72];
function plusZoom1(){
if(current < fontSizes.length){
current++;
document.getElementById("para1").style.fontSize=fontSizes[current]+"px" ;
}
}function minusZoom1(){
if(current >0){
current--;
document.getElementById("para1").style.fontSize=fontSizes[current]+"px" ;
}
}
[removed]
<body>
<input type="button" value="+" />
<input type="button" value="-" />
<p id="para1">
بِسْمِ اَللّٰهِ اَلرَّحْمٰنِ اَلرَّحِيمِ ( 1 ) اَلْحَمْدُ لِلّٰهِ رَبِّ اَلْعٰالَمِينَ ( 2 ) اَلرَّحْمٰنِ اَلرَّحِيمِ ( 3 ) مٰالِكِ يَوْمِ اَلدِّينِ ( 4 ) إِيّٰاكَ نَعْبُدُ وَ إِيّٰاكَ نَسْتَعِينُ ( 5 ) اِهْدِنَا اَلصِّرٰاطَ اَلْمُسْتَقِيمَ ( 6 ) صِرٰاطَ اَلَّذِينَ أَنْعَمْتَ عَلَيْهِمْ غَيْرِ اَلْمَغْضُوبِ عَلَيْهِمْ وَ لاَ اَلضّٰالِّينَ ( 7 )
</p>
</body>
</html>@ -
p{direction: rtl; text-align: right}. فکر کنم مشکل مربوط به html باشه نه webkit. تموم کدت همینه؟ کد های زیر رو تو html داری؟
@<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>@ -
p{direction: rtl; text-align: right}. بله این کد رو هم تست کردم ولی نتیجه مناسبی حاصل نشد مثال زیر رو اگر امانش هست یک نگاهی بندازید ؟ راستی من این برنامه رو با کیوت 5 هم تو ابونتو تست کردم و مشکل انجا هم بود ولی توی مرورگر کرومیوم این مشکل وجود نداره
"example file link":http://filesave.me/file/22481/arabicFontInWebkit-rar.htmlhttp://
-
p{direction: rtl; text-align: right}. قلمهای شما مشکلدار هستند. بهطور مشخص نویسهٔ _ بهدرستی طراحی نشده و کد این نویسه توی جدولهای KERN و JUSTIFY بهکار نرفته.
p{direction: rtl; text-align: right}. برای تست کیوت وبکیت از قلمهایی استفاده کنید که درست و حسابی طراحی شده باشند. مثلاً C Niloofar و یا Scherazade.
p{direction: rtl; text-align: right}. وبکیت مشکلاتی داره ولی نه تا این کد که حتا نتونه کشیدگیها رو درست قرار بده. طراحی فونتها خیلی بد هست.
-
p{direction: rtl; text-align: right}. ممنون از پاسختون . دوتا فونتی که برا نمونه گفتین رو تست کردم ولی اونها هم مشکل دارند تعدادی فونت عربی دیگه رو هم که دارم تست کردم اونها هم مشکل دارند البته فونت نیلوفر توی بعضی از اندازه ها مشکل نداره ولی تو بعضی اندازه ها باز کارکتر زیر خط جای مناسبی قرار نمیگیره و متن ناخوانا میشه
-
p{direction: rtl; text-align: right}. من پروژه ات رو تست کردم. با scheherazade مشکل برطرف میشه.
http://cooltext.com/Download-Request?Type=Font&ID=11268 -
p{direction:rtl; text-align:right}. ممنون از تستتون .من هم با این فونت تست کردم ولی مشکل همچنان هست تصویر زیر برنامه رو نشون میده فقط در سایز اولش مشکل نداره و با زوم کردن اشکال بوجود میاد
!http://www.shiaupload.ir/images/04460471512891819528.jpg(testProgramWithScheherazadeRegOT.ttf)!
-
[quote author="hdeldar" date="1346828228"]p{direction:rtl; text-align:right}. ممنون از تستتون .من هم با این فونت تست کردم ولی مشکل همچنان هست تصویر زیر برنامه رو نشون میده فقط در سایز اولش مشکل نداره و با زوم کردن اشکال بوجود میاد
p{direction:rtl; text-align:right}. فونت شهرازاد مشکلی نداره. مشکل از RenderEngine شماست. من قبلن یک همچین مشکلی رو ریپورت کردم به مایکروسافت. توی ویندوز پشتیبانی کاملی از پروتکلهای OpenType نداریم و شما هیچ راهی برای اصلاح این خطاها نخواهید داشت مگر طراحی یک Text Engine جدید
p{direction:rtl; text-align:right}. بهویژه این که محصولات مایکروسافت هیچ درکی نسبت به Contextual Ligature ندارن. این یک نمونهش که من سال ۲۰۱۰ ریپورت کردم و همچنان اصلاح نشده: http://typophile.com/node/69087 دقیقاً همین مورد توی عکس شما هم قابل مشاهده است
-
p{direction:rtl; text-align:right}. چند تا سوال : 1- مگر وب کیت از موتور رندر خودش استفاده نمیکنه پس چه ربطی به ویندوز داره؟2- توی ورد 2007 من تست کردم و در اونجا تمام این فونت ها به نظر درست می آید ؟ 3- در سی اس اس 3 یک سری استایل های هست که در اینترنت اکسپلورر درست کار می کنه ولی توی وب کیت کار نمیکنه که در ورد هم این استایلها عامل صحتش هست ؟ استایل های رو پایین نوشتم 4- در فروم که بالا لینکش رو دادید آقای جان گفته بود که اگر قبل از محاسبات در بافر تاتوال ها یا همون زیر خط ها رو به متن اضافه کنیم بقیه کار درست خواهد شد .خوب تو کیوت نمیتونیم خودمون بریم و درست کنیم ؟
@text-justify: auto|inter-word|inter-ideograph|inter-cluster|distribute|kashida|trim;@
"css3_pr_text-justify":http://www.w3schools.com/cssref/css3_pr_text-justify.asp -
[quote author="hdeldar" date="1346917992"]p{direction:rtl; text-align:right}. چند تا سوال : 1- مگر وب کیت از موتور رندر خودش استفاده نمیکنه پس چه ربطی به ویندوز داره؟2- توی ورد 2007 من تست کردم و در اونجا تمام این فونت ها به نظر درست می آید ؟ 3- در سی اس اس 3 یک سری استایل های هست که در اینترنت اکسپلورر درست کار می کنه ولی توی وب کیت کار نمیکنه که در ورد هم این استایلها عامل صحتش هست ؟ استایل های رو پایین نوشتم 4- در فروم که بالا لینکش رو دادید آقای جان گفته بود که اگر قبل از محاسبات در بافر تاتوال ها یا همون زیر خط ها رو به متن اضافه کنیم بقیه کار درست خواهد شد .خوب تو کیوت نمیتونیم خودمون بریم و درست کنیم ؟
@text-justify: auto|inter-word|inter-ideograph|inter-cluster|distribute|kashida|trim;@
"css3_pr_text-justify":http://www.w3schools.com/cssref/css3_pr_text-justify.asp[/quote]p{direction:rtl; text-align:right}. ۱. کیوت از حرفباز استفاده میکنه. اما پیادهسازی از پروتکل OTF رو نداره. این مربوط به سیستمعامل میشه نه فریمورک. رندر کردن آخرین مرحلهست که انجام میشه. تنها مسألهٔ سرعت و کیفیت هست. اما منطق فونتها درست ارزیابی نشده و این مربوط به پیادهسازی پروتکل OpenType هست. نه رندر فونتها.
p{direction:rtl; text-align:right}. ۲. من هم توی ورد ۲۰۰۷ تست کردم و این فونتها درست نیستند!
p{direction:rtl; text-align:right}. کشیده مربوط به جدولهای JUSTIFY میشه که توی ویندوز پیادهسازیشون غلطه
-
p{direction:rtl; text-align:right}.
سلام
بعد از بررسی هایی که انجام دادم متوجه شدم این مشکل زمانی ایجاد میشود که تنظم نمایش بصورت جاستیفای باشه و اگر این حالت نباشه چنین مشکلی پیش نمی آید
این مشکل در QTextEditهم پیش میاد
فکر میکنم کلا کیوت با جاستیفای متن فارسی و عربی یه خورده مشکل داره -
[quote author="hosein" date="1358314924"]p{direction:rtl; text-align:right}.
سلام
بعد از بررسی هایی که انجام دادم متوجه شدم این مشکل زمانی ایجاد میشود که تنظم نمایش بصورت جاستیفای باشه و اگر این حالت نباشه چنین مشکلی پیش نمی آید
این مشکل در QTextEditهم پیش میاد
فکر میکنم کلا کیوت با جاستیفای متن فارسی و عربی یه خورده مشکل داره[/quote]p{direction:rtl; text-align:right}. مشکل از سیستمعامله نه کیوت. کیوت هیچ پیادهسازیای از OTF نداره :/
-
[quote author="hdeldar" date="1359101457"]p{direction:rtl; text-align:right}. معلومه.اگر interface داره بهم بدید . اگر امکان داره توضیحی هم برای روالهاش برام بگید در اولین فرصت شروع می کنم. [/quote]
p{direction:rtl; text-align:right}. مثل این که ویندوز رو با لینوکس اشتباه گرفتی! گیرم یک پیادهسازی جامع از OpenType داشته باشی. قصد داری چطور ازش استفاده کنی توی ویندوز؟ نمیتونی که بهزور بچپونیش توی API های سیستم عامل! ویندوز یک سیستمعامل متنبسته با فلسفهٔ همینی که هست یعنی از یه سطحی پایینتر دیگه نمیتونی دست بزنی. توی لینوکس اما پیادهسازیهای مختلفی وجود داره. از جمله "حرفباز":http://www.freedesktop.org/wiki/Software/HarfBuzz و بقیه. اصلاً لازم هم نیست یه پیادهسازی دیگه انجام بدی.