The highlights[1] for Gingerbread include the following line:
> Expanded I18N support (full worldwide encodings, more locales)
That, along with Romain Guy's comments on a patch of mine[2] gave me
hope that bidirectional languages support is going to be better in
Gingerbread. As a reminder, there was a small regression between Eclair
and Froyo, except that Froyo installed the Hebrew and Arabic fonts by
default. Froyo was, therefor, more usable out of the box, but less well
supported over all. Looking at the source, Froyo made a step forward in
introducing a class for directly using ICU's native Bidi, but this class
is not documented in the docs and is unused by the framework.
I downloaded Gingerbread and ran it on an emulator, and it seems to be
EXACTLY the same as Froyo. Numbers are still displayed from right to
left when in Hebrew context. Hebrew paragraphs are still left aligned by
the layout controls. This is the exact state Froyo was in. I could not
test Calendar, because it was not bundled with the SDK images for either
native or Google API SDKs.
What I would like to know is whether there is any roadmap of expected
BiDi support state for future versions of the SDK?
Thanks,
Shachar
1 - http://developer.android.com/sdk/android-2.3-highlights.html
2 - https://review.source.android.com//#change,18517
--
Shachar Shemesh
Lingnu Open Source Consulting Ltd.
http://www.lingnu.com
--
You received this message because you are subscribed to the Google Groups "android-platform" group.
To post to this group, send email to android-...@googlegroups.com.
To unsubscribe from this group, send email to android-platfo...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/android-platform?hl=en.
Please note that full BiDi support is not planned in Honeycomb. I'd like to have better BiDi and RTL layouts support after Honeycomb but I cannot promise you anything at this point.
On Tue, Dec 7, 2010 at 1:14 AM, Romain Guy <roma...@android.com> wrote:
I wasn't referring to Gingerbread :)
That said, I think that these APIs should be respected. The circulating
APIs change the semantics of Canvas.drawText to include BiDi, and adds
another overloaded version which accepts whether to perform BiDi as a
boolean option[4]. While I'm not sure that would have been my first
choice in implementing this solution, I think it should be blessed as
official, if only because it's so widely used in the relevant markets.
That's why I wanted the API design process to be open to the community.
The lack of response to that request does not leave me overly
optimistic, however :-(
Shachar
1 - Diacritics, at least in Hebrew (though I can't imagine Arabic being
any different) still cause the text to be displayed left to right. The
number of places the patch introduces BiDi is so big that I have not
managed to figure out where the problem comes from, yet.
2 - See the last part of the last sentence of the class overview for
StaticLayout
(http://developer.android.com/reference/android/text/StaticLayout.html).
Canvas.drawText is reported not to do BiDi, which, with these patches,
it does.
3 -
http://developer.android.com/reference/android/text/StaticLayout.html#getLineDirections%28int%29
is in adequate to describe a left to right paragraph containing a right
to left sequence followed by numbers. If the API continues to rely on
Layout.Directions, full BiDi support will never happen.
4 -
http://github.com/dudyk/android_frameworks_base/commit/1b0aca31c3e03a5a323276cd15a8df4203a1792c
--
You received this message because you are subscribed to the Google Groups "android-platform" group.
To post to this group, send email to android-...@googlegroups.com.
To unsubscribe from this group, send email to android-platfo...@googlegroups.com.
These pictures do not answer the question, as the constructs used to
display the Settings page are higher level constructs, while the change
that was due for Honeycomb was to add BiDi support for Canvas.drawText.
The pictures do show a nice shaping engine in place (though I have not
seen any Lam-Alef combination nor any use of diacritics, so I'll reserve
final judgment until I do or test it myself).
I tried to test it myself, but have been too busy to do anything more
than merely download the image and run the emulator. I did notice
frequent acore process failures as soon as I set the language to Hebrew.
Shachar