Arabic Language in Android

In: Android|Java

20 Jan 2009
Arabic Android

Arabic Android

Thanks to Ahmad Essam‘s Article about google android, I had the ArabicReshaper.java file and made some enhancements.

With the help of this person, I was able to develop my first Arabic writer program that proves that Android is Arabic support and hopefully to have a fully functional application that read/write Arabic and may help other applications that need Arabic support to find their purpose perfectly.

Updated: now check this link for the SMS Arabic Mobile Manager

First the file lacked some enhancements regarding the placing of the letters, but it almost was complete, i only did a small touch and it was complete.

But the Reshaper class is only processing one word, it couldnt be a good success to combine arabic english letters, or add a space, so i made my helper class, ArabicUtilities.java with four functions in it, to determine if the text contain arabic letters, and to reshape a whole text containing english, Arabic and others.

The Tricky part was to insert the font to be working with, as described in Ahmad Essam’s blog article “How Does Arabization Work” that the free type font is already supported, and BiDi is already supported, so just reshaping and have a freetype font and your good to go, so how to load my arabic free type font library without having to force it in my SDK, because it wouldnt be reasonable to have this in a real working mobile.

The answer to that is really simple actually, in Android they provided a great thing called Asset Manager where i can have my read-only files to load them as streams or with whatever way i want -helpful for configurations and stuff-, and with a little help of java Font library it was done by only a few lines of code here is the snippet


AssetManager manager=this.getAssets();
try
{
manager.open("tahoma.ttf");
TextView tv=(TextView)this.findViewById(R.id.testMe);
tv.setTypeface(Typeface.createFromAsset(manager, "tahoma.ttf"));
tv.setTextSize(50f);
tv.setText(ArabicUtilities.reshape("adsdads الحمد لله asdad"));
}catch(Exception ex){
//TODO
}

and Hopp it all went great, and my android start reading Arabic like it was born doing it!

I’ll be putting the solution online for download soon, just need to modify few issues first.

Updated: now check this link for the SMS Arabic Mobile Manager

Updated: new news considering Android Application in here

80 Responses to Arabic Language in Android

Avatar

Q8android

January 25th, 2009 at 3:50 am

Great work guys! I’ve been checking Ahmed’s blog for ever, waiting for the arabization to officially finish! Big thanks to all who chipped in making this piece of art… thanks guys! And dont forget to put your names in the credits!

Avatar

agawish

January 25th, 2009 at 10:36 am

I think all credits goes to ahmed, as his help is what gave me -at least- the first push.

I’ll try to upload the project this week to make all use it in a good way.

Thanks

Avatar

Abdulrahman

January 25th, 2009 at 4:36 pm

does everything work in arabic? im glad that you did this =D when will you put it online inshallah?

Avatar

Abdulla

January 26th, 2009 at 8:43 am

This is great news :)

are you aiming for a program by itself (text editor, SMS reader) or the whole system?
I am really excited that android is going to have Arabic at this early time, this is really a great step for all the Arabic programmers. Thanks to Allah then to you guys (both)

my best wishes for both of you, and i am waiting for your great work.

Avatar

agawish

January 26th, 2009 at 10:09 am

Well there is something in android called Antenna Receiver – I don’t remember the name now!- That it can help any program to use the Arabic functionality in their programs without having to include all the code i wrote, but only by calling my applications API’s and using my functionality.

So this application shall be the core and the antenna receiver and then the text message reader shall be another application, you know the point.

Anyway I’ll upload the application on this weekend at most, so wait for this article to be updated.

Thanks

Avatar

Mohammed

January 28th, 2009 at 9:44 am

Great job, but I’m really not very good at I.T plz can anyone send me the easy file to install, plz plz plz on y email if posible: fajwani@gamil.com

Avatar

Rashoodz

January 31st, 2009 at 2:24 am

Great Job! Please let me know when it releases.

Avatar

Murty

February 2nd, 2009 at 4:57 am

Awesome >> good job and hope to see it soon. Good luck

Avatar

Aman

February 5th, 2009 at 9:56 pm

The only thing Android is messing is supporting Arabic
If this works!! Android will be the perfect OS for me.

Will you upload it to Android market?
What will the name be?

Thanks man

Avatar

agawish

February 6th, 2009 at 3:20 am

Well i can actually say that android is a good operating system, and the Arabic issue is a little issue if you compared it to sharing files via bluetooth for instance!

But it’s a trust worthy device, and it the future to come along with iPhone and palm pre

Avatar

Aman

February 6th, 2009 at 7:28 am

There are many features that has been disabled in the Android and they are far more important than BT.

Auto Rotation (use DroidSans Tweak Tools)

Multi-touch screen //check this link: http://lukehutch.wordpress.com/2009/01/25/get-multi-touch-support-on-your-t-mobile-g1-today/

Stereo BT

But the Only thing I am interested in right now is the ability to read Arabic.

Avatar

MZ

February 7th, 2009 at 7:56 am

agawish;

Greate job man, please let us know what is the name of your Application in the market that enable the Arabic in android so that we download it. or have it posted please and we can installe it manual. we really need the arabic in android so badely.

Thank you

Avatar

agawish

February 7th, 2009 at 11:09 am

well MZ its not in the market, my post target the developers actually.

but it’d be nice to have it in the market, but actually i dont have a piece of android to test my application on it :)

but after I have one It’ll be there on the market asap

Thanks

Avatar

Abdulla

February 7th, 2009 at 11:47 am

Hello Amr

When should we expect the code, I hope your schedule is not overloaded

thanks for your help

Avatar

agawish

February 7th, 2009 at 12:18 pm

Well actually it’s overloaded :)

I barely have time to check your comments, and response to it.

but inshAllah i’ll do it soon, inshAllah it’ll be on next Friday or Saturday -I hope-

Avatar

thoughts on the g1 « whats the plot

February 11th, 2009 at 11:52 am

[...] barcodes. the english to arabic dictionary actually renders proper shaped arabic. apparently, some people have gotten arabic (the font and shaping) to work (though i am not sure if it’s throughout all the [...]

Avatar

Osama

February 13th, 2009 at 2:52 am

Dude,

Any news ; i’m fed up with the rectangles and you’re my last hope to leave Windows Mobile world for good!.

Avatar

Q8android

February 13th, 2009 at 5:28 pm

Any news yet? atleast so we can read arabic sms?

Avatar

agawish

February 13th, 2009 at 9:53 pm

Dont worry, today I’ll put the Application into work, and make it read SMS’s and I’ll put it into market as well.

So bear with me till 1:00 am :)

Thanks all, for your feedback

Avatar

Mo7mad

February 14th, 2009 at 12:36 am

So what is the app name so i can search it in market right away

Avatar

agawish

February 14th, 2009 at 4:09 am

Okay guys, the Application is on the market now under the name Arabic SMS Reader v1.0.1 , check it and give me your feedback check this link for more info

Avatar

Mo7mad

February 14th, 2009 at 4:49 am

Great I have test the app it was working great, well not as I expected but better then nothing, Thanks a bunch. Tell us more on what you are going to work on next….!
About the app it is great app for short period of time, hope if some one could also help you to build a program that could come up with a program convert Android to Arabic and read the messages from the inbox and type Arabic toO. :)
Thanks we will wait for more apps from you Amr.

Avatar

Ahmed

February 14th, 2009 at 7:32 am

peace!!
I get tired trying to find where I can download the APP?
I tried to find it at http://www.android.com/market/ but I didn’t know how to search, if that it’s the corrct place!!
can someone please put the link, or where to search for it!
any help!!
thank you and Allah bless you!!

Ahmed

Avatar

agawish

February 14th, 2009 at 1:37 pm

Thanks Mo7mad for feedback, i didn’t test it so i wanted to make sure the main functionality is working, I’ll work on enhancements as soon as possible inshaAllah

Ahmed try search Arabic SMS Reader or Arabic SMS and you shall find it in the market.

Avatar

bo7mood

February 14th, 2009 at 3:12 pm

Thanks man
finaly we can read arabic sms

Avatar

mohammed

February 15th, 2009 at 4:38 am

thanx man.. great job..
plz try integrate it with the os sms application i think u can make the converter to work as a service and rander the outcome to the sms app. best regards
Mohammed

Avatar

abdulrahman

February 15th, 2009 at 7:28 pm

the application is very good ! =D however just one issue with it, if there is a long arabic msg it will force close. Thanks a lot for the program

Avatar

Ali

February 15th, 2009 at 8:35 pm

Thanks a lot for the app and I thank you for your hard work!
I downloaded the app from the market but for some reason I still can’t read arabic I get those squares again. Is there something wrong I’m doing. Do I need to mod my g1 and install arabic font? Ofrwhat is it?
Thanks again for you’re hard work
God bless you.

Avatar

agawish

February 16th, 2009 at 9:38 am

Dear Ali,

I believe u didnt just click on the message, you just viewd them, you have to click on the message to view it in arabic format :)

Avatar

Ahmed

February 17th, 2009 at 3:53 am

Oh I see, I guess I can not download it to my PC and only can download through the G1 device

I am waiting to receive my G1 next week so I can test the program!
I’m a beginner java programmer ,insha Allah I will participating in the G1 arabic market when I master the java language!!
Thanks a lot my friend!
peace!!

Ahmed

Avatar

Aman

February 22nd, 2009 at 3:23 am

Thanks for the program
My android already reads Arabic (I added a supporting Arabic font to the system)
My problem is that the letters are not connected
Do you have any idea of how can I make the system connects the letters. I am root on my phone so I can play with the file system

I even managed to write and send arabic letters using cut and paste

Thanks again and will keep in touch with you

Avatar

Aman

February 22nd, 2009 at 3:44 am

sorry again
Just wanted to tell that the only thing I need to know is how ,or specifically where, to install ArabicReshaper.java

and which font do you recommend to use?

I want to make my phone reads Arabic as if it actually was born with it.

btw, I might be able to help you with an on-screan arabic-english keyboard. (the english keyboard is already there and going to start an arabic keyboard soon and try to use (ALT+A) to switch between the two keyboards)

Avatar

agawish

February 22nd, 2009 at 10:50 am

Actually Aman that is the trick, you cant just put ArabicReshaper.java anywhere you have to know where android is actually reading the text and replace this functionality with ArabicReshaper functionality!!

So practically you’ll have to replace the core system of android to do that…

But I guess there is a good practice doing that on top of Operating System, I’ll try it and give you the results.

As for the best font I use Tahoma i believe, don’t have any recommendations actually but i’m planning to give multiple choices to replace the default font, cooler that way :)

Avatar

المطر

February 23rd, 2009 at 12:22 pm

الأخ الكريم عمر المحترم

ابداع نتمنى له ان يستمر سيدي الكريم .. لقد قمت بتجربة البرنامج

بعد انزاله من ( الماركت ) وبالفعل عمل رائع تستحق من خلاله أن ننحني

لك وله ونشعر بالفخر لوجود عربي مثلك يقوم بأنجازه .. لك كل التقدير أخي

الكريم ولكن هناك سؤال ألا وهو ماالذي أوقف البرنامج عن العمل بعد قراءة رسالتين

باللغة العربية من خلاله !!! أتمنى التوضيح .. ان كان البرنامج يباع فأنني على استعداد

لشرائه للأستخدام :) لك شكري وشكر كل عربي يشعر بالفخر بوجودك وأمثالك من الكفاءات ..

اخوك / المطر

Avatar

Rajesh

February 24th, 2009 at 2:04 pm

Is it possible to give the arabic input from keyboard

Avatar

Aman

February 25th, 2009 at 12:50 pm

This program have an Arabic-English keyboard
http://www.shsh.com/products/a12keys107_shsh.apk

It needs lots of work to be useable
the program does not even contain an Arabic font in the /assets/fonts folder

So it would print squares as usual if there is no arabic font is installed, which is the case with almost every one.

Avatar

Aman

February 25th, 2009 at 2:16 pm

I have successfully managed to change all the andoid fonts and now I need only to find how to reshape what the system reads

Avatar

agawish

February 25th, 2009 at 9:53 pm

شكرا لك يا أخى الكريم المطر على هذة الكلمات الجميلة :)

و إن شاء الله سأسعى إلى تحديث البرنامج حتى يعتمد علية إن شاء الله

و البرنامج الحالى مجانى إن شاء الله

و شكرا جزيلا لك و لكلماتك الرائعة

Avatar

agawish

February 25th, 2009 at 9:58 pm

@Rajesh inshaAllah I’ll be trying to put an Arabic Keyboard as a part of the program in the next release inshaAllah, but i think there is some effort has been done in this issue already, u should check the market.

@Aman I think the effort if you combined it with the capability to reshape arabic well, can give a great combination, but unfortunately the .apk file cant help me with that, because it’s zipped and hashed but if there is any contact to the person, that would be great

The How to reshape isnt really that hard, you just have to replace it in all the system -that is the hard part-.

I’ll search for it and tell you what i reached .

Avatar

Bassam

February 25th, 2009 at 11:52 pm

Hello All,
I’m very interesting in having my android phone able to read arabic in the browser. I have my android since the first week it came to the marked in UK. I even did a small application on it but never finished to the end because I didn’t have time. But i’m willing to help you guys if you need anything. I’m good programmer!
anyway, how did you change the font on you android? I did it once with my old iphone and it work, but don’t know how to do it with android.
thank you

Avatar

agawish

February 26th, 2009 at 1:52 am

Read the post Bassam to know how to load other fonts than the system fonts in Android…

And glad you can participate in the program, and about Arabic browser I think i may write article about it soo soon inshaAllah.

Thanks

Avatar

x2android

February 28th, 2009 at 8:23 pm

http://x2android.blogspot.com/

it is on the market, let me know what you think guys!

Avatar

agawish

February 28th, 2009 at 11:22 pm

great thing x2android, I can help you to provide connected letters, and not needing to depend on other software in viewing Arabic letters inshAllah

But if possible to make put your source into the google’s SVN to contribute, will be much better :)

Thanks

Avatar

Nofal

March 1st, 2009 at 11:05 am

Dear Agawish

AA

if possible i need to brows in Arabic language as well om my G1 mobile.

i will appreciate your soonest reply

salam to all

Nofal

Avatar

sultan

March 5th, 2009 at 6:24 pm

hi
haw I can add arabic font to my phone g1??
thanks

Avatar

sultan

March 6th, 2009 at 4:40 pm

hi
any one can tell me how to add the Arabic font to my phone please?

Avatar

Bassam

March 15th, 2009 at 2:45 am

I have rooted my phone and installed the JF1.41 RC8. Also installed an arabic font that I found but letter was not connected and so impossible to read , so then i have installed another font that i had on my old iphone which contains shaped arabic letters which seems like connected but the problem I think it doesnt correspond to real letter that should apear. for example instead of aleph it show d …
any one have idea to fix the font?
thank you

Avatar

sultan

March 30th, 2009 at 3:55 pm

Is everybody ok here?

Long time no participate ???

Avatar

agawish

April 3rd, 2009 at 5:16 pm

Dear all,
Sorry for being late in response, i was so busy the past couple of weeks.

The version 1.5 is almost over i covered the long messages problem along with adding native support to لا thanks God.

Still remaining issue in Writing the message which i believe i solved in some other applications.

Currently I’m testing it, and it’ll be released very soon inshaAllah.

Avatar

Aman

April 3rd, 2009 at 8:05 pm

“Actually Aman that is the trick, you cant just put ArabicReshaper.java anywhere you have to know where android is actually reading the text and replace this functionality with ArabicReshaper functionality!!
So practically you’ll have to replace the core system of android to do that…
But I guess there is a good practice doing that on top of Operating System, I’ll try it and give you the results.”

Hope you found a way to do it somehow?

Thanks

Avatar

agawish

April 4th, 2009 at 12:54 am

Well I’m getting some el 7amduAllah, but not entirely done.

but inshaAllah, it’ll be soon the one that supports it all.

Avatar

youssef

April 15th, 2009 at 5:21 pm

Assalamu alikum borther Amr,

I’m trying to develop a simple android applications I used the ArabicReshaper class and your tip about Assets but as you know there is a problem with some letters. How did you resolve it? can you publish your code or send it by email.

Jazak allah khair.

Avatar

john

April 17th, 2009 at 8:34 pm

Can anyone please help me to install arabic on my android G1 ,, the think is I don’t know any think about programing ,
Thanks for all of you

Avatar

ahmed kuza3i

April 18th, 2009 at 7:09 pm

well im waiting 4 ur app i can live without writing arabic but i must be able 2 read arabic in connected letters does the availble app support that or do i have 2 wait 4 ur upcoming uptade 2 be able to read full words

btw :i have a question my uncle in germany will send me a g1 in a couple of weeks but i have heard that android market doesnt work on unlocked g1s is that true .. if not can i ask how i can put money in the market to buy apps

Avatar

Bassam

April 24th, 2009 at 11:36 pm

Hello All,
I installed today Android v1.5. I tried 2 different version the H and the G. but both they don’t have arabic support. They have french, italian, german, …and other but not arabic and still cannot read any arabic letter in my browser even if I change the encoding to UTF 8.
Does anyone have any idea about that ?
thank you

Avatar

Sam

April 28th, 2009 at 1:18 pm

hi,
i want to write in arabic , i am not able to fine ArabicUtilities class so that i can use it …..
If possible if u can provide the proper steps i.e, how one should start ….it would be really great
Any help would be appreciated …
Thnx in advance….

Avatar

Sahar

May 30th, 2009 at 5:59 am

أجاويش
ماشاء الله عليك
فعلا مبدع وشكرا لاهتمامك بمشكله اللغه العربيه بالجي ون

Avatar

usef

June 20th, 2009 at 5:31 pm

hi, thank u so much for your app, works fine.. but is there a way you could tweek the program so it will let us read arabic in websites?? such as dubaimoon.com and then chose the keyboard method and let us chose the arabic keyboard??

i hope u could get this going.. u rock!
please emil me if u have any more updates usef5222@gmail.com

Avatar

A Sulaiti

July 3rd, 2009 at 4:08 pm

Hello,

First of all i want to thank everyone who participated & helped our brother in his quest to enable Arabic in Android.

I just ordered HTC Hero, can anyone confirm if i will be able to read/write/browse Arabic in it?

Thanks & keep up the excellent work!

Avatar

ali

July 23rd, 2009 at 7:34 pm

Can anyone please help us to readin arabic (( farsi )) on bbc or other web, we realy need help, this will be help to iranian ppl who fights for freedowm. We want send ane recive news by our web wich is on farsi.

Please if you have any news send mail to me

Irmelat@gmail.com

Avatar

Mahmoud Jisri

September 1st, 2009 at 6:53 am

I think there is a bug. please help fix it.
details below:

ArabicUtilities.reshape(“لأخيه”);
or
ArabicUtilities.reshape(“لايجعل”);
gives error because there is no space after the laa.
kindly try it to confirm.

Avatar

arabian

October 13th, 2009 at 12:38 pm

on http://www.informobility.com you will find support for different OS, and to be released soon for android.

Avatar

agawish

December 14th, 2009 at 3:08 am

Dear All, sorry for making you wait all this long.
I’m so sorry about that, I’ve been extremely busy in work, and I’d like to inform you that I’ll be more active on regular basis from now on.

I’ll be working on a new version of Arabic SMS Reader, and I’ll try to support the new Mobile devices.

The working on Arabization of the whole system is done be Aman, you can find all the information you need from here
https://sites.google.com/a/ut.utm.edu/arabic-android/

unfortunately that google releases so many version of their android, so It’ll be hard to follow, but inshaAllah you will something good soon

Thanks for your patience all :)

Avatar

Mohammad Baig

December 30th, 2009 at 3:08 pm

I read some of the blogs regarding reading SMS on the HTC mobile. I am not an IT expert, instead a mechanical engineer. Would you pls help me what and how to install to read Arabic SMS on my mobile instead of squares. Thanks

Avatar

agawish

December 30th, 2009 at 5:09 pm

Well Mohamed, If you want to read arabic there is a software that reads arabic Character called SMS with a red logo, try it.

Avatar

Ahmed Kamal

January 9th, 2010 at 10:39 pm

Hi Amr,

Arabic support is the 3rd most starred feature now!
http://code.google.com/p/android/issues/detail?id=5597

Can you please offer your help to Google ;) to properly support Arabic in Android ?

Avatar

agawish

January 10th, 2010 at 1:15 am

I sent mail to one of the owners.

Thanks Ahmed :)

Avatar

Alex

January 11th, 2010 at 5:12 am

awesome good job, been waiting for this

Arabic to English Dictionary

Avatar

MJ

January 21st, 2010 at 11:29 am

guys there is a rom on xdadevelopers that fully supports arabic, i’m using it on my G1.

here’s the link

http://dl.getdropbox.com/u/1701190/kb7sqi-magic-full-V2.7.2.zip

Avatar

TT

January 24th, 2010 at 5:25 pm

Arabic Android – الدعم الرسمي للغة العربية

on Facebook

Come and join us
http://www.facebook.com/group.php?gid=282398272109&ref=nf

Avatar

Julia Albashir

January 28th, 2010 at 10:05 pm

I have the Motorola Cliq and have been trying to figure out how to get my phone to read in Arabic. Can someone please tell me how to download it to my phone?

Avatar

Samir

March 18th, 2010 at 6:54 am

I have a Samsung Galaxy SMartphone . I can’t figure out how to get my news in arabic all i get are squares …can someone help me please…

Avatar

Raed Younis

April 6th, 2010 at 9:07 pm

Ahmad Essam or all others,
Salamat to all. I’m looking for the application that will allow me ot read Arabic using my Behold @ Android phone. Can some one direct me to it? Is it available yet? If not when is that coming to being?

Avatar

thamer

April 15th, 2010 at 11:04 am

salam…all…….please help me what about xperia x10 it has android 1.6 I tried so many ththings but were not helpful in Arabia. ..see. u.

Avatar

ahmed.s

June 2nd, 2010 at 11:54 am

hey every one
thanks a lot for taking care of android system,and make it much better
plz i have xperia x10,where i can find the fonts,and what i have to do to replace it.
and what about the code ,where i have to paste it :D
thanks alot brothers
byez

Avatar

moudavich

July 8th, 2010 at 1:37 pm

hello

Please how to support arabic reshaping in browser in my emulator

android?

And I haven’t found system/lib in my windows seven

Please help!!!

Avatar

agawish

July 8th, 2010 at 5:49 pm

Android browser is another issue, as it requires alternating the core Android System.

Avatar

moudavich

July 8th, 2010 at 7:32 pm

Can you help to support arabic in browser to emulator by any tutorial?????

Avatar

Ahmed Shaban

August 15th, 2010 at 4:07 am

Amr is a genius and his code for reshaping is used all over. Even in our arabization of Caynogen codes at http://www.cyanogen4arab.com Credits for Amr is of course maintained.

Avatar

Amalik

September 2nd, 2010 at 1:28 am

Dear Gawish
I download the android source and cyanogen kernel source ,
In which folder I have to download git://github.com/agawish/Better-Arabic-Reshaper.git in mydroid folder or .. thanks.

Comment Form

Amr Gawish codename K

view profile

Subscribe to kBLOG

  • Amalik: Dear Gawish I download the android source and cyanogen kernel source , In which folder I have to [...]
  • Tutoriales paso a paso de ADF « Fetishcode: [...] http://blog.amr-gawish.com/149/dependent-combo-boxes-using-oracle-adf [...] [...]
  • nadere alnaggar: alsalam alaikum , i have a Samsung galaxi S and i am loocking for an app. to be able to read ara [...]
  • Ahmed Shaban: Amr is a genius and his code for reshaping is used all over. Even in our arabization of Caynogen cod [...]
  • d.. hany: al salam alikom emg. amr basha.. i have a request and don't consider it silly plz :) .. i am new us [...]

RSSTwitter news