From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Kenichi Handa Newsgroups: gmane.emacs.devel,gmane.emacs.bidi Subject: Re: [emacs-bidi] Treatment of LRE,RLE,LRO,RLO,PDF,LRM,RLM Date: Thu, 19 Aug 2010 11:49:14 +0900 Message-ID: References: NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: quoted-printable X-Trace: dough.gmane.org 1282186186 23817 80.91.229.12 (19 Aug 2010 02:49:46 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Thu, 19 Aug 2010 02:49:46 +0000 (UTC) Cc: emacs-bidi@gnu.org, emacs-devel@gnu.org To: Yair F Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Thu Aug 19 04:49:44 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 1OlvCI-0007oO-VO for ged-emacs-devel@m.gmane.org; Thu, 19 Aug 2010 04:49:43 +0200 Original-Received: from localhost ([127.0.0.1]:37700 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1OlvCD-0002bb-Lw for ged-emacs-devel@m.gmane.org; Wed, 18 Aug 2010 22:49:37 -0400 Original-Received: from [140.186.70.92] (port=55620 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1OlvC4-0002YK-LS for emacs-devel@gnu.org; Wed, 18 Aug 2010 22:49:30 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1OlvC0-0004To-Ji for emacs-devel@gnu.org; Wed, 18 Aug 2010 22:49:27 -0400 Original-Received: from mx1.aist.go.jp ([150.29.246.133]:55445) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1OlvC0-0004TH-1w; Wed, 18 Aug 2010 22:49:24 -0400 Original-Received: from rqsmtp1.aist.go.jp (rqsmtp1.aist.go.jp [150.29.254.115]) by mx1.aist.go.jp with ESMTP id o7J2nF6C013486; Thu, 19 Aug 2010 11:49:15 +0900 (JST) env-from (handa@m17n.org) Original-Received: from smtp3.aist.go.jp by rqsmtp1.aist.go.jp with ESMTP id o7J2nF2x029235; Thu, 19 Aug 2010 11:49:15 +0900 (JST) env-from (handa@m17n.org) Original-Received: by smtp3.aist.go.jp with ESMTP id o7J2nF3v019593; Thu, 19 Aug 2010 11:49:15 +0900 (JST) env-from (handa@m17n.org) Original-Received: from handa by etlken with local (Exim 4.71) (envelope-from ) id 1OlvBq-0006ER-T1; Thu, 19 Aug 2010 11:49:14 +0900 In-Reply-To: (message from Yair F on Wed, 18 Aug 2010 17:33:46 +0300) X-detected-operating-system: by eggs.gnu.org: Solaris 9 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:128860 gmane.emacs.bidi:766 Archived-At: In article , = Yair F writes: > On Wed, Aug 18, 2010 at 5:06 AM, Kenichi Handa wrote: > > I think it's about the time to decide how to display these > > formatting characters: LRE, RLE, LRO, RLO, PDF, LRM, RLM. > This is not a bidi-specific issue. Yes. I included emacs-devel@gnu.org in CC:. > It is possible that these characters > and other Unicode control characters needs to be trated as non-visiblle > characters. The assitional characters are CGJ, IAA, IAS, ZWNBSP (BOM), > IAT LSEP, PSEP, WJ, Invisible Operators, ans all Zero width characters: > ZWSP, ZWNJ, ZWJ. > All of these characters modify the environment aboud them but do not > display glyphs. In some way they are like the TAB character. > I am thinking of extending whitespace.el to make them visible if the > user wishes, but IMO, they should bot be visible by default. See the > impact on the HELLO fle. Extending whitespace.el will be good. But, anyway we must hide those characters by default, so we need some char-table to specify that. Currently standard-display-table is not made by default. I think the first step is to made it by default, and specify [] for all of those characters. > > (1) invisible-mode (perhaps the default) > > > > Hide them, for instance, by > > =A0(aset standard-display-table #x202e []) > > > > Then, you have to type C-f or C-b twice to pass over those > > characters. =A0That means users can still put cursor anywhere > > if he moves cursor carefully. > Yes, but currently the cursore is "gone" if it is on invisible character. "Gone"? The cursor is displayed on the next visible character. It may be good to show a bar cursor of 1-pixel width when it's on a zero-width character. > > (2) light-visible-mode > > > > Show them by a space of 1-pixel width. > > > > (3) heavy-visible-mode > > > > Show them, for instance, by > > =A0(aset standard-display-table #x202e [?[ ?R ?L ?O ?]]) > > perhaps with some color attribute (forground? underline?). > > > These modes seems less usable. I may use (2) for my default setting. And (3) may be usable on terminal where we can't show a fancy glyph. > > (4) fancy-visible-mode > > > > Show them by a glyph something like what you can see by this code: > > > Yes, SI 1452 indeed specify characters look U21B2 and U21B3 for > keyboard marking for LRM and RLM. What is "SI 1452"? Anyway, for that we must implement a fundamental mechanism in display engine. I think it's not a hard work. I'd like to extend the elements of a display table. Currently only a glyph vector or nil is allowed. It seems good to extend it so that it can completely control the displaying of a character (like by face and display text properties). At least, for (2), I want to specify a space width (relative or absolute), and for (4) I want to specify a special form (list?) containing a mnemonic label. --- Kenichi Handa handa@m17n.org