اعراب عربی با رنگ متفاوت
سلام به همه دوستان استاد عزیز
امیدوارم همیشه موفق باشید من خیلی وارد نیستم ولی دارم یکارایی انجام میدم و اولین بار که اینجا سوال مطرح می کنم
مشکل من این هست که می خوام متن عربی طوری تو صفحه چاپ کنم که اعرابش رنگی باشه مثلا قرمز نمی دونم باید چیکار کنم
خیلی تو نت گشتم ولی چیزی دستگیرم نشد اگر کسی می تونه کمک کنه خیلی ازش ممنون می شم
از هر کنترلی که برای نمایش متن استفاده می کنید، (مثلا WebView یا TextView یا حتی Button و غیره) می توانید از تگ های HTML برای فرمت کردن نوشته ها استفاده کنید. حالا این تگ ها را یا (1) در زمان ساختن دیتابیستون ایجاد می کنید و یک بار ذخیره می کنید، یا (2) متن بدون فرمت را در دیتابیس ذخیره می کنید و سپس در زمان اجرا دگ ها را اضافه می فرمایید. مزیت روش اول اینه که سرعت اجرای برنامه شما رو بالا می بره. مزیت روش دوم اینه که میتوانید به دلخواه کاربر هر رنگ و هر تنظیماتی را اعمال کنید.
مثلا برای قرمز کردن همه فتحه ها کدی شبیه به این بنویسید:
TextView txtTest = (TextView) findViewById(R.id.txtTest);
String mainText = "صَدَقَ الله";
String fatha = "َ";
String vasl = "ـ";
mainText = mainText.replaceAll(fatha, vasl + "<font color=red>" + fatha + "</font>");
txtTest.setText(Html.fromHtml(mainText));
در کد بالا از کاراکتری استفاده شده که باعث چسبیدن حروف فارسی می شوند. کد را در گوشی و در ایمولاتور تست کرده ام. اعراب را رنگی و کلمات را به هم پیوسته نشان می دهد. مشکلش این است که آخر کلمه ها را هم می چسباند. نوشتن الکوریتم برای تشخیص وسط یا آخر کلمه بودن دست خودتان را می بوسد.
شما ممکنه آرایه ای از همه اعراب ها داشته باشید و با یک حلقه for رنگ همه آنها را تغییر دهید. همچنین ممکن است بخشی در تنظیمات برنامه خود داشته باشید که رنگ دلخواه کاربر را از او بپرسد و...
TextView txt = (TextView) findViewById(R.id.txt);
String mainText = "صَدَقَ الله";
String fatha = "َ";
String htmlText = mainText.replaceAll("\u064E", "<font color='#c5c5c5'>\u064F</font>");
txt.setText(Html.fromHtml(htmlText));
وقتی کد بالا رو می زنم ص د ق الله میشه و اعرابش حذف می شه
خدمت تمام کاربران محترم و مدیریت عزیز سلام عرض میکنم هنوز روشی جامع پیدا نشده!!
هم تو این سایت و هم تو اینترنت هنوز یه روش جامع که بتونه اعراب رو خوب رنگی نشون بده پیدا نکردم و با هیچ کدام از این روشها نتونستم کاری کنم. نهایت کاری که تونستم انجام بدم این تصویر زیره. اگه کسی میتونه کمک کنه دریغ نکنه
1-برای این کار فونت خاصی میخواهد؟ با تشکر

پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .