From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: James Cloos Newsgroups: gmane.emacs.bidi,gmane.emacs.devel Subject: Re: Bidirectional editing in Emacs -- main design decisions Date: Sat, 10 Oct 2009 13:18:37 -0400 Message-ID: References: <83bpkgl113.fsf@gnu.org> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: ger.gmane.org 1255195581 23338 80.91.229.12 (10 Oct 2009 17:26:21 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sat, 10 Oct 2009 17:26:21 +0000 (UTC) Cc: emacs-bidi@gnu.org, emacs-devel@gnu.org To: Eli Zaretskii Original-X-From: emacs-bidi-bounces+gnu-emacs-bidi=m.gmane.org@gnu.org Sat Oct 10 19:26:12 2009 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.50) id 1Mwfhq-00015y-8s for gnu-emacs-bidi@m.gmane.org; Sat, 10 Oct 2009 19:26:10 +0200 Original-Received: from localhost ([127.0.0.1]:55479 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Mwfhp-0007cA-OU for gnu-emacs-bidi@m.gmane.org; Sat, 10 Oct 2009 13:26:09 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1Mwfh8-0007Jj-Bw for emacs-bidi@gnu.org; Sat, 10 Oct 2009 13:25:26 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1Mwfh3-0007G1-Oo for emacs-bidi@gnu.org; Sat, 10 Oct 2009 13:25:25 -0400 Original-Received: from [199.232.76.173] (port=35316 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Mwfh3-0007Fr-6w; Sat, 10 Oct 2009 13:25:21 -0400 Original-Received: from eagle.jhcloos.com ([207.210.242.212]:1313) by monty-python.gnu.org with esmtps (TLS-1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1Mwfh0-0004QC-8p; Sat, 10 Oct 2009 13:25:18 -0400 Original-Received: by eagle.jhcloos.com (Postfix, from userid 10) id 90FC240151; Sat, 10 Oct 2009 17:24:50 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=jhcloos.com; s=eagle; t=1255195514; bh=BpXwt3PPdvYEpGmIw/hYlSGk4hkAIj+u/hspauph9Vg=; h=From:To:Cc:Subject:In-Reply-To:References:Date:Message-ID: MIME-Version:Content-Type; b=xb5l9MUQSyAsnxP53QJ+To1SnLJVPdmPXPO46qaBM2nfklm6QzAwzQzZX59HbVdKG xwEMe4c1G//OUptvNT7hpVJkyXclv9mTThjUBRf/m4mPv4aKSru8IRnhAvPKnB1ExJ oRe8nIFd8eoFgDgDEfc05M/znd8JaWXtpBcA2V8k= Original-Received: by lugabout.jhcloos.org (Postfix, from userid 500) id DFFBB9069C; Sat, 10 Oct 2009 17:19:01 +0000 (UTC) In-Reply-To: <83bpkgl113.fsf@gnu.org> (Eli Zaretskii's message of "Fri, 09 Oct 2009 23:18:00 +0200") User-Agent: Gnus/5.110011 (No Gnus v0.11) Emacs/23.1.50 (gnu/linux) Face: iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABHNCSVQICAgIfAhkiAAAAI1J REFUOE+lU9ESgCAIg64P1y+ngUdxhl5H8wFbbM0OmUiEhKkCYaZThXCo6KE5sCbA1DDX3genvO4d eBQgEMaM5qy6uWk4SfBYfdu9jvBN9nSVDOKRtwb+I3epboOsOX5pZbJNsBJFvmQQ05YMfieIBnYX FK2N6dOawd97r/e8RjkTLzmMsiVgrAoEugtviCM3v2WzjgAAAABJRU5ErkJggg== Copyright: Copyright 2009 James Cloos OpenPGP: ED7DAEA6; url=http://jhcloos.com/public_key/0xED7DAEA6.asc OpenPGP-Fingerprint: E9E9 F828 61A4 6EA9 0F2B 63E7 997A 9F17 ED7D AEA6 Original-Lines: 34 X-Hashcash: 1:30:091010:eliz@gnu.org::7KQ67w3GvAkaF0q4:0000B1DuB X-Hashcash: 1:30:091010:emacs-devel@gnu.org::foSqvTVCXJl4WH5v:00000000000000000000000000000000000000000vCG1M X-Hashcash: 1:30:091010:emacs-bidi@gnu.org::8em/iAhtxr/EyQ65:000000000000000000000000000000000000000000CZMrB X-detected-operating-system: by monty-python.gnu.org: Genre and OS details not recognized. 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:422 gmane.emacs.devel:116073 Archived-At: >>>>> "Eli" == Eli Zaretskii writes: Eli> I'm slowly working on adding support for bidirectional editing in Emacs. Thanks for posting that. It is a great summary of the concerns and needs of an editor when dealing with bidi test. To be fair, I should point out before continuing that I do not read any rtl scripts. My interests deal with fonts and typography and at least seeing bidi email in its correct visual order, if only to try to learn some of it. Eli> 1. Text storage Eli> 2. Support for Unicode Bidirectional Algorithm Eli> 3. Bidi formatting codes are retained Eli> 4. Reordering of text for display Eli> 5. Visual-order information is volatile Eli> 6. Reordering of strings from `display' properties Eli> 7. Paragraph base direction Eli> 8. User control of visual order Of those points, all but #6 are no brainers; your choices are exactly what an editor must do. Point six is an interesting problem; I'm also unaware of any prior art. I suspect that in the long term it would be best to note the start and end directionality of such chunks of text and set them chunk-by-chunk in a manner similar to how glyphs are set in the absence of such properties. But in the short term I agree with the choice you outlined. -JimC -- James Cloos OpenPGP: 1024D/ED7DAEA6