The same happens on MS Windows, it is caused by the underlying APIs
that we use to draw text being RTL aware, while Emacs is not. So when
we ask the system to draw a string of text, it is drawn correctly RTL,
but when we draw it a character at a time while moving the cursor,
Emacs does not have the correct idea about which character is under the
cursor, so draws the wrong one - effectively reversing the order if you
move the cursor right through the text.
This sort of problem will eventually be solved when the emacs-bidi code
is complete, but for now, it is really just a symptom of the fact that
Emacs is not suitable for editing RTL languages.
David Reitter wrote:
When I copy&pasted a bit of arabic script into a
current CVS Emacs (Carbon port), things seemed fine until I moved the
cursor to the left over the text - which seemed to change (rearrange)
the characters displayed. This can be seen in the screenshots attached.
The second one shows the display after pasting, the third one shows
what's displayed after moving the cursor over the text.
The first screenshot shows what the original (on a website) looked
like.
Characters seem to be shifted to the right.
I don't know what the significance of this is - I don't read arabic. I
haven't changed the display to right-to-left (and I wouldn't know how
to do that).
In GNU Emacs 22.0.50.1 (powerpc-apple-darwin7.9.0, Carbon Version
1.6.0)
of 2006-10-23 on rodrigues.inf.ed.ac.uk - Aquamacs Distribution 0.9.9d
X server distributor `Apple Computers', version 10.4.8
configured using `configure '--without-x' '--prefix=/usr/local''
Important settings:
value of $LC_ALL: nil
value of $LC_COLLATE: nil
value of $LC_CTYPE: nil
value of $LC_MESSAGES: nil
value of $LC_MONETARY: nil
value of $LC_NUMERIC: nil
value of $LC_TIME: nil
value of $LANG: nil
locale-coding-system: iso-8859-1
default-enable-multibyte-characters: t
Major mode: Text
Minor modes in effect:
delete-selection-mode: t
show-paren-mode: t
pc-selection-mode: t
cua-mode: t
smart-frame-positioning-mode: t
aquamacs-styles-mode: t
recentf-mode: t
emulate-mac-german-keyboard-mode: t
encoded-kbd-mode: t
osx-key-mode: t
tooltip-mode: t
mac-input-method-mode: t
tool-bar-mode: 0
mouse-wheel-mode: t
menu-bar-mode: t
file-name-shadow-mode: t
global-font-lock-mode: t
font-lock-mode: t
blink-cursor-mode: t
unify-8859-on-encoding-mode: t
utf-translate-cjk-mode: t
auto-compression-mode: t
column-number-mode: t
line-number-mode: t
transient-mark-mode: t
Recent input:
<left> <left> <left> <left> <left>
<left> <left> <left>
<left> <left> <left> <left> <left>
<left> <left> <left>
<left> <left> <left> <left> <left>
<left> <left> <left>
<left> <left> <left> <left> <left>
<left> <left> <left>
<left> <left> <left> <left> <left>
<left> <left> <left>
<left> <left> <left> <left> <left>
<left> <left> <left>
<left> <left> <left> <left> <left>
<left> <left> <left>
<left> <left> <left> <left> <left>
<left> <left> <left>
<left> <left> <left> <left> <left>
<left> <down> <down>
A-a <backspace> A-v A-z <help-echo> A-v <help-echo>
<left> <left> <left> <left> <left>
<left> <left> <left>
<left> <left> <left> <left>
<down-mouse-1> <mouse-1>
<down-mouse-1> <mouse-1> <down-mouse-1>
<mouse-1> <menu-bar>
<help-menu> <report-emacs-bug>
Recent messages:
byte-code: Beginning of buffer
call-interactively: Buffer is read-only: #<buffer *About GNU
Emacs*>
Making completion list...
Buffer is read-only: #<buffer *Help*>
Quit
Mark set [9 times]
Undo...
Undo!
Mark set
Loading emacsbug...done
_______________________________________________
emacs-pretest-bug mailing list
address@hidden
http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug
|