Some more progress and updates . . .
I have just successfully compiled and tested the arabic patch on AOSP 2.3.3. My old patch for 2.2 AOSP worked for all the files except TextUtils.java which Google added a new method to. Replacing it with CM7′s TextUtils.java file, which is based on Gingerbread, fixed that error.
HTC’s implementation of Gingerbread broke another file, Layout.java which they added a couple of new methods to. The fix was to manually edit HTC’s Layout.smali file and replace the strings getChars (3x occurrences) with getCharsDraw manually. A proper fix would be to include a utility that searches and replaces for these strings. This will guarantee functionality across all devices that sport Eclair and higher versions of Android.
Edit: HTC’s Gingerbread Sense UI also modified internal class CharWrapper in TextView.java. A small modification to the smali file in method “access”‘s signature fixed it.