From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: "Ehud Karni" Newsgroups: gmane.emacs.devel,gmane.emacs.bidi Subject: Re: [emacs-bidi] Mixed L2R and R2L paragraphs and horizontal scroll Date: Wed, 3 Feb 2010 15:10:52 +0200 Organization: Mivtach-Simon Insurance agencies Message-ID: <201002031310.o13DAqXd019253@beta.mvs.co.il> References: <83tyu3iu6b.fsf@gnu.org> <201002011400.o11E0jMQ007420@beta.mvs.co.il> <83vdeghfqg.fsf@gnu.org> <201002012205.o11M5Sci011809@beta.mvs.co.il> <83k4uvh09o.fsf@gnu.org> Reply-To: ehud@unix.mvs.co.il NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Trace: ger.gmane.org 1265202690 14619 80.91.229.12 (3 Feb 2010 13:11:30 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Wed, 3 Feb 2010 13:11:30 +0000 (UTC) Cc: emacs-bidi@gnu.org, emacs-devel@gnu.org To: eliz@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Wed Feb 03 14:11:25 2010 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1Ncf0t-0008M9-MC for ged-emacs-devel@m.gmane.org; Wed, 03 Feb 2010 14:11:23 +0100 Original-Received: from localhost ([127.0.0.1]:58629 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Ncf0s-0002kG-V1 for ged-emacs-devel@m.gmane.org; Wed, 03 Feb 2010 08:11:22 -0500 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1Ncf0j-0002jD-Pz for emacs-devel@gnu.org; Wed, 03 Feb 2010 08:11:13 -0500 Original-Received: from [199.232.76.173] (port=52285 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Ncf0i-0002ix-3J for emacs-devel@gnu.org; Wed, 03 Feb 2010 08:11:12 -0500 Original-Received: from Debian-exim by monty-python.gnu.org with spam-scanned (Exim 4.60) (envelope-from ) id 1Ncf0Z-0006WR-51 for emacs-devel@gnu.org; Wed, 03 Feb 2010 08:11:11 -0500 Original-Received: from [193.16.147.12] (port=48301 helo=unix.mvs.co.il) by monty-python.gnu.org with esmtps (TLS-1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1Ncf0W-0006Ug-Su; Wed, 03 Feb 2010 08:11:02 -0500 Original-Received: from beta.mvs.co.il (beta [10.253.0.3]) by unix.mvs.co.il (8.13.8/8.13.7) with ESMTP id o13DArIJ024651; Wed, 3 Feb 2010 15:10:54 +0200 Original-Received: from beta.mvs.co.il (localhost [127.0.0.1]) by beta.mvs.co.il (8.14.1/8.14.1) with ESMTP id o13DArh5019256; Wed, 3 Feb 2010 15:10:53 +0200 Original-Received: (from root@localhost) by beta.mvs.co.il (8.14.1/8.14.1/Submit) id o13DAqXd019253; Wed, 3 Feb 2010 15:10:52 +0200 In-reply-to: <83k4uvh09o.fsf@gnu.org> (message from Eli Zaretskii on Tue, 02 Feb 2010 22:04:51 +0200) X-Mailer: Emacs 21.3.1 rmail (send-msg 1.109) X-detected-operating-system: by monty-python.gnu.org: GNU/Linux 2.4-2.6 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:120850 gmane.emacs.bidi:504 Archived-At: 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 Better Safe Than Sorry