Re: Valid UTF-8 text mangled up in GtkLabel
- From: Behdad Esfahbod <behdad cs toronto edu>
- To: Gaurav Jain <gaurav anywhere gmail com>
- Cc: gtk-app-devel-list gnome org, gtk-i18n-list gnome org
- Subject: Re: Valid UTF-8 text mangled up in GtkLabel
- Date: Fri, 5 Aug 2005 02:40:19 -0400 (EDT)
On Fri, 5 Aug 2005, Gaurav Jain wrote:
> I'm trying to set the text in a GtkLabel to a UTF-8 string, which
> contains some arabic characters first, followed by my email address in
> angle brackets, followed by my name in round brackets. For e.g., a
> sample value is:
> X <gaurav somewhere com> (Gaurav Jain)
> In the above, 'X' represents a valid sequence of arabic UTF-8
> characters. The problem that I see is that when I run this program
> (appended to this mail), the output shown is something like this:
> (gaurav somewhere com> (Gaurav Jain> X
> Note that the angle and round brackets are all messed up, and that
> order of arabic and ascii words is also wrong.
Apparently our milages do vary ;).
> Does anyone know WHY this is happening?
Yes, because Arabic is written from right to left, unlike Latin.
And this behavior is part of the Unicode standard.
> Just for information, I'm using GTK 2.4.14. Also,
> I was surprised to discover that this works fine with an older version
> of GTK (2.0.9).
Right. Because /bidi/ was not implemented completely in that
version. This specific part of bidi that is causing problems for
you is called automatic paragraph direction.
> Does something special need to be done so I can get
> it to work with GTK >= 2.4?
It /is/ working. If you like to get the behavior similar to the
old one, you need ot insert a U+200E LEFT-TO-RIGHT MARK character
at the beginning of the buffer.
] [Thread Prev