Re: [gtk-list] Re: GTK internationalization, right-to-left languages



[ right-to-left languages ]

Owen> Once the rendering was worked out, I don't think there would be
Owen> much difficulty in adapting the widgets. The only widgets that
Owen> care about text direction in any complicated sort of way are the
Owen> Entry and Text widgets

As I recall, the Apple HCI guidelines have examples showing Arabic
dialogs which are mirrored about their vertical axis (as compared to
English-language dialogs).  If this really is desirable for r-to-l
environments, then it would be nice if Gtk helped out, so that every
application wouldn't need to be rewritten to take this into account.
For instance, maybe there could be a way to automatically reverse the
layout of every widget by default, and a flag to indicate that certain
widgets are locale-independent and should not be mirrored.

I've never seen an r-to-l environment running, nor do I use any such
language, so I have no idea whether this is truly desirable.

This idea goes somewhat deeper than just handling Arabic/Hebrew text
rendering.  Maybe it would be acceptable but not ideal just to solve
the text rendering problem.


Owen> The other question that has to be addressed is the question of
Owen> textual encoding. It is my intention to convert GTK+ to working
Owen> in Unicode/UTF-8 internally. The mapping of the characters in
Owen> Arabic and Hebrew into Unicode should be straightforward - but I
Owen> don't know how or if information such as directional escapes has
Owen> a reprentation in Unicde. (Or if it matters... the direction of
Owen> rendering should be fairly well determined by the identity of
Owen> the characters).

For most text in a UI you won't need to worry about changes in
direction.  That's because most text comes from a single language.

The Unicode standard has a chapter on rendering multi-language text.
It is quite complicated.  If somebody is seriously considering
implementing this, I'd recommend buying and reading the Unicode book
as a sensible first step.

Tom



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]