[Pidgin] #750: BiDi (hebrew, arabic) problems

Pidgin trac at pidgin.im
Mon May 7 17:27:13 EDT 2007


#750: BiDi (hebrew, arabic) problems
------------------------------------------------------+---------------------
 Reporter:  dror                                      |       Type:  defect
   Status:  new                                       |   Priority:  minor 
Component:  pidgin (gtk)                              |    Version:  2.0   
 Keywords:  hebrew, BiDi, arabic, Unicode, paragraph  |    Pending:  0     
------------------------------------------------------+---------------------
 This bug has been open for the last 3 years, and has been closed due to
 the migration to Pidgin, so I open it again.[[BR]]
 The problem persists as of version 2.0.

 1. The direction is only automatically set according to the first letter
 entered (if the first significant letter is in Hebrew, an RtL direction is
 set, o/w LtR), and cannot be set by the user (by means of Ctrl+Shift or a
 paragraph direction icon).[[BR]]
 2. Messages sent by the official MSN and ICQ have a mark at the header
 stating the paragraph direction, which the receiving clients interpret
 into the paragraph's
 direction. Currently, in Pidgin each paragraph's direction is set
 according to its first letter, which means, for example, that if the alias
 is in English, every
 paragraph will be to the left, unless a line break has been sent, and the
 messages come out totally mixed up. Also, Pidgin currently totally ignores
 these message marks - does not send them nor follow them, making the
 paragraphs received by the official clients or sent by them many times
 incomprehensible.

 There is no Unicode mark specifying the paragraph alignment, and therefore
 it must be sent and received separately. At least in MSN I know for sure
 it is sent. I used a sniffer on it, and here is the result:

 A Left to Right message:
 {{{
 MSG ***@***.*** ***%20*** 120
 MIME-Version: 1.0
 Content-Type: text/plain; charset=UTF-8
 X-MMS-IM-Format: FN=Miriam; EF=B; CO=80; CS=b1; PF=2

 abcd
 }}}

 A Right to Left message:

 {{{
 MSG ***@***.*** ***%20*** 126
 MIME-Version: 1.0
 Content-Type: text/plain; charset=UTF-8
 X-MMS-IM-Format: FN=Miriam; EF=B; CO=80; CS=b1; PF=2; RL=1

 abcd
 }}}

 As can be seen, the format tag RL=1 marks it.

 Since the alignment itself isn't that important, and the main problem is
 the embedding, i.e. the presented text direction, I would suggest the
 following:[[BR]]
 1. If the mark can be identified (MSN at least), adding the LRE or RLE at
 the beginning of the message, after the sender name and time (Gtk knows
 how to handle it), according to the received mark, and buttons for text
 direction (ms word's
 style paragraph direction) change in the input widget, which will remain
 constant, no matter what text is written, and that direction will be sent
 in the out-going message.[[BR]]
 2. If the mark cannot be identified, there should be an option (via a
 button) to simply set the direction of both text widgets of this
 conversation, since mostly the
 direction is constant throughout the conversation, and one can easily tell
 the direction is wrong.

 For more info about BiDi in Unicode, please refer to:
 [http://www.unicode.org/reports/tr9/]

 Thank you

-- 
Ticket URL: <http://developer.pidgin.im/ticket/750>
Pidgin <http://pidgin.im>
Pidgin


More information about the Tracker mailing list