Discontinuation Notice + Source Opened!
This project is now discontinued, as I have moved on to Android 4.X (ICS) which has perfect built-in RTL support.
I will still provide basic support as much as I can, but if your device has it, I recommend you move on to ICS as well.
If you wish to continue working on this project and improving, you have my blessing (as long as you credit me, of course).
Source code is available here, but be-ware: it's an undocumented, unorganized mess.
Android RTL Auto-Patcher
It's a well known fact that while Android has Hebrew and Arabic fonts, it has a problem with Right-To-Left alignment. The problem: It doesn't exist.
Sure, MOST programs display text correctly, but mix text and numbers in the same line and you'll get reverse numbers (123 appears as 321), and in SOME Google apps (like Gmail and Maps) the words themselves are reverse (so 'apple' appears as 'elppa').
The Old Solution
There is a solution for this, however you have to create a separate patch for every build, because the patch changes files in the build's framework. It's a relatively easy process, but for people who change builds constantly, it can get tiresome.
This program detects if a build is compatible with the patch, and if so - creates it almost automatically and install it back to the phone. A process that took about 10 minutes to complete before and required some knowhow, now takes only seconds and requires almost no prior experience!
The ProTools are a collection of tools that will allow you to patch ROMs manually either directly to ZIP files, to the phone, or to framework files. It will also allow you to push, pull, extract and manipulate files to and from ROMs of all kinds, with great flexibility and ease!
If you have any additional non-bug-related questions, feel free to ask them in this thread. I will do my best to improve this program as time goes by.
This program is intended for use with custom DEODEXED roms of Android versions 2.1 and above. The program will inform you if your build is not deodexed.
The program will allow you to either push the fix directly to the device or flash via recovery.
WARNING: Some 'squashedFS' builds have been reported not to be compatible, and the program can not - at the moment - detect those!
This program is in Beta stage!
Many features have not been thoroughly tested and error handling is far from perfect.
It may give some errors, crash or stall - at which point I ask that you please send me your log.txt (to find it, click 'About' and then 'Locate Log') or as an upload in this thread.
I do request - however - that you try to be as specific as possible regarding your build, your computer, and what caused the problem.
Also, if you include the log here, please enclose it in 'code' tags.
How to use
- You MUST have Microsoft .Net Framework 4 installed for this to work.
- You will also need the latest Java Runtime Environment
- You must also have the ADB drivers already installed:
- In Windows Vista/7, just connect the phone and let Windows Update do it's thing.
- In Windows XP, you need to manually install the drivers available here.
- ADB itself comes with the program, so you don't need that.
- If available, boot into recovery (recommended for non-rooted devices!)
- Connect your phone to USB and make sure the computer recognizes it
- Run the program, and select 'Test Connection'
- After connection has been made, if the build is compatible - select the correct Sense version. The program WILL attempt to auto-detect, but it's not 100% reliable, so please confirm that the program detected correctly
- Select distribution method:
- Push to Device (Recommended) - does simply that, the program will attempt to automatically patch the phone for you.
- Create ZIP - creates a ZIP file that's flashable through Recovery (Clockwork Recovery Mod). Will also offer you to save the ZIP on the SD card (doesn't even require mounting USB).
- Show File - will just show you the patched 'framework.jar' so you can do whatever you want with it.
- Select any additional options you might be interested in (Gingerbread keyboard, for example - is a fixed Gingerbread keyboard with fixed Hebrew RTL that is compatible with the patch the program installs. It should work on 2.2 devices as well, and replaces the stock Android keyboard).
- GO GO GO!
Please be sure to provide the name and type of your build when giving feedback or reporting bugs. For better bug-squashing, please also provide your log.txt file, which you will find in the application's directory.
Also, even if you experienced no bugs, your logs will be appreciated.
Finally, if you put the the log content in your post, PLEASE encode it with 'code' tags.
Thank you, and good luck!
Always available here: