رفتن به مطلب
انجمن اندروید ایران | آموزش برنامه نویسی اندروید و موبایل
  • android.png.1fab383bc8500cd93127cebc65b1dcab.png

مشکل فونت فارسی در webview


پست های پیشنهاد شده

اساتید محترم

با سلام و احترام،

با توجه به جستجو در اینترنت متوجه شدم که فونت فارسی (نوشته ها نه عداد) در webview اعمال نمی شود از طریق css و font-face، این مشکل را کاربر دیگری نیز داشته توی این سایت که تا آخر پیگیری کردم دیدم جوابی نگرفته.

نیاز اصلی باز کردن یک صفحه از روی یک سایت هست، وقتی با browser default اندروید چک میکنی فونت ها به هر روشی که چک کردم اعمال نمیشه اما با browser Chrome بدون مشکل نمایش داده می شود.

سوال اصلی، راهی هست engine اصلی webview از browser chrome استفاده کنه؟

از این کد هم استفاده کردم نتیجه نگرفتم:

web.setWebChromeClient(new WebChromeClient());

در صورتی که در این خصوص تجربه ای دارید لطفا راهنمایی فرمائید.

1- هر گونه روشی برای تغییر فونت فارسی در Webview

یا

2- استفاده از engine Chrome بجای default browser اندروید جهت نمایش درست فونت های فارسی.

با تشکر

لینک ارسال
به اشتراک گذاری در سایت های دیگر

مدیریت محترم انجمن، خواهشا این موضوع را حذف کنید چون کسی تمایل به هم فکری و پیدا کردن راهکار نداره در این خصوص...

برای اطلاع دوستان عزیز و رفع مشکل مطروحه که خودم مطرح کردم و جواب نگرفتم یک راهکار غیر استاندارد وجود دارد، از iframe استفاده کنید و آدرس مورد نظر خود را در کد html دخل یک iframe بارگزاری نمائید. البته راهکار اندرویدی نیست.

موفق باشید

لینک ارسال
به اشتراک گذاری در سایت های دیگر

منم با ایمیولتر تست کردم جواب میداد.

با گوشیم تست کردم باز جوابّـــــــــــــــــــــــــــــــــــــــــــــــــــ داد!

لینک ارسال
به اشتراک گذاری در سایت های دیگر

منم با ایمیولتر تست کردم جواب میداد.

با گوشیم تست کردم باز جوابّـــــــــــــــــــــــــــــــــــــــــــــــــــ داد!

ممنون از هر 2 دوست عزیز که این مورد را بررسی کردید،

از اسکریپت html ارسالی استفاده کردم اما از فونت پیش فرض استفاده می کنه و فونت تعریف شده نمایش داده نمی شود.

از اندروید 4 به بالا استفاده می کنم، نوع فونت های تعریف شده در font-face که استفاده و امتحان گردیده:

ttf - .eot. - .woff - .svg.

در صورت امکان نمونه فایل پروژه اندروید که تست کردید جواب گرفته اید را ارسال فرمائید تا تست نمایم.

با تشکر مجدد

لینک ارسال
به اشتراک گذاری در سایت های دیگر
دوست عزیز من توی پروژه جدا تست نکردم فایلشو میفرستم

فایل html

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

[shcode=java]mWebView = (WebView)findViewById(R.id.webView1);

        mWebView.getSettings().setJavaScriptEnabled(true);

        mWebView.getSettings().setPluginsEnabled(true);

        mWebView.getSettings().setAllowFileAccess(true);

        mWebView.getSettings().setLoadWithOverviewMode(false);

        mWebView.getSettings().setUseWideViewPort(false);

        mWebView.loadUrl("file:///android_asset/2.html");[/shcode]

فونت رو هم توی پوشه assets بذارین

لینک ارسال
به اشتراک گذاری در سایت های دیگر

دوستانی که جواب گرفتن از چه نسخه ای از اندروید استفاده میکنن؟

زحمت کشیدید چک کردید، حداقل نسخه اندروید رو هم چک کنید و بنویسید.

فکر نمیکنم هیچ کدوم با اندروید 4 به بالا خروجی گرفته باشید، جای شک اینجا به وجود اومد که mohammadi66 عزیز گفیتن:

RE: مشکل فونت فارسی در webview

منم با ایمیولتر تست کردم جواب میداد.

با گوشیم تست کردم باز جوابّـــــــــــــــــــــــــــــــــــــــــــــــــــ داد!

که اکثریت موبایل ها نسخه 4 به بالا را دیگه پشتیبانی می کنن.

اگه نسخه 4 به بالا هست کد یا نمونه فقط webview استفاده شده را در قالب یک پروژه در اختیار همه دوستان در انجمن قرار دهید.

ممنون

لینک ارسال
به اشتراک گذاری در سایت های دیگر
دوست عزیز من کد html و عوض کردم روی اندروید 4.1 تست کردم جواب نداد

راهکاری برای این مورد هست که بشه فقط فونت B Yekan را ست کرد تا نمایش بده؟

توی سایت اصلی و اکثر فروم های مرجع خارجی هم چک کردم باگ اندروید 4 به بالا محسوب میشه و چند تا راهکار چند نفر پیشنهاد کرده بودن که استفاده کردم جواب نگرفتم.

مثل:

[align=left]- on Android 4.2.1 the CSS option

text-rendering:

[/align]

یا تبدیل فونت به فرمت SVG و ...

هر یک از دوستان راهکاری پیشنهاد دارند یا تست کردن جواب گرفتن لطفا به اشتراک بزارید.

آیا توی اندروید امکان این هست تا engine اصلی که نمایش گر وب پیش فرض webview استفاده می کند را به chrome تغییر داد، چون به صورت معمول هم با خود Default Browser هم باز میکنید این مشکل وجود داره.

لینک ارسال
به اشتراک گذاری در سایت های دیگر
  • 2 هفته بعد...
  • 10 ماه بعد...

        

        

                    
            

              

                

Login


                


                  <?php if(isset($_SESSION['msg'])){ 
                    
                            echo $admin_lang[$_SESSION['msg']] ; 
                            unset($_SESSION['msg']);        
                            
                    }?>
                


                
                  
                  
 
                      
                  

                  

                  
 
                      
                  

                  

                    Login
                  

                  

                
              

              

            
            

    

    
        

    
    

        
    
    
        
    
        
    
        
    
        
    
        
    
        
    
        

        
    
    
    
    
    
        
    
        
        
        
    
        
    
        
    
        
    
        
    
        
    
        
    
        
    
        
    
        
    
        
    
        
    
        

        
    
    
لینک ارسال
به اشتراک گذاری در سایت های دیگر
  • 2 ماه بعد...
// Pretend this is an html document with those three characters
String scandinavianCharacters = "øæå";

// Won't render correctly
webView.loadData(scandinavianCharacters, "text/html", "UTF-8");

// Will render correctly
webView.loadDataWithBaseURL(null, scandinavianCharacters, "text/html", "UTF-8", null);

لینک ارسال
به اشتراک گذاری در سایت های دیگر
  • 2 سال بعد...

سلام به همه کسانی که این مطلب رو مطالعه می کنند. به نرم مشکل اصلی این هست که دوستان وقتی که یه فایل HTML یا razor با پسوند cshtml رو می خوان save کنن از اونجایی که قاعدتا برای تست متن فارسی یه عبارتی رو توش نوشتن موقع save ویژوال استودیو ازشون می پرسه که با چه encoding فایل ذخیره شه. من بار اول که تنظیمات رو روی UTF-8 گذاشتم متن فارسی بر خلاف انتظار با مشکل روبرو شد. اما وقتی encoding پیش فرض رو گذاشتم متن فارسی درست نشون داده شد. یعنی:

1. مشل از HTML هاتون نیست.

2. مشکل از code behind تون هم نیست. 

روش save کردن فایل های razor و html درست نیست. 

به نظرم وقتی razor  فایل رو می خونه به صورت string خودش اون رو به UTF-8 تبدیل می کنه (البته تو کد خودمون میگیم به چی تبدیل کنه) وقتی خودمون فایل رو UTF-8 ذخیره کردیم تبدیل مجددش به UTF-8 باعث به هم ریختگی متون فارسی می شه. 

در صورتی که نقدی روی حرف من دارید باهام در میون بزارید. تشکر. aran.nima[at]gmail.com

لینک ارسال
به اشتراک گذاری در سایت های دیگر

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .

مهمان
ارسال پاسخ به این موضوع...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

×
×
  • اضافه کردن...