Introduction:
I've been looking for an Arabic dictionary for Kindle 2 and unfortunately, I couldn't find one. I consider myself relatively good in English although it's not my native language, but still, I believe it's always better to learn new terms or words in your native language as this would be easier to remember or to help you connect these words with something recognizable.
Anyway, after I couldn't find a dictionary that will show the meanings of English words in Arabic, I thought I should try to create one myself. I have a good background in software programming, but I don't have any experience with Linux.
In this post, I'll provide a link to download the final dictionary result in addition to the steps I used to build the dictionary + changes I had to make to my Kindle.
I should mention at this point that the dictionary I've successfully created doesn't show Arabic letters in the correct order. You see, in Arabic language, there are 3 main differences than Latin languages:-
- Letters are Unicode (represented by 2 bytes instead of just 1).
- Arabic is a right-to-left language, not left-to-right.
- A letter can change its shape (glyph) according to its location in the word.
I've successfully created a dictionary that'll show the meaning in Arabic letters, but they're shown in "left-to-right" order and they're not connected.
So, you can say I have failed on points 2 and 3 (until the time of writing this post).
Before I go into the details of creating the dictionary, I think it's time to point out that the English2Arabic dictionary for Kindle2 is attached. Please use it at your own risk :-)
Implementation Details:
1. Creating dictionary.
To create the dictionary, I've used the information in
this post and I used the Arabic dictionary
here.
I used Mobipocket Creator to create the dictionary.
At this point, I created a dictionary that will show the meaning of a word when you scroll the cursor to. The problem, however, was in showing the Arabic letters. I could see empty squares instead of letters. This meant that the default fonts of the Kindle cannot show Arabic.
2. Changing Kindle font.
In order to show Arabic letters, you'll need to use a font that supports Unicode. Usually, a font like "Arial" or "Time New Roman" should work just fine, but I needed to use a hack to apply such fonts.
At first, I tried
this hack, but unfortunately, it gave poor results. Either, the font didn't work for Arabic letters or the English text of the actual book looked poor and hard to read.
I was looking for a font that supports Arabic letters and at the same time looks good on the Kindle. I don't want to end-up supporting Arabic and unable to enjoy my English books.
After more research, I found
this hack. This hack allowed me to choose a specific font (any font) to use on the Kindle which was awesome when compared to the previous one. So, I prepared a font set using a font called "Simplified Arabic Bold". This font is designed with Arabic language in mind as the name indicates.
I've installed that font on the Kindle and voila ... I’ve got a dictionary that shows Arabic letters.
What's next?
Hopefully, I'll keep on searching for a solution to force the Kindle to show the letters of the words meanings in the reverse order (RTL) and to find a solution to connect letters together. I'm not sure how hard that would be... hopefully some of you guy could share any ideas or thoughts about this.