unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: "Ehud Karni" <ehud@unix.mvs.co.il>
To: eliz@gnu.org
Cc: emacs-bidi@gnu.org, emacs-devel@gnu.org
Subject: Re: [emacs-bidi] Mixed L2R and R2L paragraphs and horizontal scroll
Date: Wed, 3 Feb 2010 15:10:52 +0200	[thread overview]
Message-ID: <201002031310.o13DAqXd019253@beta.mvs.co.il> (raw)
In-Reply-To: <83k4uvh09o.fsf@gnu.org> (message from Eli Zaretskii on Tue, 02 Feb 2010 22:04:51 +0200)

On Tue, 02 Feb 2010 22:04:51 Eli Zaretskii wrote:
>
> So let me tell directly and unequivocally what I propose.  There are
> two main principles:
>
>   . Line truncation and continuation is done in the visual order
>
>   . Horizontal scrolling is done in the logical order

What you describe here is the Emacs screen as rectangle frame moving
over the visual ordered text. This is technically sound but very wrong
from a user view point. The reason is that Hebrew reader see the
"continuation" lines in reverse order, and has to read this from the
last (continuation) line (the most down one) upward.

No word processor that uses that approach (check open-office with a
long enough text, or with the other OS word processor).

More reasons to use a different strategy below.

> What this means is that an L2R line that ends with a stretch of R2L
> text will be continued as follows:
>
>        +-------------------------------+
>        |name2 1234 catag2 NOITPIRCSED-\|
>        |GNOL-YREV                      |
>        +-------------------------------+

See the problem - the user must start reading from the second line.

> and truncated thusly:
>
>        +-------------------------------+
>        |name2 1234 catag2 NOITPIRCSED-$|
>        +-------------------------------+

The truncation is technically correct but wrong from user perspective.


> Similarly, an R2L line will be continued like this:
>
>        +-------------------------------+
>        |/RCSED-GNOL-YREV-YREV-YREV-YREV|
>        |                         NOITPI|
>        +-------------------------------+
>
> and truncated like this:
>
>        +-------------------------------+
>        |$RCSED-GNOL-YREV-YREV-YREV-YREV|
>        +-------------------------------+

This is the correct way.

In the your following examples you omitted the long Hebrew text within
a L2R paragraph, which is the problematic case. Let me try to show how
I expect it to work (in continuation/scrolling situation).

The logical text is "some latin text followed by HEBREW VERY1 VERY2
LONG TEXT FOR DEMONSTRATING OF THE DIFFERENT SCROLLING OPTIONS AND
THE UNNATURAL RESULT OF ELIS APPROACH WITH small latin tail"

With your approach it will appear as (first, wider screen):

       +----------------------------------------+
       |some latin text followed by HTIW HCAORP$|
       |PA SILE FO TLUSER LARUTANNU EHT DNA SNO$|
       |ITPO GNILLORCS TNEREFFID EHT FO GNITART$|
       |SNOMED ROF TXET GNOL 2YREV 1YREV WERBEH$|
       | small latin tail                       |
       +----------------------------------------+

The Hebrew starts at 4th visual lines and goes upward.

with smaller screen (assume only 7 lines long):

       +--------------------+
       |some latin text fol$|
       |lowed by HTIW HCAOR$|
       |PPA SILE FO TLUSER $|
       |LARUTANNU EHT DNA S$|
       |NOITPO GNILLORCS TN$|
       |EREFFID EHT FO GNIT$|
       |ARTSNOMED ROF TXET $|
       +--------------------+

Oops, the beginning of the Hebrew text disappeared.

Now if you display the same Hebrew text (without the Latin
prefix) in R2L:

       +----------------------------------------+
       |$SNOMED ROF TXET GNOL 2YREV 1YREV WERBEH|
       |$ITPO GNILLORCS TNEREFFID EHT FO GNITART|
       |$PA SILE FO TLUSER LARUTANNU EHT DNA SNO|
       |            small latin tail HTIW HCAORP|
       +----------------------------------------+

and in smaller screen:

       +--------------------+
       |$ 2YREV 1YREV WERBEH|
       |$NOMED ROF TXET GNOL|
       |$FID EHT FO GNITARTS|
       |$PO GNILLORCS TNEREF|
       |$TANNU EHT DNA SNOIT|
       |$SILE FO TLUSER LARU|
       |$???? HTIW HCAORPPA |
       +--------------------+
The last line ???? are "tail" by Eli's way and "smal" by my way.

See the difference ?  (please do it with real Hebrew and try to
read the Hebrew text according to your approach).

I claim the scrolling should follow the "same" rules.
e.g. 1: wide screen scrolled 20 (half width):
       +----------------------------------------+
       |$owd by OF TXET GNOL 2YREV 1YREV WERBEH$|
       +----------------------------------------+
e.g. 2: wide screen scrolled 60 (1.5 width):
       +----------------------------------------+
       |$LLORCS TNEREFFID EHT FO GNITARTSNOMED $|
       +----------------------------------------+
e.g. 3: wide screen scrolled 150:
       +----------------------------------------+
       |$HTIW H small latin tail                |
       +----------------------------------------+

The word "same" is between quotes because it is the same appearance
even though the rules may be slightly different.

Ehud.


--
 Ehud Karni           Tel: +972-3-7966-561  /"\
 Mivtach - Simon      Fax: +972-3-7976-561  \ /  ASCII Ribbon Campaign
 Insurance agencies   (USA) voice mail and   X   Against   HTML   Mail
 http://www.mvs.co.il  FAX:  1-815-5509341  / \
 GnuPG: 98EA398D <http://www.keyserver.net/>    Better Safe Than Sorry




  reply	other threads:[~2010-02-03 13:10 UTC|newest]

Thread overview: 98+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-01-30 13:44 Mixed L2R and R2L paragraphs and horizontal scroll Eli Zaretskii
2010-01-30 15:14 ` David De La Harpe Golden
2010-01-30 15:33   ` Eli Zaretskii
2010-01-30 16:36 ` martin rudalics
2010-01-30 17:01   ` Eli Zaretskii
2010-01-30 17:22     ` martin rudalics
2010-01-30 17:52       ` Eli Zaretskii
2010-01-30 18:31         ` martin rudalics
2010-01-30 19:12           ` Eli Zaretskii
2010-01-30 19:45             ` martin rudalics
2010-01-30 21:40               ` Eli Zaretskii
2010-01-31  9:36                 ` martin rudalics
2010-01-31 18:02                   ` Eli Zaretskii
2010-01-31 20:01                     ` martin rudalics
2010-01-31 21:53                       ` Miles Bader
2010-02-01  4:12                         ` Eli Zaretskii
2010-02-01  8:34                         ` martin rudalics
2010-02-01  4:11                       ` Eli Zaretskii
2010-02-01  8:34                         ` martin rudalics
2010-02-01 20:21                           ` Eli Zaretskii
2010-02-02  8:08                             ` martin rudalics
2010-02-02 19:30                               ` Eli Zaretskii
2010-02-03 16:06                                 ` martin rudalics
2010-02-01 21:05                       ` Richard Stallman
2010-02-02  8:08                         ` martin rudalics
2010-02-02 13:23                           ` tomas
2010-02-02 14:39                             ` martin rudalics
2010-02-02 19:32                             ` Eli Zaretskii
2010-02-06  6:29                               ` tomas
2010-02-02 21:21                             ` Richard Stallman
2010-02-06  6:35                               ` tomas
2010-02-06 14:46                                 ` David De La Harpe Golden
2010-02-06 22:55                                 ` Richard Stallman
2010-02-02 21:21                           ` Richard Stallman
2010-01-30 23:26 ` David De La Harpe Golden
2010-01-31 12:42 ` Richard Stallman
2010-01-31 15:02   ` David De La Harpe Golden
2010-01-31 18:20     ` Eli Zaretskii
2010-01-31 18:16   ` Eli Zaretskii
2010-02-01 21:05     ` Richard Stallman
2010-02-01 21:51       ` Eli Zaretskii
2010-02-02 21:21         ` Richard Stallman
2010-02-01 14:00 ` Ehud Karni
2010-02-01 20:18   ` Eli Zaretskii
2010-02-01 22:05     ` [emacs-bidi] " Ehud Karni
2010-02-02 20:04       ` Eli Zaretskii
2010-02-03 13:10         ` Ehud Karni [this message]
2010-02-03 18:59           ` Eli Zaretskii
2010-02-04 11:01             ` Richard Stallman
2010-02-04 15:14               ` [emacs-bidi] " Stefan Monnier
2010-02-04 15:57                 ` David Kastrup
2010-02-04 17:21                   ` Davis Herring
2010-02-04 19:33                   ` Eli Zaretskii
2010-02-04 20:46                   ` [emacs-bidi] " tomas
2010-02-04 22:23                     ` Eli Zaretskii
2010-02-06  6:41                       ` [emacs-bidi] " tomas
2010-02-04 22:05                   ` Stefan Monnier
2010-02-04 19:12               ` Eli Zaretskii
2010-02-05 12:44                 ` Richard Stallman
2010-02-05 13:30                   ` Eli Zaretskii
2010-02-05 18:06                     ` [emacs-bidi] " Stefan Monnier
2010-02-05 21:48                       ` Eli Zaretskii
2010-02-06 22:55                         ` Richard Stallman
2010-02-07  4:08                           ` Eli Zaretskii
2010-02-07  8:35                             ` David Kastrup
2010-02-07 15:05                             ` Richard Stallman
2010-02-04 14:02             ` [emacs-bidi] " Ehud Karni
2010-02-04 19:30               ` Eli Zaretskii
2010-02-04 19:48                 ` [emacs-bidi] " Eli Zaretskii
2010-02-06  6:52               ` tomas
2010-02-03 21:02           ` Davis Herring
2010-02-04  4:16             ` Bidirectional embeddings (was: Mixed L2R and R2L paragraphs and horizontal scroll) Eli Zaretskii
2010-02-04 16:21             ` [emacs-bidi] Mixed L2R and R2L paragraphs and horizontal scroll Ehud Karni
2010-02-04 19:40               ` Eli Zaretskii
2010-02-04 22:13                 ` [emacs-bidi] " Stefan Monnier
2010-02-05  9:50                   ` Eli Zaretskii
2010-02-05 10:47                     ` Eli Zaretskii
2010-02-05 18:06                     ` [emacs-bidi] " Stefan Monnier
2010-02-06 13:39                     ` David De La Harpe Golden
2010-02-06 15:45                       ` Ehud Karni
2010-02-06 19:38                       ` Eli Zaretskii
2010-02-06 21:18                         ` [emacs-bidi] " David De La Harpe Golden
2010-02-11 21:40                     ` Beni Cherniavsky
2010-02-12 11:03                       ` Eli Zaretskii
2010-02-12 12:36                         ` Eli Zaretskii
2010-02-05 12:21                 ` [emacs-bidi] " Ehud Karni
2010-02-05 13:47                   ` Eli Zaretskii
2010-02-05 14:22                     ` Miles Bader
2010-02-05 14:52                       ` Eli Zaretskii
2010-02-06  1:07                         ` Miles Bader
2010-02-06  9:03                           ` Eli Zaretskii
2010-02-06  9:32                             ` Miles Bader
2010-02-06 15:42                     ` [emacs-bidi] " Ehud Karni
2010-02-06 19:14                       ` Eli Zaretskii
2010-02-03 13:22         ` [emacs-bidi] " Ehud Karni
2010-02-03 19:01           ` Eli Zaretskii
2010-02-04 14:08             ` [emacs-bidi] " Ehud Karni
2010-02-01 15:36 ` Stefan Monnier

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=201002031310.o13DAqXd019253@beta.mvs.co.il \
    --to=ehud@unix.mvs.co.il \
    --cc=eliz@gnu.org \
    --cc=emacs-bidi@gnu.org \
    --cc=emacs-devel@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).