Re: about P1 part of BIDI alogrithm

2011-10-13 Thread Philippe Verdy
2011/10/11 Eli Zaretskii e...@gnu.org: From: Philippe Verdy verd...@wanadoo.fr This means that you need to break lines in two separate steps: first between paragraphs or forced line breaks, then a second after determining the the direction of all characters and then remplacing their possible

Re: about P1 part of BIDI alogrithm

2011-10-13 Thread Eli Zaretskii
From: Philippe Verdy verd...@wanadoo.fr Date: Thu, 13 Oct 2011 15:56:06 +0200 Cc: due...@it.aoyama.ac.jp, libo@gmail.com, unicode@unicode.org This would mean to run the reordering twice, since you don't know where to wrap a line until you lay out all of its grapheme clusters, and

Re: about P1 part of BIDI alogrithm

2011-10-11 Thread Eli Zaretskii
Date: Tue, 11 Oct 2011 13:39:36 +0900 From: Martin J. Dürst due...@it.aoyama.ac.jp CC: libo@gmail.com, unicode@unicode.org Sorry, I don't follow you. There's no such line-folding in the Emacs implementation of the UBA. A line that doesn't fit the window width is reordered as a

Re: about P1 part of BIDI alogrithm

2011-10-11 Thread Eli Zaretskii
From: Philippe Verdy verd...@wanadoo.fr Date: Tue, 11 Oct 2011 01:00:19 +0200 Cc: li bo libo@gmail.com, unicode@unicode.org 2011/10/10 Eli Zaretskii e...@gnu.org:  what's the meaning of 'appropriate Newline Functions' and 'higher-level protocol paragraph determination'? Newline

Re: about P1 part of BIDI alogrithm

2011-10-11 Thread Eli Zaretskii
Date: Tue, 11 Oct 2011 10:29:51 +0900 From: Martin J. Dürst due...@it.aoyama.ac.jp CC: li bo libo@gmail.com, unicode@unicode.org From section 3: Paragraphs are divided by the Paragraph Separator or appropriate Newline Function (for guidelines on the handling of CR, LF, and

Re: about P1 part of BIDI alogrithm

2011-10-11 Thread Eli Zaretskii
Date: Tue, 11 Oct 2011 10:53:39 +0900 From: Martin J. Dürst due...@it.aoyama.ac.jp CC: li bo libo@gmail.com, unicode@unicode.org I might add here that 'break a line' in the Bidi algorithm is done before actual reordering (which is done line-by-line), but after calculating all the

Re: about P1 part of BIDI alogrithm

2011-10-11 Thread Martin J. Dürst
Hello Eli, There is absolutely no problem to treat the algorithm in UAX#9 as a set of requirements, and come up with a totally different implementation that produces the same results. I think actually UAX#9 says so somewhere. But what is, strictly speaking, not allowed is to change the

Re: about P1 part of BIDI alogrithm

2011-10-11 Thread Kent Karlsson
Den 2011-10-11 09:43, skrev Eli Zaretskii e...@gnu.org: Let me give you just one example: if the character should be mirrored, you cannot decide whether it fits the display line until _after_ you know what its mirrored glyph looks like. But mirroring is only resolved at a very late stage of

Re: about P1 part of BIDI alogrithm

2011-10-11 Thread Martin J. Dürst
Hello Kent, I was also very much thinking that mirrored glyph should be of the same width, but there might be subtle issues when you consider kerning. As a very basic example, think about kerning of the pair K), and then think about K(. Regards, Martin. On 2011/10/11 19:39, Kent Karlsson

Re: about P1 part of BIDI alogrithm

2011-10-11 Thread Eli Zaretskii
Date: Tue, 11 Oct 2011 18:54:10 +0900 From: Martin J. Dürst due...@it.aoyama.ac.jp CC: libo@gmail.com, unicode@unicode.org There is absolutely no problem to treat the algorithm in UAX#9 as a set of requirements, and come up with a totally different implementation that produces the

Re: about P1 part of BIDI alogrithm

2011-10-11 Thread Eli Zaretskii
Date: Tue, 11 Oct 2011 12:39:57 +0200 From: Kent Karlsson kent.karlsso...@telia.com CC: libo@gmail.com, unicode@unicode.org Well, I think there is a silent (but reasonable, I would say) assumption that mirroring does not change the width of a glyph... I would think that if a

Re: about P1 part of BIDI alogrithm

2011-10-11 Thread Philippe Verdy
2011/10/11 Martin J. Dürst due...@it.aoyama.ac.jp: Hello Kent, I was also very much thinking that mirrored glyph should be of the same width, but there might be subtle issues when you consider kerning. As a very basic example, think about kerning of the pair K), and then think about K(.

Re: about P1 part of BIDI alogrithm

2011-10-11 Thread Philippe Verdy
2011/10/11 Eli Zaretskii e...@gnu.org: Date: Tue, 11 Oct 2011 13:39:36 +0900 From: Martin J. Dürst due...@it.aoyama.ac.jp CC: libo@gmail.com, unicode@unicode.org Sorry, I don't follow you.  There's no such line-folding in the Emacs implementation of the UBA.  A line that doesn't fit

Re: about P1 part of BIDI alogrithm

2011-10-11 Thread Eli Zaretskii
From: Philippe Verdy verd...@wanadoo.fr Date: Tue, 11 Oct 2011 17:03:51 +0200 Cc: Kent Karlsson kent.karlsso...@telia.com, Eli Zaretskii e...@gnu.org, libo@gmail.com, unicode@unicode.org So you'll need to first compute the directionality of all characters in a paragraph (where

Re: about P1 part of BIDI alogrithm

2011-10-11 Thread Eli Zaretskii
From: Philippe Verdy verd...@wanadoo.fr Date: Tue, 11 Oct 2011 17:44:12 +0200 Cc: Martin J. Dürst due...@it.aoyama.ac.jp, libo@gmail.com, unicode@unicode.org Then your implementation is completely couterintutive: imagine what will happen if you press enter in a RTL context a

about P1 part of BIDI alogrithm

2011-10-10 Thread li bo
Hi, About P1 in UBA *P1. Split the text into separate paragraphs. A paragraph separator is kept with the previous paragraph. Within each paragraph, apply all the other rules of this algorithm.* Here, what does paragraph mean? which symbols can *Split the text into separate paragraphs? I think

Re: about P1 part of BIDI alogrithm

2011-10-10 Thread Eli Zaretskii
Date: Mon, 10 Oct 2011 17:47:21 +0800 From: li bo libo@gmail.com *P1. Split the text into separate paragraphs. A paragraph separator is kept with the previous paragraph. Within each paragraph, apply all the other rules of this algorithm.* Here, what does paragraph mean? which symbols

Re: about P1 part of BIDI alogrithm

2011-10-10 Thread Martin J. Dürst
On 2011/10/10 21:10, Eli Zaretskii wrote: Date: Mon, 10 Oct 2011 17:47:21 +0800 From: li bolibo@gmail.com From section 3: Paragraphs are divided by the Paragraph Separator or appropriate Newline Function (for guidelines on the handling of CR, LF, and CRLF, see Section 4.4,

Re: about P1 part of BIDI alogrithm

2011-10-10 Thread Martin J. Dürst
On 2011/10/11 10:29, Martin J. Dürst wrote: On 2011/10/10 21:10, Eli Zaretskii wrote: Date: Mon, 10 Oct 2011 17:47:21 +0800 In addition to the Paragraph Separator, _any_ newline function (LF, CR+LF, CR, or NEL) can end a paragraph. Also U+2028, the LS character. See section 5.8 of the

Re: about P1 part of BIDI alogrithm

2011-10-10 Thread Philippe Verdy
2011/10/11 Martin J. Dürst due...@it.aoyama.ac.jp: This is different from what you did in Emacs, which I'd call line-folding, i.e. cut the line after a paragraph is laid out and reordered completely as a single (potentially very long) line. This makes some sense in Emacs, where the basic

Re: about P1 part of BIDI alogrithm

2011-10-10 Thread Eli Zaretskii
Date: Tue, 11 Oct 2011 10:53:39 +0900 From: Martin J. Dürst due...@it.aoyama.ac.jp CC: li bo libo@gmail.com, unicode@unicode.org This is different from what you did in Emacs, which I'd call line-folding, i.e. cut the line after a paragraph is laid out and reordered completely as a

Re: about P1 part of BIDI alogrithm

2011-10-10 Thread Martin J. Dürst
On 2011/10/11 13:07, Eli Zaretskii wrote: Date: Tue, 11 Oct 2011 10:53:39 +0900 From: Martin J. Dürstdue...@it.aoyama.ac.jp CC: li bolibo@gmail.com, unicode@unicode.org This is different from what you did in Emacs, which I'd call line-folding, i.e. cut the line after a paragraph is laid out