Arabic Shaping for Android 2.2 and 2.2.1

I have made a patch that should work on deodexed Android 2.2 and 2.2.1 devices to support shaping arabic in framework.jar

Please use the links to the right for more details on how to apply them.

Most available patches are either not open sourced or are device specific. I attempt to make a global solution to our problem by providing a patching tool that should apply to any ROM by replacing the specific patched files. This should hopefully not break device specific implementations such as TouchWiz from Samsung, Sense UI from HTC or Motoblur from Motorola.

I have been following work for Y6b and dudyk over at github. Unfortunately both of their work was made for Cyanogenmod and not for AOSP. They also do change code in the JNI implementation which further makes this harder to port to several devices. I changed their code slightly to not require these modified JNI implementations and to have an independent framework.jar that will be easy to port.

Most of my code on github is composed of y6b’s and dudyk’s (see source code page for details). Namely I used y6b’s implementation for the shaping by importing the ICU4J library, and dudyk’s RTL alignments.

Again, all details should be on the two pages linked on the right panel.

This entry was posted in arabic shaping, English. Bookmark the permalink.

6 Responses to Arabic Shaping for Android 2.2 and 2.2.1

  1. mohamed yousseff says:

    i want to enable arabis android

  2. Mark Touche says:

    Hello,

    Greetings. I am trying to do for Indic Scripts what you did for Arabic. I’m wondering if the same libraries you have used for Arabic will work for Indic as I do see Indic shapes in the icu4j and icu4c sources.

    I’ve downloaded and compiled Gingerbread source, though I am fairly new to Android. I’d greatly appreciate if you could help me point to where I can start doing the same. The first goal is to get it to work in the emulator.

    I’ll be happy to donate if you could help me get started.

    Look forward to your email.

    Regards,

    Mark.

  3. Mark Touche says:

    Thank you for the prompt response. I applied the changes from your code to first play with the Arabic shaper. Compiled it for the emulator. Hit the error below. Any thoughts on what I could have missed?

    host Prebuilt: draw9patch (out/host/linux-x86/obj/EXECUTABLES/draw9patch_intermediates/draw9patch)
    Install: out/host/linux-x86/bin/dump_regions
    host Prebuilt: dumpeventlog (out/host/linux-x86/obj/EXECUTABLES/dumpeventlog_intermediates/dumpeventlog)
    Install: out/host/linux-x86/bin/soslim
    target Non-prelinked: dalvikvm (out/target/product/generic/symbols/system/bin/dalvikvm)
    Install: out/target/product/generic/system/lib/libdl.so
    Install: out/target/product/generic/system/lib/libc.so
    Install: out/target/product/generic/system/lib/libstdc++.so
    Install: out/target/product/generic/system/lib/libm.so
    Install: out/target/product/generic/system/lib/liblog.so
    Install: out/target/product/generic/system/lib/libcutils.so
    Install: out/target/product/generic/system/lib/libz.so
    Install: out/target/product/generic/system/lib/libcrypto.so
    make: *** No rule to make target `out/target/product/generic/system/lib/libicui18n.so’, needed by `out/target/product/generic/system/lib/libnativehelper.so’. Stop.

    • madmack says:

      looks like your build is broken. I don’t think this has to do with my patch per se

      there are no makefiles for libicui18n which you’ll need to build Android.

  4. Thank you for the prompt response. I applied the changes from your code to first play with the Arabic shaper. Compiled it for the emulator. Hit the error below. Any thoughts on what I could have missed?

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>