Qt Forum

    • Login
    • Search
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Search
    • Unsolved

    اشکال در نمایش فونتهای عربی در کیوت وبکیت

    Persian
    5
    22
    10052
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • H
      hdeldar last edited by

      p{direction:rtl; text-align:right}. در یک برنامه ای از کیوتی وب کیت برای نمایش متن های عربی و قران استفاده کردم ولی در زمان نمایش مشکلاتی مثل چیزی که در تصویر زیر نمایش دادم بوجود میاد دوستان نظری ندارند ؟ راه حلی برای این مشکل وجود دارد ؟ آیا مشکل از فونت هست یا مشکل از نمایش وبکیت ؟
      !http://www.shiaupload.ir/images/50629326717303692958.jpg(qt webkit arabic font problem)!

      1 Reply Last reply Reply Quote 0
      • H
        hsiami last edited by

        p{direction:rtl; text-align:right}. منم به این مشکل برخورد کردم . نتونستم حلش کنم.

        1 Reply Last reply Reply Quote 0
        • H
          hdeldar last edited by

          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>@

          1 Reply Last reply Reply Quote 0
          • H
            hdeldar last edited by

            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>@

            1 Reply Last reply Reply Quote 0
            • M
              mohsen last edited by

              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>@

              1 Reply Last reply Reply Quote 0
              • H
                hdeldar last edited by

                p{direction: rtl; text-align: right}. بله این کد رو هم تست کردم ولی نتیجه مناسبی حاصل نشد مثال زیر رو اگر امانش هست یک نگاهی بندازید ؟ راستی من این برنامه رو با کیوت 5 هم تو ابونتو تست کردم و مشکل انجا هم بود ولی توی مرورگر کرومیوم این مشکل وجود نداره

                "example file link":http://filesave.me/file/22481/arabicFontInWebkit-rar.htmlhttp://

                1 Reply Last reply Reply Quote 0
                • S
                  soroush last edited by

                  p{direction: rtl; text-align: right}. قلم‌های شما مشکل‌دار هستند. به‌طور مشخص نویسهٔ _ به‌درستی طراحی نشده و کد این نویسه توی جدول‌های KERN و JUSTIFY به‌کار نرفته.

                  p{direction: rtl; text-align: right}. برای تست کیوت وب‌کیت از قلم‌هایی استفاده کنید که درست و حسابی طراحی شده باشند. مثلاً C Niloofar و یا Scherazade.

                  p{direction: rtl; text-align: right}. وب‌کیت مشکلاتی داره ولی نه تا این کد که حتا نتونه کشیدگی‌ها رو درست قرار بده. طراحی فونت‌ها خیلی بد هست.

                  1 Reply Last reply Reply Quote 0
                  • H
                    hdeldar last edited by

                    p{direction: rtl; text-align: right}. ممنون از پاسختون . دوتا فونتی که برا نمونه گفتین رو تست کردم ولی اونها هم مشکل دارند تعدادی فونت عربی دیگه رو هم که دارم تست کردم اونها هم مشکل دارند البته فونت نیلوفر توی بعضی از اندازه ها مشکل نداره ولی تو بعضی اندازه ها باز کارکتر زیر خط جای مناسبی قرار نمیگیره و متن ناخوانا میشه

                    1 Reply Last reply Reply Quote 0
                    • M
                      mohsen last edited by

                      p{direction: rtl; text-align: right}. من پروژه ات رو تست کردم. با scheherazade مشکل برطرف میشه.
                      http://cooltext.com/Download-Request?Type=Font&ID=11268

                      1 Reply Last reply Reply Quote 0
                      • H
                        hdeldar last edited by

                        p{direction:rtl; text-align:right}. ممنون از تستتون .من هم با این فونت تست کردم ولی مشکل همچنان هست تصویر زیر برنامه رو نشون میده فقط در سایز اولش مشکل نداره و با زوم کردن اشکال بوجود میاد

                        !http://www.shiaupload.ir/images/04460471512891819528.jpg(testProgramWithScheherazadeRegOT.ttf)!

                        1 Reply Last reply Reply Quote 0
                        • M
                          mohsen last edited by

                          p{direction: rtl; text-align: right}. دیگه زیادم حساس نباش.

                          1 Reply Last reply Reply Quote 0
                          • S
                            soroush last edited by

                            [quote author="hdeldar" date="1346828228"]p{direction:rtl; text-align:right}. ممنون از تستتون .من هم با این فونت تست کردم ولی مشکل همچنان هست تصویر زیر برنامه رو نشون میده فقط در سایز اولش مشکل نداره و با زوم کردن اشکال بوجود میاد

                            !http://www.shiaupload.ir/images/04460471512891819528.jpg(testProgramWithScheherazadeRegOT.ttf)![/quote]

                            p{direction:rtl; text-align:right}. فونت شهرازاد مشکلی نداره. مشکل از RenderEngine شماست. من قبلن یک همچین مشکلی رو ریپورت کردم به مایکروسافت. توی ویندوز پشتیبانی کاملی از پروتکل‌های OpenType نداریم و شما هیچ راهی برای اصلاح این خطاها نخواهید داشت مگر طراحی یک Text Engine جدید

                            p{direction:rtl; text-align:right}. به‌ویژه این که محصولات مایکروسافت هیچ درکی نسبت به Contextual Ligature ندارن. این یک نمونه‌ش که من سال ۲۰۱۰ ریپورت کردم و همچنان اصلاح نشده: http://typophile.com/node/69087 دقیقاً همین مورد توی عکس شما هم قابل مشاهده است

                            1 Reply Last reply Reply Quote 0
                            • H
                              hdeldar last edited by

                              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

                              1 Reply Last reply Reply Quote 0
                              • S
                                soroush last edited by

                                [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 میشه که توی ویندوز پیاده‌سازی‌شون غلطه

                                1 Reply Last reply Reply Quote 0
                                • H
                                  hosein last edited by

                                  p{direction:rtl; text-align:right}.
                                  سلام
                                  بعد از بررسی هایی که انجام دادم متوجه شدم این مشکل زمانی ایجاد میشود که تنظم نمایش بصورت جاستیفای باشه و اگر این حالت نباشه چنین مشکلی پیش نمی آید
                                  این مشکل در QTextEditهم پیش میاد
                                  فکر میکنم کلا کیوت با جاستیفای متن فارسی و عربی یه خورده مشکل داره

                                  1 Reply Last reply Reply Quote 0
                                  • S
                                    soroush last edited by

                                    [quote author="hosein" date="1358314924"]p{direction:rtl; text-align:right}.
                                    سلام
                                    بعد از بررسی هایی که انجام دادم متوجه شدم این مشکل زمانی ایجاد میشود که تنظم نمایش بصورت جاستیفای باشه و اگر این حالت نباشه چنین مشکلی پیش نمی آید
                                    این مشکل در QTextEditهم پیش میاد
                                    فکر میکنم کلا کیوت با جاستیفای متن فارسی و عربی یه خورده مشکل داره[/quote]

                                    p{direction:rtl; text-align:right}. مشکل از سیستم‌عامل‌ه نه کیوت. کیوت هیچ پیاده‌سازی‌ای از OTF نداره :/

                                    1 Reply Last reply Reply Quote 0
                                    • H
                                      hdeldar last edited by

                                      p{direction:rtl; text-align:right}. سروش جان راه حل بدی من حاضرم روش وقت بزارم و کدهاش رو بنویسم

                                      1 Reply Last reply Reply Quote 0
                                      • S
                                        soroush last edited by

                                        [quote author="hdeldar" date="1358333963"]p{direction:rtl; text-align:right}. سروش جان راه حل بدی من حاضرم روش وقت بزارم و کدهاش رو بنویسم [/quote]

                                        p{direction:rtl; text-align:right}. می‌خوای یه پیاده‌سازی از OTF برای ویندوز بنویسی؟

                                        1 Reply Last reply Reply Quote 0
                                        • H
                                          hdeldar last edited by

                                          p{direction:rtl; text-align:right}. معلومه.اگر interface داره بهم بدید . اگر امکان داره توضیحی هم برای روالهاش برام بگید در اولین فرصت شروع می کنم.

                                          1 Reply Last reply Reply Quote 0
                                          • S
                                            soroush last edited by

                                            [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 و بقیه. اصلاً لازم هم نیست یه پیاده‌سازی دیگه انجام بدی.

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post