Text direction of input message box appears to be constant (i.e. not dynamic).
Qvitter should determine direction according to first non-neutral character, and, of course, @username must be ignored when determining direction.
For @user ♂ שלום Qvitter would set direction to RTL because first non-neutral character is ש.
For @user ♂ Hello Qvitter would set direction to LTR because first non-neutral character is H.
Open Leafpad or Mousepad to see how GTK+ handles these:
♂ שלום♂ Hello
Gajim (XMPP client in Python) appears to be the messenger with the best algorithm to handle BiDi.
Most important parts are these:
[MESSAGE] In Changeset 14440:a82c19001268, Gajim uses LRM or RLM to set direction according to the first non-neutral character in a message; there are better and cleaner ways to set direction with JS in HTML.
[STATUS MESSAGE] In Changeset 14561:df1ad38561be Gajim sets direction of status message according to locale used, with no regard to the first character it starts with.
It seems that queet-content or queet-text is BiDi adaptable (not perfect, by the way).
Text direction of input message box appears to be constant (i.e. not dynamic).
Qvitter should determine direction according to first non-neutral character, and, of course, @username must be ignored when determining direction.
For
@user ♂ שלום
Qvitter would set direction to RTL because first non-neutral character isש
. For@user ♂ Hello
Qvitter would set direction to LTR because first non-neutral character isH
.Open Leafpad or Mousepad to see how GTK+ handles these:
♂ שלום
♂ Hello
Gajim (XMPP client in Python) appears to be the messenger with the best algorithm to handle BiDi.
Most important parts are these:
[MESSAGE] In Changeset 14440:a82c19001268, Gajim uses LRM or RLM to set direction according to the first non-neutral character in a message; there are better and cleaner ways to set direction with JS in HTML.
[STATUS MESSAGE] In Changeset 14561:df1ad38561be Gajim sets direction of status message according to locale used, with no regard to the first character it starts with.
It seems that
queet-content
orqueet-text
is BiDi adaptable (not perfect, by the way).