Empathy aligns RTL text as LTR text on messenger

Bug #571822 reported by aviramof
28
This bug affects 5 people
Affects Status Importance Assigned to Milestone
Empathy
Expired
Wishlist
empathy (Ubuntu)
Triaged
Low
Unassigned

Bug Description

Binary package hint: empathy

i have just been asked by a friend why i don't align my text from right to left(ctrl-shift option in messenger)and he told that he see all my messages align from left to right i checked with pidgin and it's fine there so please fix it and thanks in advance.

ProblemType: Bug
DistroRelease: Ubuntu 10.04
Package: empathy 2.30.0.1-0ubuntu3
ProcVersionSignature: Ubuntu 2.6.32-21.32-generic 2.6.32.11+drm33.2
Uname: Linux 2.6.32-21-generic i686
NonfreeKernelModules: fglrx
Architecture: i386
Date: Thu Apr 29 21:06:16 2010
InstallationMedia: Ubuntu 10.04 "Lucid Lynx" - Release Candidate i386 (20100419)
ProcEnviron:
 LANG=he_IL.utf8
 SHELL=/bin/bash
SourcePackage: empathy

Tags: rtl
Revision history for this message
aviramof (aviramof) wrote :
Revision history for this message
Omer Akram (om26er) wrote :

Thank you for taking the time to report this bug and helping to make Ubuntu better. Please answer these questions:

 * Is this reproducible?
 * If so, what specific steps should we take to recreate this bug?

 This will help us to find and resolve the problem.

Changed in empathy (Ubuntu):
importance: Undecided → Low
status: New → Incomplete
Revision history for this message
aviramof (aviramof) wrote :

install empathy on Hebrew Ubuntu add account with windows users which is basically the only users i have and i guess normal msn and try to write things in Hebrew and see if they align to the left or to the right i tested it so far with two users and both told me that when i use empathy it's align to the left and with pidgin it's align properly to the right that is all i can tell you.

Revision history for this message
aviramof (aviramof) wrote :

msn account i don't know about other protocols for now.

Revision history for this message
Leo Arias (elopio) wrote :

Back to new, as aviramof provided the steps to reproduce the bug.
It would be great if someone else with a RTL language installed can confirm the bug.

Changed in empathy (Ubuntu):
status: Incomplete → New
Yaron (sh-yaron)
tags: added: rtl
Revision history for this message
Shlomil (shlomister) wrote :

This bug sound like an upstream bug and I'll take a "wild" guess and say the fix is probably the same one I did in Pidgin a few years ago:
http://shlomil.blogspot.com/2007/02/patch-to-fix-some-bidi-text-issues-in.html

RL=1 should be passed for RTL messages in MSN protocol.
Wireshark can be used to confirm what flag value is used by Empathy.

Solution: The first letter of the message should be detected for direction and set the flag accordingly (AKA, the Gnome way).

Revision history for this message
Amir Eldor (amireldor) wrote :

confirmed.
also, the hebrew messages are locally aligned to the left on the chat window, not only on the remote side's window, but that's for another bug :)

Changed in empathy (Ubuntu):
status: New → Incomplete
status: Incomplete → Confirmed
Revision history for this message
Brian Curtis (bcurtiswx) wrote :

Thanks a lot for confirming. I have reported this bug upstream to GNOME and it can be tracked at https://bugzilla.gnome.org/show_bug.cgi?id=630632. This should import bug comments, but its a new feature so it's best to follow at the bugzilla site in case anything is needed.

Changed in empathy (Ubuntu):
status: Confirmed → Triaged
Changed in empathy:
importance: Unknown → Wishlist
status: Unknown → Confirmed
Revision history for this message
Simon McVittie (smcv) wrote :

This was bounced from project to project and ended up in telepathy-spec at <https://bugs.freedesktop.org/show_bug.cgi?id=30396>.

However, I'm not sure whether this is actually relevant to telepathy-spec, because I don't think the communication between Empathy and its MSN backend should need to specify the text direction if it can be detected automatically.

Is it meant to be possible to auto-detect alignment from the text of the message? It seems to be, since if I copy "שרה" from http://en.wikipedia.org/wiki/Bi-directional_text and send it between my XMPP accounts, the edit box displays it right-aligned (however, the conversation history displays it left-aligned).

So, I think there are really three bugs here, of which we can't fix (B):

(A) For all protocols, Empathy should auto-detect whether the text should be RTL, and if so, right-align the text in the conversation history

(B) (not fixable by us!) MSN on Windows should auto-detect whether the text should be RTL in the same way as (A), rather than relying on the RL=1 flag

(C) To work around (B), telepathy-butterfly (which Empathy uses for MSN) should auto-detect whether the text should be RTL, and if so, set the RL=1 flag when it sends it to the MSN server

People who speak RTL languages: does that sound like a reasonable course of action?

Revision history for this message
Simon McVittie (smcv) wrote :

An alternative course of action would be to give Telepathy messages a flag similar to MSN's RL=1, which indicates "the main context's writing direction" (as described in <http://en.wikipedia.org/wiki/Bi-directional_text>).

Since I don't know how RTL languages work, I can't judge whether auto-detection is enough or whether we need a flag. I'd prefer to use auto-detection if we can, though.

Revision history for this message
Shlomil (shlomister) wrote :

<Frustration>
Well, Going by the GNOME logic (which I dislike .. sigh ( https://bugzilla.gnome.org/show_bug.cgi?id=167354 ))
.. the auto-detection should be just fine (option C).

The grandmothers using Gnome should be smart enough to insert the Invisible Unicode LRM/RLM characters when auto-detection goes wrong (which happens very rarely I must admit ).
</Frustration>

I'm afraid the problem get even more complex since last time I checked, MSN didn't support RLM/LRM so well (this might have been changed by now) and in this case butterfly should remove the RLM/LRM marks and set MSN's RL flag accordingly.

IMO, Support for Rich text solves the problem since you may specify both alignment and direction (note these are actually two different properties) for different parts of the text and let the protocol plugin do what it can to send it correctly.

Maybe Behdad Esfahbod should be asked for his opinion on this.

Revision history for this message
Shahar Or (mightyiam) wrote :

Dear ones,

How does Windows MSN client determine whether to use the RL=1 flag? Does anyone know? Can anyone guess?

Blessings,
Shahar

Revision history for this message
Shimi Chen (shimi-chen) wrote :

@Shahar
I do not know what Windows MSN is using but Pidgin is open-source and is successful at sending this flag. I'm no developer but it seems to me this could be figured out from the pidgin/libpurple source code.

Changed in empathy:
status: Confirmed → Expired
Yaron (sh-yaron)
summary: - Empathy allign RTL text as LTR text on messenger
+ Empathy aligns RTL text as LTR text on messenger
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.