PDA

View Full Version : حذف دو نقطه از ي



romixery
دوشنبه 21 اسفند 1391, 10:06 صبح
با سلام.
من در حال توسعه يه نرم‌افزار آندرويد هستم كه در اون از خط Droid arabic naskh استفاده مي‌كنم. در اين فونت متأسفانه هنگام تايپ "ي" دو نقطه زيرش رو هم چاپ مي‌كنه. مي‌خواستم ببينم چجوري مي‌تونم اين دو نقطه رو بردارم. بايد بگم كه اين فونت رو مستقيم از پكيج "بازار" برداشتم و در برنامه بازار از همين فونت استفاده شده، بدون اينكه "ي" اون نقطه دار باشه. در ضمن Local رو هم به فارسي تغيير دادم.
ممنون و متشكر.

sajadpm
دوشنبه 21 اسفند 1391, 11:59 صبح
با سلام و خسته نباشید

خب شما به جای استفاده از "ي" دونقطه از "ی" معمولی استفاده کنید ! البته شاید منظور شما این است که ی معمولی رو ي نشون میده ؟

mahdi1373
پنج شنبه 24 اسفند 1391, 21:37 عصر
باید توی کل کاراکتر های یونیکدِ عربی و فارسی بگردی، کدِ این دو نوع ی رو دربیاری، اونوقت هرجا می خوای چیزی چاپ کنی، متنتو بررسی کنی و کدِ یِ بی نقطه رو جایگزین یِ با نقطه کنه...

متنتو مستقیم تو کد می نویسی، یا از فایل می خونی یا از recouse ها؟

Modernidea
جمعه 25 اسفند 1391, 12:28 عصر
سلام

از کلاسی که در لینک زیر قرار میدم استفاده کنید، فکر میکنم مشکلتون حل بشه.
http://stackoverflow.com/questions/7962704/how-to-support-arabic-text-in-android/7962813#7962813

موفق باشید.

romixery
جمعه 25 اسفند 1391, 12:41 عصر
با سلام. و تشكر از توجه دوستان عزيز. ببخشيد كه دير جواب دادم:

خب شما به جای استفاده از "ي" دونقطه از "ی" معمولی استفاده کنید ! البته شاید منظور شما این است که ی معمولی رو ي نشون میده ؟
خوب كاراكتر ي بدون نقطه چيه؟ يعني تركيب صفحه كليدش چيه؟ «اصلاحيه: پيدا كردم ~ + Shift ولی مشکلی که داره اینه که توی Eclipse وقتی ~ + Shift میگیرم میاد X میزنه!!!»

متنتو مستقیم تو کد می نویسی، یا از فایل می خونی یا از recouse ها؟
از Resources ها ميخونمش.

از کلاسی که در لینک زیر قرار میدم استفاده کنید، فکر میکنم مشکلتون حل بشه.
اين كلاس رو قبلاً ديده بودم و مطالعه كردم. ولي راستش يه مشكل اساسي اصلاً با خود اين قضيه دارم. يعني همين جدا جدا شدن كلمات كه استفاده از اين كلاس‌ها رو توجيه مي‌كنه. من براي توسعه از SDK 17 استفاده مي‌كنم. يعني آندرويد 4.2. چندتا برنامه تست رو هم كه باهاش توليد كردم، روي دو تا گوشي با دو ورژن مختلف آندرويد. يكي 2.3.5 و ديگري 4.0.3 امتحان كردم.. در هردو هم متن فارسي رو در Resource‌ها قرار دادم. شنيده بودم كه آندرويد از نسخه 3 به بعد مشكلي با فارسي نويسي نداره. و برنامه من هم بدون هيچ مشكلي كاراكترهاي فارسي را روي هردو گوشي نمايش داد. از اين كلاس farsi.java و يا كلاسهاي مشابه مثل PersianReshape‌هم استفاده نكردم. اين كه بدون استفاده از اين كلاس‌ها فارسي رو درست نشون ميداد، در دستگاهي كه آندرويد 4.0.3 داره طبيعيه. ولي روي دستگاهي كه آندرويد 2.3.5 داره ديگه چرا درست نشون ميده؟
دستگاه‌هايي كه امتحان كردم، گوشي HTC Sensation‌ كه آندرويد 4.0.3 داره و HTC Explorer‌كه آندرويد 2.3.5 داره. مخواستم ببنيم اصلاً مورد استفاده از اين كلاس‌ها چيه؟ آيا نيازي با استفاده از اونا در حالي كه از SDK 17 استفاده مي‌كنم هست يا خير؟
ممنون از پاسخ دوستان.

Modernidea
شنبه 26 اسفند 1391, 00:40 صبح
سلام

دلیل اینکه از اینجور کلاس ها استفاده میشه تا جایی که من میدونم، همین جدا نشون داده شدن حروف است وگر نه لازم به استفاده از این کلاس ها نیست، چون اگر از این کلاس در گوشی ای استفاده بشه که اصلا زبان فارسی را پشتیبانی نکنه، خروجی که از این کلاس ها در صفحه دیده میشه به صورت یک شکل چهارگوش است!

در نسخه های مختلف اندروید، حروف عربی یا فارسی طبق توضیح موجود در لینک داده شده به شرح زیر است:


اندروید 2.1 فاقد فونت عربی است
اندروید 2.2 فونت عربی دارد ولی حروف مورد نظر را به درستی نمایش نمیدهد
اندروید 3 به بعد از عربی به طور کامل پشتیبانی میکند



برای اندروید 2.1 باید typeface را به
Farsi.GetFarsiFont(this) تغییر بدید بعد از
Farsi.Convert("سلام") استفاده کنید
برای اندروید 2.2 نیاز به تنظیم typeface نیست ولی باید از
Farsi.Convert("سلام") استفاده کنید
برای اندروید 3 به بعد هم لازم به استفاده از هیچ کدام از راه های بالا نیست، اما اگر بخواهید میتوانید از فونت های دالخواه استفاده کنید

لینک مطلب ذکر شده:http://stackoverflow.com/a/7962813/478162

موفق باشید.

romixery
شنبه 26 اسفند 1391, 10:49 صبح
سلام. با تشکر از پاسخ جنابعالي. ببينيد من مي دونم كه در اندرويد 2.2 كاراكتره‌ها رو نا مرتب نشون ميده. سوال من اينه كه كدي كه نوشتم، بدون استفاده از كلاس Farsi.java در آندرويد 2.3.5 داره درست نشون ميده كه قاعدتاً نبايد اينجور باشه. ميخوام ببينم دليلش چيه؟

Nevercom
یک شنبه 27 اسفند 1391, 14:12 عصر
بعضی از شرکت ها مثل سامسونگ پشتیبانی رسمی از زبان فارسی دارن و درنتیجه بدون هیچ کار خاصی متن درست نمایش داده میشه، شما اینکار رو انجام میدید که احتمال ناخوانا بودن نوشته ها رو به حداقل برسونید