Você está na página 1de 8

Khmer Unicode Language support for Samsung Galaxy S2 Android MIUI ROM 2.3.

2b

Home Screen

1. Concept
You can add Khmer language support to Android OS in 2 stages. Stage 1: Basic Khmer Unicode support (Font rendering and Keyboard) to Android OS - Modify Khmer Unicode font to work with Android OS, and Replace Android UI System fonts with Khmer Unicode support fonts. - Add Khmer Unicode support to Android OS Unicode rendering engine (libskia.so, libskiagl.so & LibWebcore.so) - Create Khmer Keyboard layout and input method For more details about Khmer Unicode & Andorid OS go to in depth section 4 below. Stage 2: Translate Foreign language Andoid System files and Apps into Khmer language. - decompile apk file to modify resource such as xml, jpg, png or smali code files (translate into Khmer) - recompile the apk and put back into your phone. Nokorsoft.com

Disclaimers: Do it at your own risks. I am not liable for anything. Software and documents used in this tutortial are from Internet, please let me know if you think any material used in this tutorial infringe our copyrights. All copyrights belong to its original owner(s).Thanks.

2. What do you need?


Hardware: A computer running MS Windows XP or newer and a rooted Andorid Phone (In our example, Samsung Galaxy S2 running Galnet Scotland MIUI 2.3.2b ) + MIUI 2.3.2b for Samsung galaxy s2: - How to root Samsung Galaxy S2 - Galnet MIUI stable ROM direct link for MIUI 2.3.2b Samsung Galaxy S2

- How to install MIUI ROM on a supported root phone Software for stage 1: + Nokora font: Nokora font package Nokora font (Credit: Mr Danh Hong) Modified Khmer unicode font to work with libskia.so. + Rendering Engine libskia.so & libskia for Samsung Galaxy S2 MIUI 2.3.2b ARMv7 Khmer hack version of libskia.so & libskia (Credit: Chanrithy Thim) Software for stage 2: + Apk decompile and recompile tool Apktool 1.4.3 and ICS mod Apktool + Winrar www.rarlab.com/download.htm + AndroidSuite v115.exe (ICS support) A GUI version of apktool, come with apk signer very handy. + Notepad++ Version 6 xml editor. + File Manager with root access for Android Your choice Root Explorer for android ES File Explorer Super Manager (all can be downloaded from Google Play market or just google it,)

+ Android software to delete stock app RootAppDelete +Java Runtime Evironment JAVA SE JRE 6u25 you need this to run the AndroidSuite and apktool, type java -version in your command promt to check if you have it installed) + Document: English Khmer Glossary of Computer terms Description:

3./ Lets do it
Before we start playing, I just want to make sure that you have: - a rooted android phone. In here, we use Samsung galaxy s2 MIUI 2.3.2b, if you dont have it go here. - a BACKUP of your important data (Use ROM manager from Google Play android market to this for you) - all the required software and documents listed above. Stage 1: WARNING: You may brick your phone. Once again, please double check that you have a backup of your ROM using Clockwork Mod/ROM manager. 3.1.1./ Install fonts copy DroidSansArabic.tts, DroidSans.ttf and DroidSans-Bold.ttf from droidsans_nokora.zip to /system/fonts/ on your phone using Root Explorer (or any other file exporer that support root function)

must to change from r/o to r/w for copy the files past to System

Common Error: Cannot paste her because the file system is read-only - You need to mount the system/fonts folder in R/W mode click [Mount R/W] on the top right corner of the screen. - You havent given root access root to the program yet. Exit the program, it will prompt you to allow root access.

3.1.2/ install rendering engine Copy libskia.so and libskiagl.so to /system/lib

Press this button for change to r/w

Now, restart your phone, if everything go right, it will pass the boot screen. Common Error: - If your phone hang in the boot loop, it means somethings gone wrong. You need to restore your phone from your backup from boot recovery (hold Volume up + Home key + Power key).

3.1.3/ install Khmer Keyboard Your choice - Phum Keyboard (download from Google Play market) - MultiLing Keyboard (download from Google Play market) - Khmer IM (Finder.com.kh ) All Done! for stage 1. Now you can go to Stage 2 or if want to know how does Khmer Unicode works on Android OS check out below

4. Khmer Unicode support for Android OS In Depth


As far as I know, Android doesnt officially support Khmer Unicode at the time of this writing. There are a couple of geniuses out there have found a way to make Khmer Unicode works on Android OS. How Khmer Unicode works When you type + + + + > the rendering engine rearrange the characters based on a set of substitution rules (table). Without the knowledge of Khmer substitution rules, the rendering engine wont be able to display Khmer Unicode correctly. Example: (Choeung, Unicode 17D2 ) + Mor ( Unicode 1798) > (Choeung Mor, not in normal Unicode range)

Problem: The problem is that Android OS rendering engine SKIA, originally, doesnt support complex script rendering nor the substitution outside Unicode range yet (correct me if i am wrong). And all Khmer subscripts (Choeung) are not in normal Unicode range u+0000 to u+FFFF (0-65535).

Solution: A group of genius solved this problem by hard code the Khmer Unicode substitution rules into SKIA library. They puts Khmer subscripts and other characters in Arabic Unicode range (it doesnt have to be Arabic range, you can choose other ranges), that is why we need to replace or delete DroidSansArabic.ttf. Create gsub file subtitution code for a Khmer unicode font. And last recompile SKIA library files. Conclusion: In order to get Khmer Unicode to work on Android. 1. modify a Khmer Unicode font (move all subscripts and other characters into Unicode Range) using FontForge 2. obtain original SKIA library (and/or Webcore library) source code for your particular phone and hard code the Khmer substitution rule into the SKIA lib (and/or Webcore library). 3. replace Android system fonts with Khmer Unicode supported fonts. 4. replace Android original Skia library (libskia.so & libskiagl.so) and/or Webcore library ( libWebcore.so) with the Khmer hack files. For more details check out Stephen Gibberds instruction on how to hard core Khmer Substitution rules into SKIA library from the scratch.

Você também pode gostar