emacs-pretest-bug
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Arabic - moving cursor over text shifts characters


From: Jason Rumney
Subject: Re: Arabic - moving cursor over text shifts characters
Date: Wed, 25 Oct 2006 12:52:39 +0100
User-agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.0.4) Gecko/20060516 Thunderbird/1.5.0.4 Mnenhy/0.7.4.666

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


reply via email to

[Prev in Thread] Current Thread [Next in Thread]