emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Emacs as word processor / Text Properties


From: Eli Zaretskii
Subject: Re: Emacs as word processor / Text Properties
Date: Fri, 29 Nov 2013 13:43:59 +0200

> From: Jambunathan K <address@hidden>
> Cc: address@hidden
> Date: Fri, 29 Nov 2013 15:21:27 +0530
> 
> What if I want a bidi-paragraph-direction where the "directionality is
> UNLIKE the first strong directional character".
> 
> Emacs cannot do that.

Yes, it can: set bidi-paragraph-direction to either left-to-right or
right-to-left, and that setting will override the dynamic
determination of paragraph base direction by its first strong
directional character.  This is the equivalent of the following Office
feature:

> | In OpenOffice Writer, pages can be configured as RTL in Format → Page →
> | Page → Text Direction.

If you need to override the base direction of a single paragraph, as
in this feature:

> |                         Paragraphs can be configured to RTL in Format →
> | Paragraph → Alignment → Text Direction.

then simply insert LRM or RLM characters at the beginning of that
paragraph.

> ps: When I ask this question, I assume that the people who wrote the
> standards have good enough reasons to introduce tag paragraph
> "explicitly".

There are no "tag paragraphs" in the Unicode Standard.  There's a
reference to "higher-level protocols", which can be anything.  But
until and unless someone explains why inserting invisible control
characters is not enough, I see no reason to introduce anything more
complex into Emacs.  In any case, such additional features will only
make sense if Emacs saves the buffer as something other than plain
text, because in plain text, _the_only_ means of overriding
directionality is with the bidirectional control characters.

> ,----
> | bidi-paragraph-direction is a variable defined in `C source code'.
> | Its value is nil
> | 
> |   Automatically becomes buffer-local when set.
> |   This variable is safe as a file local variable if its value
> |   satisfies the predicate which is a byte-compiled expression.
> | 
> | Documentation:
> | If non-nil, forces directionality of text paragraphs in the buffer.
> | 
> | If this is nil (the default), the direction of each paragraph is
> | determined by the first strong directional character of its text.
> | The values of `right-to-left' and `left-to-right' override that.
> | Any other value is treated as nil.
> | 
> `----

Yes, exactly: see the last paragraph of this doc string.

> I was responding to Raman and merely noting that word-processing mode
> cannot be discerned just in terms of aesthetics or content alone.
> Directonality is neither about aesthetic nor about content but about
> convention.  It falls in a no-man land.

It falls in the display engine land.

> >> Now if you want to have Tables with Bidi-text then Orgmode is
> >> practically useless.
> >
> > "Practically useless" is a wild exaggeration.  I use it just fine.
> 
> This is not a criticism of Bidi.  This thread is about why an
> word-processing mode would make sense INSPITE of powerfulness of
> Org-mode.

You said that Org mode is practically useless when used with
bidirectional text.  I'm saying that I use Org like that every day, so
it is not useless.

IOW, this is not about Bidi, this is about Org used with bidirectional
scripts.

> Currently, in Org-mode, one cannot have multi-paragraph tables.
> Assuming that in near future, it does support such tables, how would one
> go about fixing the directionality.

You already asked this in the past, and I already provided several
alternatives.  One is to use TAB characters, another is to use the
'(space . PROPS)' display spec, yet another is to use RLM/RLM
controls.  Between these, I don't believe there's a problem we won't
be able to solve.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]