all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: "Stephen J. Turnbull" <stephen@xemacs.org>
To: Eli Zaretskii <eliz@gnu.org>
Cc: Thien-Thi Nguyen <ttn@gnuvola.org>, emacs-devel@gnu.org
Subject: Re: Emacs as word processor
Date: Mon, 25 Nov 2013 11:15:08 +0900	[thread overview]
Message-ID: <87mwktdy6r.fsf@uwakimon.sk.tsukuba.ac.jp> (raw)
In-Reply-To: <83r4a5bj5x.fsf@gnu.org>

Eli Zaretskii writes:
 > > From: Thien-Thi Nguyen <ttn@gnuvola.org>

Listen to Master Thi.  He is wise and appreciates the Zen of
Motorcycle Maintenance, and well groks the higher-order Quality.

 > > If "faces" (the concept) were to include these extra-character
 > > features, then their composition would be greatly complicated.
 > 
 > That ship sailed a long time ago: we already have 'line-spacing' text
 > property.

Which demonstrates why it is unfortunate that text properties are the
primary interface in Emacs.  They're too easy to use for things that
conceptually attach to text units larger than single characters, but
they have no clue about such units -- it's entirely up to the user to
DTRT.

 > Indentation and justification are no different.

Ah, but they *are* different, at least potentially.  Default line
spacing can be implemented by changing the depth of the character box,
uniformly without respect to the identity of the character, for all
characters covered by that face.  (I suspect that's how this works in
Emacs; XEmacs doesn't have the feature AFAIK.)  Indentation and
justification are much more complex: they depend on the semantics of
the text, possibly including the particular characters.  For example,
in Japanese typography, punctuation and certain ligatures are allowed
to protrude on the right margin in fully justified text.  And line
spacing *also* should have a variant that applies to larger units of
text.  (Note that TeX implements both, and Knuth points out in the
TeXbook that use of extended depth to implement "poor man's
double-spacing" is ugly and hardly readable.  But it's possible in
principle.)

 > [Structured styles] is the source of all evil in Office.  The
 > result is a terrible mess where the user ends up having no control
 > on what is going on in her document (except for very short
 > documents).  No, thanks.

No, that's not the problem.  The problem is that *Office separates
editing of styles from editing of the document, making style editing
the province of experts.  And *Office does a rather sucky job on
things like indentation and mark formatting of bullet lists and
enumerations (at least in Japanese documents).

But it doesn't have to be that way.  A simple implementation of Drew's
"structured document WYSIWYG" would be as with many calendar programs,
which ask if a repeating appointment should be changed throughout, or
only on this date.  Concretely, if you edit a section heading's style
(eg, changing Helvetica to Times New Roman), Emacs could issue a query
asking

    Do you want to edit just this instance?
    Change font family to /Times New Roman/ in section headings at:
    [All levels] [This level] [This heading only] [Cancel]
    [ ] Review exceptional headings at affected levels

If you check the "Review" button, it would pop up a buffer listing all
exceptional headers at affected levels (ie, those with different font
families from the global style), with check boxes to revert them to
the global style, with execute options [Revert all] [Revert selected]
[Revert none].  (Not [Cancel] for the last, because that could be
construed to apply to the whole heading edit operation.)

You don't have to like the details of the workflow I just outlined,
although I suspect that applied to header, footer, and section
headings it would be quite acceptable.  In the body we would probably
want a separate command (or perhaps use universal prefix?) to access
styles rather than local formatting.  (I'm not actually sure of that.)

This doesn't address the issues of creating styles (ie, defining
"section heading" as a unit for style editing, and the associated UI
elements), and the balance between flexible control at the level of
individual words and providing structured styles is going to require a
lot of attention to detail.  But I think such an approach provides
both simplicity and sufficient control for "simple WYSIWYG document
processing".





  reply	other threads:[~2013-11-25  2:15 UTC|newest]

Thread overview: 239+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-11-17  7:28 Emacs as word processor Richard Stallman
2013-11-17  8:18 ` Jambunathan K
2013-11-18 18:44   ` Richard Stallman
2013-11-18 22:12     ` Rasmus
2013-11-19  6:02       ` Richard Stallman
2013-11-19  8:01         ` joakim
2013-11-19 23:42           ` Richard Stallman
2013-11-20  6:54             ` joakim
2013-11-20 18:01               ` Lennart Borgman
2013-11-23  6:07               ` Richard Stallman
2013-11-19 10:57         ` Jambunathan K
2013-11-19 12:20           ` Thorsten Jolitz
2013-11-19 14:35             ` Jambunathan K
2013-11-19 13:28         ` Sivaram Neelakantan
2013-11-20 18:35           ` Richard Stallman
2013-11-26  8:38     ` Tom
2013-11-26 15:58       ` Richard Stallman
2013-11-26 23:08         ` Bastien
2013-11-26 23:26           ` Lennart Borgman
2013-12-15 16:16         ` Steinar Bang
2013-11-17 11:16 ` Daniel Colascione
2013-11-17 13:02   ` Nic Ferrier
2013-11-17 13:55     ` Lennart Borgman
2013-11-17 14:15       ` Juergen Fenn
2013-11-17 18:57         ` chad
2013-11-18  4:20   ` Richard Stallman
2013-11-18  5:06     ` Stephen J. Turnbull
     [not found]       ` <l6dsng$6h4$1"@ger.gmane.org>
     [not found]         ` <87mwl04w3k.fsf"@zigzag.favinet>
     [not found]       ` <"<l6dsng$6h4$1"@ger.gmane.org>
     [not found]         ` <"<87mwl04w3k.fsf"@zigzag.favinet>
2013-11-18 18:44       ` Richard Stallman
2013-11-18 19:42         ` Sean Sieger
2013-11-18 19:46           ` Sean Sieger
2013-11-19  6:01           ` Richard Stallman
2013-11-19  7:08             ` Andreas Röhler
2013-11-18 20:19         ` Allen S. Rout
2013-11-19  6:02           ` Richard Stallman
2013-11-19  8:46             ` Thien-Thi Nguyen
2013-11-19  9:39               ` Jambunathan K
2013-11-19 11:21               ` Jambunathan K
2013-11-19 14:35               ` Allen S. Rout
2013-11-19 15:54                 ` Thien-Thi Nguyen
2013-11-20 18:35                   ` Richard Stallman
2013-11-21 15:25                     ` Thien-Thi Nguyen
2013-11-21 16:18                       ` Eli Zaretskii
2013-11-21 21:27                       ` Richard Stallman
2013-11-21 22:03                         ` Lennart Borgman
2013-11-22  0:51                         ` Pascal J. Bourguignon
2013-11-22  6:37                           ` Stephen J. Turnbull
2013-11-22 21:06                             ` Pascal J. Bourguignon
2013-11-22 15:04                           ` Eli Zaretskii
2013-11-22 15:26                             ` Davis Herring
2013-11-22 16:06                               ` Lennart Borgman
2013-11-22 17:56                               ` Eli Zaretskii
2013-11-22 19:01                                 ` John Yates
2013-11-22 21:17                                   ` Eli Zaretskii
     [not found]                                     ` <CAJnXXoi2biZ0uOAB9s-0Y5=9EujpCV4a=CemR-K+wHeJVSB51A@mail.gmail.com>
     [not found]                                       ` <83a9gvcyq3.fsf@gnu.org>
2013-11-23 15:13                                         ` John Yates
2013-11-23 15:24                                           ` Eli Zaretskii
2013-11-23 16:43                                             ` Lennart Borgman
2013-11-23 17:52                                               ` Eli Zaretskii
2013-11-23 21:12                                                 ` Lennart Borgman
2013-11-25 17:51                                             ` John Yates
2013-11-25 18:02                                               ` Lennart Borgman
2013-11-25 18:40                                                 ` Eli Zaretskii
2013-11-25 18:54                                                   ` Lennart Borgman
2013-11-25 18:52                                               ` Jambunathan K
2013-11-26  7:26                                                 ` Jambunathan K
2013-11-22 21:06                             ` Pascal J. Bourguignon
2013-11-22 21:38                               ` Eli Zaretskii
2013-11-22 22:01                                 ` John Yates
2013-11-22 22:56                                   ` Pascal J. Bourguignon
2013-11-23  7:55                                   ` Eli Zaretskii
2013-11-22 22:53                                 ` Pascal J. Bourguignon
2013-11-23  8:22                                   ` Eli Zaretskii
2013-11-23 13:42                                     ` Pascal J. Bourguignon
2013-11-24  8:13                                       ` PJ Weisberg
2013-11-24 17:44                                         ` Drew Adams
2013-11-25 20:42                                     ` Allen S. Rout
2013-11-25 21:15                                       ` Eli Zaretskii
2013-11-25 21:21                                         ` Allen S. Rout
2013-11-25 21:54                                         ` Pascal J. Bourguignon
     [not found]                     ` <<877gc14vzs.fsf@zigzag.favinet>
     [not found]                       ` <<E1Vjbn0-0005Bd-4Z@fencepost.gnu.org>
2013-11-21 22:12                         ` Drew Adams
2013-11-22  7:34                           ` Eli Zaretskii
2013-11-22 13:56                             ` Stefan Monnier
2013-11-22 14:48                               ` Eli Zaretskii
2013-11-22 14:50                                 ` Lennart Borgman
2013-11-22 15:39                                 ` Yuri Khan
2013-11-22 16:07                                   ` John Yates
2013-11-23  6:06                                     ` Richard Stallman
2013-11-23  8:07                                       ` Eli Zaretskii
2013-11-23 21:12                                         ` Richard Stallman
2013-11-24  4:53                                           ` Eli Zaretskii
2013-11-24 18:37                                             ` Richard Stallman
2013-11-24 20:21                                               ` Eli Zaretskii
2013-11-24 20:52                                                 ` Lennart Borgman
2013-11-24 21:06                                                 ` Thien-Thi Nguyen
2013-11-24 21:10                                                   ` Eli Zaretskii
2013-11-25  2:15                                                     ` Stephen J. Turnbull [this message]
2013-11-25  3:55                                                       ` Eli Zaretskii
2013-11-25  5:20                                                         ` Stephen J. Turnbull
2013-11-25 17:39                                                           ` Eli Zaretskii
2013-11-26  2:35                                                             ` Stephen J. Turnbull
2013-11-26  3:58                                                               ` Eli Zaretskii
2013-11-26  7:05                                                                 ` Stephen J. Turnbull
2013-11-26 15:34                                                                   ` John Yates
2013-11-26 16:57                                                                     ` Lennart Borgman
2013-11-26 18:47                                                                       ` John Yates
2013-11-26 15:04                                                               ` Drew Adams
2013-11-26 19:51                                                                 ` Pascal J. Bourguignon
2013-11-26 20:36                                                                   ` Drew Adams
2013-11-26 19:48                                                               ` Emacs as word processor / Text Properties Pascal J. Bourguignon
2013-11-27  2:35                                                                 ` Richard Stallman
2013-11-27 22:26                                                                 ` T.V. Raman
2013-11-27 23:01                                                                   ` Drew Adams
2013-11-27 23:06                                                                     ` T.V. Raman
2013-11-27 23:48                                                                       ` Drew Adams
2013-11-28  0:50                                                                         ` T.V. Raman
2013-11-28  1:27                                                                           ` Lennart Borgman
2013-11-28  4:04                                                                             ` Stephen J. Turnbull
2013-11-28  6:03                                                                               ` Drew Adams
2013-11-28  7:13                                                                                 ` Stephen J. Turnbull
2013-11-28  7:34                                                                                 ` Bastien
2013-11-28  8:53                                                                                   ` Andreas Röhler
2013-11-29  8:44                                                                           ` Jambunathan K
2013-11-29  8:49                                                                             ` Jambunathan K
2013-11-29  8:52                                                                               ` Bastien
2013-11-29  9:01                                                                                 ` Jambunathan K
2013-11-29  9:05                                                                                   ` Bastien
2013-11-29  9:10                                                                             ` Eli Zaretskii
2013-11-29  9:51                                                                               ` Jambunathan K
2013-11-29 11:43                                                                                 ` Eli Zaretskii
2013-11-29 13:42                                                                                   ` Jambunathan K
2013-11-29 14:25                                                                                     ` Eli Zaretskii
2013-11-29 16:47                                                                                       ` Jambunathan K
2013-11-29 19:38                                                                                         ` Eli Zaretskii
2013-11-29 14:18                                                                                   ` Jambunathan K
2013-11-29 15:22                                                                                     ` Eli Zaretskii
2013-11-29 10:06                                                                             ` Andreas Röhler
2013-11-29  6:50                                                                   ` Jambunathan K
2013-11-30  1:09                                                                     ` Richard Stallman
2013-12-02 20:04                                                               ` Emacs as word processor Hendrik Boom
2013-11-25  3:06                                                   ` Yuri Khan
2013-11-26  0:04                                                     ` Richard Stallman
2013-11-22 17:58                                   ` Eli Zaretskii
2013-11-23  0:00                                     ` Stefan Monnier
2013-11-23  6:06                               ` Richard Stallman
2013-11-23  6:05                             ` Richard Stallman
2013-11-23  6:05                           ` Richard Stallman
2013-12-15 16:39                     ` Steinar Bang
2013-12-16 17:19                       ` Richard Stallman
2013-12-16 18:02                         ` Jambunathan K
2013-12-16 18:38                         ` Allen S. Rout
2013-12-17 10:52                           ` Richard Stallman
2013-12-17 11:39                             ` Steinar Bang
2013-12-16 19:10                         ` Steinar Bang
2013-12-17 10:52                           ` Richard Stallman
2013-12-16 20:37                         ` Juan M. Gonzalez
2013-12-17 10:53                           ` Richard Stallman
2013-12-17 11:41                             ` Steinar Bang
2013-12-17 11:48                             ` Achim Gratz
2013-12-17 12:22                               ` Steinar Bang
2013-12-17 21:06                               ` Richard Stallman
2013-12-19  7:28                                 ` Bastien
2013-12-19 18:23                                   ` Richard Stallman
2013-12-19 18:45                                     ` Bastien
2013-12-19 23:24                                   ` Xue Fuqiao
2013-11-20 18:35                 ` Richard Stallman
2013-11-21  6:02                   ` Stephen J. Turnbull
2013-11-21 14:34                     ` Allen S. Rout
2013-11-21 21:16                       ` Tom
2013-11-22  6:54                         ` Richard Stallman
2013-11-22  7:22                           ` Ivan Andrus
2013-11-22 13:26                       ` Rüdiger Sonderfeld
2013-11-22  6:54                     ` Richard Stallman
2013-11-20 18:35               ` Richard Stallman
2013-11-20 18:53                 ` Eli Zaretskii
2013-11-21  8:00                   ` Andreas Röhler
2013-11-21 16:21                     ` Eli Zaretskii
2013-11-21 18:34                       ` Andreas Röhler
2013-11-21 19:06                         ` Eli Zaretskii
2013-11-22  7:28                           ` Andreas Röhler
2013-11-21  9:15                   ` Bastien
2013-11-21  9:22                     ` Bastien
2013-11-21 16:26                     ` Eli Zaretskii
2013-11-21 17:43                       ` Bastien
2013-11-22 10:18                         ` Eli Zaretskii
2013-11-22 20:44                         ` Thorsten Jolitz
2013-11-22  6:54                     ` Richard Stallman
2013-11-22  7:48                       ` Eli Zaretskii
2013-11-22  7:52                         ` Bastien
2013-11-22 11:36                       ` Rasmus
2013-11-19  8:04         ` Stephen J. Turnbull
2013-11-19 23:42           ` Richard Stallman
2013-11-19  9:02         ` Christoph
2013-11-19 19:22           ` chad
2013-11-20 18:35             ` Richard Stallman
2013-11-18 13:59     ` Rasmus
2013-11-17 15:27 ` Andreas Röhler
2013-11-18 17:26 ` Christopher Allan Webber
2013-11-18 17:31   ` Tom Tromey
2013-11-19  9:20     ` Jambunathan K
2013-11-19  6:01   ` Richard Stallman
2013-11-19  7:44     ` Andreas Röhler
2013-11-19 13:32     ` Jay Belanger
2013-11-19 15:16     ` Lennart Borgman
2013-11-20  1:50     ` Pascal J. Bourguignon
2013-11-20 18:35       ` Richard Stallman
2013-12-15 17:28     ` Steinar Bang
2013-12-15 18:18       ` Stephen J. Turnbull
2013-12-16  0:17         ` T.V. Raman
2013-12-16 10:20           ` Juan M. Gonzalez
2013-11-19  6:14   ` Stephen J. Turnbull
2013-11-22 16:19 ` Karl Voit
2013-11-22 18:18   ` Eli Zaretskii
2013-11-24 11:11     ` Emacs will never be a WYSIWYG-editor and should not try to (was: Emacs as word processor) Karl Voit
2013-11-24 15:01       ` Emacs will never be a WYSIWYG-editor and should not try to Thien-Thi Nguyen
2013-11-24 16:53       ` Eli Zaretskii
2013-11-24 17:27         ` Pascal J. Bourguignon
2013-11-25 12:24         ` Richard Stallman
2013-11-26  7:01           ` Bastien
2013-11-26  9:10             ` Andreas Röhler
2013-11-26  9:15               ` Bastien
2013-11-26  9:34                 ` Andreas Röhler
2013-11-26  9:34                   ` Bastien
2013-11-26 15:58               ` Richard Stallman
2013-11-26 18:28                 ` Andreas Röhler
2013-11-26 21:45                   ` Achim Gratz
2013-11-27  7:44                     ` Andreas Röhler
2013-11-26 15:58             ` Richard Stallman
2013-11-26 21:33               ` Achim Gratz
2013-11-24 18:36       ` Emacs will never be a WYSIWYG-editor and should not try to (was: Emacs as word processor) Richard Stallman
2013-11-23  6:06   ` Emacs as word processor Richard Stallman
2013-12-02 19:30 ` Hendrik Boom
2013-12-03  6:24   ` Thien-Thi Nguyen
2013-12-03  9:54   ` René Kyllingstad
2013-12-03 11:36     ` Jambunathan K
2013-12-03 16:32       ` T.V. Raman
2013-12-03 17:45         ` Eli Zaretskii
2013-12-08 17:08       ` Andreas Röhler
2013-12-13 22:28 ` Juan M. Gonzalez
  -- strict thread matches above, loose matches on Subject: below --
2013-11-23 21:03 Anas R.
2013-11-25 12:25 ` Richard Stallman
     [not found] <E1Vhwmp-0001x4-Pa"@fencepost.gnu.org>
     [not found] <"<E1Vhwmp-0001x4-Pa"@fencepost.gnu.org>

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87mwktdy6r.fsf@uwakimon.sk.tsukuba.ac.jp \
    --to=stephen@xemacs.org \
    --cc=eliz@gnu.org \
    --cc=emacs-devel@gnu.org \
    --cc=ttn@gnuvola.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.