From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.bidi,gmane.emacs.devel Subject: Re: Arabic support Date: Thu, 02 Sep 2010 10:49:43 -0400 Message-ID: References: <83bp8oml9c.fsf@gnu.org> <87hbi8dzo2.fsf@home.jasonrumney.net> Reply-To: Eli Zaretskii NNTP-Posting-Host: lo.gmane.org X-Trace: dough.gmane.org 1283439352 8223 80.91.229.12 (2 Sep 2010 14:55:52 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Thu, 2 Sep 2010 14:55:52 +0000 (UTC) Cc: emacs-bidi@gnu.org, emacs-devel@gnu.org, handa@m17n.org To: Jason Rumney Original-X-From: emacs-bidi-bounces+gnu-emacs-bidi=m.gmane.org@gnu.org Thu Sep 02 16:55:50 2010 Return-path: Envelope-to: gnu-emacs-bidi@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 1OrBAV-0002wF-Dj for gnu-emacs-bidi@m.gmane.org; Thu, 02 Sep 2010 16:55:47 +0200 Original-Received: from localhost ([127.0.0.1]:55258 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1OrB9j-0005Ax-U8 for gnu-emacs-bidi@m.gmane.org; Thu, 02 Sep 2010 10:52:47 -0400 Original-Received: from [140.186.70.92] (port=56645 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1OrB9Z-0004oP-FK for emacs-bidi@gnu.org; Thu, 02 Sep 2010 10:52:41 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1OrB6m-0007hF-Nq for emacs-bidi@gnu.org; Thu, 02 Sep 2010 10:49:46 -0400 Original-Received: from fencepost.gnu.org ([140.186.70.10]:50598) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1OrB6m-0007hB-LH; Thu, 02 Sep 2010 10:49:44 -0400 Original-Received: from eliz by fencepost.gnu.org with local (Exim 4.69) (envelope-from ) id 1OrB6l-0002HI-9g; Thu, 02 Sep 2010 10:49:43 -0400 In-reply-to: <87hbi8dzo2.fsf@home.jasonrumney.net> (message from Jason Rumney on Thu, 02 Sep 2010 21:48:29 +0800) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 3) X-BeenThere: emacs-bidi@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Discussion of Emacs support for multi-directional text." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: emacs-bidi-bounces+gnu-emacs-bidi=m.gmane.org@gnu.org Errors-To: emacs-bidi-bounces+gnu-emacs-bidi=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bidi:806 gmane.emacs.devel:129599 Archived-At: > From: Jason Rumney > Cc: Kenichi Handa , emacs-bidi@gnu.org, emacs-devel@gnu.org > Date: Thu, 02 Sep 2010 21:48:29 +0800 > > Eli Zaretskii writes: > > > No, not AFAIK. We call the ScriptItemize API of Uniscribe with NULL > > as the 4th and 5th arguments, which AFAIU should disable reordering. > > Perhaps Jason could chime in and tell if I'm right here. > > The documentation seems to imply that, but it looks like items[i].a.fRTL > is being set anyway according to how uniscribe thinks the direction > should be. My interpretation of this is that the fRTL flag is set according to the explicit directionality of the character deduced solely from its codepoint, e.g. it is TRUE for Hebrew and Arabic letters and FALSE for the rest. By contrast, a "full Unicode bidirectional analysis" that ScriptItemize is advertised to perform when these arguments are non-NULL includes the full implementation of UAX#9, under which embeddings and implicit levels can affect the fRTL flag for characters whose inherent attributes would say otherwise. But that's a guess; the MS documentation is not very explicit on this, to say the least. > As well as removing the code that takes notice of the rtl flag and tries > to reverse the output, you will probably have to set > items[i].a.fLogicalOrder to 1 before calling ScriptShape to ensure > logical order output from ScriptShape. Right, thanks for the hint. However, given what Handa-san wrote, I'm now utterly confused regarding the issue of ordering between Emacs and Uniscribe.