all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: "Pascal J. Bourguignon" <pjb@informatimago.com>
To: emacs-devel@gnu.org
Subject: Re: Emacs as word processor
Date: Fri, 22 Nov 2013 23:53:40 +0100	[thread overview]
Message-ID: <87vbzkvyiz.fsf@informatimago.com> (raw)
In-Reply-To: 83hab4ce1o.fsf@gnu.org

Eli Zaretskii <eliz@gnu.org> writes:

>> From: "Pascal J. Bourguignon" <pjb@informatimago.com>
>> Date: Fri, 22 Nov 2013 22:06:23 +0100
>> Cc: emacs-devel@gnu.org
>> 
>> My point is that WYSIWIG doesn't mean anything when you don't consider an "external" medium.
>
> I cannot disagree more.  The main features of a document change very
> little with paper size changes.

The structure of the document doesn't change (it's mostly unrelated to
the presentation or layout).  But the layout of the document depends
obviously on the target medium.  And the user of a WYSIWIG word
processor uses the information provided by the layout output graphic
view, to edit the text and structure of its document so it presents
well.

For example, if you have small sections that fit several on a page, you
would use a style where they flow on a page.  But if you have some
bigger sections, you may rather choose a style where each section starts
on its own page.  And in both cases, you may have exceptions, and bad
cases, such as the section that takes exactly one page and one line on
the following page, followed by another section started on the next
page.  If that other section is bigger than one page, you may want to
keep it starting on its own page, so you'll edit the first section so
that it takes one line less and fit on one page.

Switching to legal paper size is not an option, here all the paper pages
are A4 size, this is the norm. :-)

(Ok, an alternative would be to reduce the vertical margin, but this may
open a can of worm in the rest of the document).


So I persist, WYSIWIG = target medium representation.


If you don't specify target medium representation, then you don't need
WYSIWIG.  You may just use a structure editor (perhaps enriched with
fonts, bold and italic), and have a batch layout processor, eg. a web
browser (modulo my remarks concerning the common use of fixed size web
pages).




>> >> - assign parenthesized tags to text ranges (in a hierarchical structure
>> >>  similar to SGML).
>> > 
>> > Not sure what for.  This is a solution to what problem?
>> 
>> What I mean here is some kind of structured editing.
>> 
>> To split a paragraph in two, we can admit the usual RET key.
>> 
>> To split a section in two, we can admit the usual insertion of a section title.
>> But already here, most probably the user will enter a new paragraph
>> containing the section title, and then select it and apply a header
>> "style".  Well, it's not style, it's the specification of a section
>> header tag to this text, and by inference, the spitting of the
>> current section in two.
>> 
>> Those two examples have conventional "width of the ass of the horse"
>> user interfaces, for conventional pre-defined tags: <section>
>> <title> <para>.
>> 
>> But with the introduction of XSL and DTD, the user can be allowed to
>> edit documents with a structure not pre-wired, with tags having now
>> pre-defined conventional user interface.
>> 
>> Therefore we need a standard way to edit the document tree.
>
> I think you confuse user interface with implementation.  I can easily
> envision commands that insert a section header that don't need any
> idea about the document tree.

That's exactly what I've described above.  

What I'm asking, is what you do once the user specified a DTD containing
elements such as: <xlorf>, <grlyb> and <ashur>?  How do you edit them?


>> >> - then for the WYSIWIG aspect, we'd need to implement a rendering
>> >>  engine.  We have the basis with font faces, but more work is needed to
>> >>  give a WISIWIG representation of the page, and its computed layout.
>> > 
>> > I think you underestimate the power and feature-richness of the
>> > current Emacs display engine.  We should try using it first, before we
>> > decide that it is inadequate and should be replaced or significantly
>> > changed.
>> 
>> Perhaps.  It's true that with truncate-lines mode, we'd get a a
>> homothetic space, but can we adjust the height of the lines, can we
>> adjust margins (to subpixel sizes).
>
> The former is possible today, the latter can be added (but I really
> don't see a need).
>
>> We'd have to disable removing truncate-lines mode
>
> What? why??

Because otherwise it's not WYSIWIG anymore: without truncate-lines, the
lines are flowed and are not displayed anymore like they appear on the
printed page.


> And why are you talking about truncate-lines, when Emacs has word-wrap
> for quite some time now?

I'm not sure what you mean by word-wrap exactly?

- open some text file.
- M-x set-fill-column RET 40 RET  -- characters not 12.5 cm!
- C-x h M-x set-justification-left RET
- reduce the width of the frame or window to 30 characters wide.

Without truncate-line mode, each line is wrapped over, which is not
WYSIWIG.

With M-x visual-line-mode RET it's the same thing.


>> >>  Scrolling and zooming would behave differently in those WISIWIG
>> >>  windows, since they're would contain essentially a graphic
>> >>  representation of the page, like when we render PDF files.
>> > 
>> > I see no need for abandoning graphical text display we use now.
>> 
>> WYSIWIG.
>> 
>> What we have now is not.
>
> But we can have WYSIWIG without that.

Well, of course.  We ALREADY have a WYSIWIG editor!
Just M-x ps-print-buffer RET and see how the printed page is exactly
like the screen.  So we have it without that.  Sure.

We even have a WYSIWIG web renderer with M-x htmlize-buffer RET.


But this is not with that that we want to attract new users, and that
is not this kind of text files document that we want to present to our
co-workers who are expecting word processed documents.



>> > None of the leading word processors does, AFAIK.  Switching to displaying
>> > pictures has many drawbacks; e.g., you cannot easily copy/paste with
>> > it, and the display complexities will grow by orders of magnitude, for
>> > now good reason.
>> 
>> Any WYSIWIG word processor displays a picture on the screen, and let
>> you edit the underlying text data structure.  Even emacs does just
>> that, only it has a more direct correspondance between character
>> cells on screens and character slots in the buffer.
>
> Of course, a character on glass is just a bunch of pixels.  But if
> that is what you are talking about, then what exactly are you saying
> that we need to change from what we have today?

Type: M-x shell RET libreoffice RET 
Click on: Text document
Type: Hello world!
Select the paragraph, 
Click on the left margin knob above and move it 0.5 inch to the right.

Notice how the page is represented, as a white rectangle, how the
margins are represented as L shapes offset from the four corners, how
rules are graphical representations with graphical graduations,
unrelated to the font sizes, notice how scrolling occurs pixel by pixel, graphically.

Select the word Hello, click on the style popup menu, select More…,
scroll down and click on Vertical Numbering Symbols.

Notice  how the word Hello is rotated 90 degree counter clock wise.

All those representations could not occur no a normal textual terminal:
they are in essence graphical.



>> For example, in scrolling a word processor let you scroll pixel by
>> pixel, while emacs let you only scroll line by line, even in the
>> splash window.
>
> Emacs has pixel-level scrolling for a long time, it just is activated
> in very rare cases, so you perhaps don't know it exists.
>
>> Just take a good look at any WYSIWIG word processor window, and
>> count the character pixels vs. the graphic pixels.  There's a lot of
>> graphics on them: rulers, margins,
>
> Emacs can display images as well, you know.  We just need to use that.
>
>> I wouldn't mind a text editor that would let us edit enriched text. 
>> But strangely, I doubt that would attract new users.
>
> Let's care about the features first, and talk about attractors later.

I won't deny that some pieces are already implemented.  Happily!
Again, for now, let's concentrate on specifications and see if that
makes something that would be worth implementing.

-- 
__Pascal Bourguignon__
http://www.informatimago.com/




  parent reply	other threads:[~2013-11-22 22:53 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 [this message]
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
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=87vbzkvyiz.fsf@informatimago.com \
    --to=pjb@informatimago.com \
    --cc=emacs-devel@gnu.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.