unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: Itai Berli <itai.berli@gmail.com>
To: 27525@debbugs.gnu.org
Subject: bug#27525: 25.1; Line wrapping of bidi paragraphs
Date: Wed, 19 Jul 2017 15:59:14 +0300	[thread overview]
Message-ID: <CABsNJ=Oxv8PuQ=a9VViWt67q4Wt=nZHWEji2V_j55GTRcmJMfw@mail.gmail.com> (raw)
In-Reply-To: <CABsNJ=PzzCvP_103dRgWAaYbq3Eh9VqKyrnr6A=2JagV-7D-Ww@mail.gmail.com>

[-- Attachment #1: Type: text/plain, Size: 4452 bytes --]

And in case you counter that Emacs takes advantage of the "higher-level
protocol" clause, this clause doesn't apply to paragraph 3.4, which Emacs
violates.

But don't take my word for it. I contacted Mr. Aharon Lanin in the matter.
Mr. Lanin is a senior software engineer at Google Tel Aviv as well as one
of the three editors of the Unicode Bidirectional Algorithm from version
6.3.0 till the latest one, v. 10.0.0. I presented him with the following
screenshot of a bidi paragraph in Emacs (it's the same screenshot as I
posted originally in the present ticket): http://imgur.com/Bckn7zP

I list below an excerp from our conversation, which Mr. Lanin has given me
permission to quote.

--- EXCERPT BEGIN ---

***Me***: Just to be clear, are the following statements correct for the
Unicode Standard v. 8.0.0 and above? (I'm mentioning v. 8.0.0 because this
is the version that Emacs claims conformance to.)

1. The way Emacs handles line wrapping of bidi paragraphs does not satisfy
section 3.4 of the Unicode Bidirectional Algorithm. There are no provisions
for higher-level protocol interpretation of this section.

2. If a candidate implementation of the Unicode Bidirectional Algorithm
doesn't satisfy section 3.4, it does not conform to the Unicode
Bidirectional Algorithm.

3. If a candidate implementation of the Unicode Standard does not conform
to the Unicode Bidirectional Algorithm (of the same version), it does not
conform to the Unicode Standard.

***Lanin*** I think so, but I am a programmer, not a lawyer :-)

--- EXCERPT END ---

The Emacs manual and all official Emacs publications should make it clear
that Emacs does not conform to the Unicode Standard. Anything else is
simply not true, and is a deliberate misleading.

On Wed, Jul 19, 2017 at 11:50 AM, Itai Berli <itai.berli@gmail.com> wrote:

> Eli, in different bug report, namely 27526, I recently wrote the following
> remark:
>
> > the line-wrapping bug is still a major annoyance, at best, and until it
> is fixed, Emacs cannot claim to be Unicode compliant.
>
> to which you replied:
>
> > I disagree, as I already said many times.
>
> You do agree, though, that Emacs does not conform to the Unicode
> Bidirectional Algorithm as specified in the Unicode Standard Annex #9.
> After all, the following paragraph appears in the bidi code itself (
> http://git.savannah.gnu.org/cgit/emacs.git/tree/src/bidi.c):
>
>    Note that, because reordering is implemented below the level in
>    xdisp.c that breaks glyphs into screen lines, we are violating
>    paragraph 3.4 of UAX#9. which mandates that line breaking shall be
>    done before reordering each screen line separately.
>
> So the only thing you disagree with me is that non-conformance to the
> Unicode Bidirectional Algorithm is tantamount to non-conformance to the
> Unicode Standard. Well, this disagreement is easily settled by reading
> article C12 'Bidirectional Text' of section 3.2 'Conformance Requirements'
> of the Unicode Standard:
>
> A process that displays text containing supported right-to-left characters
> or embedding codes shall display all visible representations of characters
> (excluding format characters) in the same order as if the Bidirectional
> Algorithm had been applied to the text, unless tailored by a higher-level
> protocol as permitted by the specification.
>
> * The Bidirectional Algorithm is specified in Unicode Standard Annex #9,
> “Uni- code Bidirectional Algorithm.”
>
>
> On Sun, Jul 9, 2017 at 9:30 PM, Eli Zaretskii <eliz@gnu.org> wrote:
>
>> > From: Benjamin Riefenstahl <b.riefenstahl@turtle-trading.net>
>> > Cc: 27525@debbugs.gnu.org,  itai.berli@gmail.com
>> > Date: Sun, 09 Jul 2017 20:17:41 +0200
>> >
>> > >> From: Richard Stallman <rms@gnu.org>
>> > >> It might be good if Emacs could refill lines automatically the way
>> > >> some other ediors do.
>> >
>> > Eli Zaretskii writes:
>> > > We already have that: "M-x visual-line-mode RET".
>> >
>> > JFTR, even that does not help in this case.  With visual-line-mode the
>> > order of the lines is still wrong with the text that the OP gave.
>>
>> Of course.  It isn't supposed to help.  From the POV of the display
>> engine, visual-line-mode is just a fancy kind of producing
>> continuation lines, so all the problems you see with continued lines
>> will still be there in visual-line-mode.
>>
>
>

[-- Attachment #2: Type: text/html, Size: 7719 bytes --]

  reply	other threads:[~2017-07-19 12:59 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-06-29  7:23 bug#27525: 25.1; Line wrapping of bidi paragraphs Itai Berli
2017-06-29 14:55 ` Eli Zaretskii
2017-06-29 18:35 ` Itai Berli
2017-07-04  9:10 ` Itai Berli
2017-07-04  9:11   ` Itai Berli
2017-07-04  9:19     ` Itai Berli
2017-07-04 14:43       ` Eli Zaretskii
2017-07-04 14:52         ` Itai Berli
2017-07-04 15:19           ` Eli Zaretskii
2017-07-04 23:05       ` Richard Stallman
2017-07-05  2:29         ` Eli Zaretskii
2017-07-05 22:59           ` Richard Stallman
2017-07-06  2:39             ` Eli Zaretskii
2017-07-06 16:01               ` Richard Stallman
2017-07-06 16:17                 ` Eli Zaretskii
2017-07-07 18:23                   ` Richard Stallman
2017-07-07 19:21                     ` Eli Zaretskii
2017-07-09 18:17           ` Benjamin Riefenstahl
2017-07-09 18:30             ` Eli Zaretskii
2017-07-19  8:50               ` Itai Berli
2017-07-19 12:59                 ` Itai Berli [this message]
2017-07-19 17:28                   ` Eli Zaretskii
2017-07-19 21:40                     ` Itai Berli
2017-07-20  5:08                       ` Eli Zaretskii
2017-07-20  7:01                         ` Itai Berli
2017-07-20 11:09                           ` Eli Zaretskii
2017-07-21  6:19                             ` Itai Berli
2017-07-21  8:37                               ` Eli Zaretskii
2017-07-21  9:44                                 ` Itai Berli
2017-07-21 10:58                                   ` Itai Berli
2017-07-21 13:19                                     ` Eli Zaretskii
2017-07-21 13:01                                   ` Eli Zaretskii
2017-07-19 17:24                 ` Eli Zaretskii
2017-07-04 14:40   ` Eli Zaretskii

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='CABsNJ=Oxv8PuQ=a9VViWt67q4Wt=nZHWEji2V_j55GTRcmJMfw@mail.gmail.com' \
    --to=itai.berli@gmail.com \
    --cc=27525@debbugs.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).