all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: "Андрей Парамонов" <cmr.pent@gmail.com>
To: emacs-devel@gnu.org
Subject: Printing
Date: Sat, 28 Mar 2009 13:31:05 +0300	[thread overview]
Message-ID: <5f0660120903280331y780c80b7i57a8115dc4b029eb@mail.gmail.com> (raw)

Hello!

I use Emacs on regular basis for a couple of years already, and I find
it a great piece of software. Currently I use Emacs 23. As a user, I'm
very pleased with the overall direction of development. I highly
appreciate recent usability improvements, namely Xft fonts, visual
line wrapping, transparent remote file access, etc.

With the most important internationalisation and display issues fixed
in Emacs 23, it's probably the right time to attack another long
standing problem: the printing. By this post I wish to attract your
attention to fundamental usability problems of Emacs printing
mechanism, and initiate a discussion of how to resolve them.

Emacs printing is broken -- and I mean it -- is *fundamentally*,
totally broken. You have either to be a PostScript guru, restrict
yourself to ASCII characters, or cheat/hack to be able to use Emacs
printing. And I'm not even talking about non-GNU systems! Many users
find it major pain or impossible to setup printing in Emacs (here are
links to *recent* threads at gnu.emacs.help):

Pretty multilingual PostScript printing:
http://groups.google.com/group/gnu.emacs.help/browse_thread/thread/4b08d4ff107d48d/

Printing with emacs: Not working:
http://groups.google.com/group/gnu.emacs.help/browse_thread/thread/c477e1561c444583/

Printing in Emacs:
http://groups.google.com/group/gnu.emacs.help/browse_thread/thread/d4c5ee0e29adcdfb/

To reproduce the problem you only need Emacs, X and a printer:

1) C-h h; the 'Hello' buffer with international characters shows
   up. If you don't see anything except Latin characters, please
   install the TTF version of unifont.

2) M-x ps-print-buffer-faces; the buffer is printed, but every
   non-Latin character is replaced with '?'.

However, if the 'Hello' buffer contents is printed via as simple
editor as GEdit, *all* the characters are printed, and appear smooth
and nice!

Having analysed mine and other users' experience, and having examined
how the printing works in modern applications, I propose the following
requirements for the Emacs printing mechanism:

1) Simple printing configuration should require no or almost no
   knowledge and effort. The only user input that might be required is
   the printer name.

2) It should not be necessary to install additional packages/files
   solely for the Emacs printing.

3) Printing functionality should work equally good on PostScript and
   non-PostScript printers.

I can think of the following ways of how these requirements may be
achieved:

a) Try to improve current functionality, making no or almost no
   modifications to the current printing engine. This includes
   simplifying the configuration interface. Not sure points 2) and 3)
   can be fixed this way though.

b) Use standard GTK+ printing facilities as GEdit and many other
   applications do. Emacs is built with GTK+ interface for quite some
   time now, so I suppose there should be no architectural problem in
   using GTK+ for printing as well. Please correct me if I'm wrong.

c) Utilise superior rendering capabilities of some other application,
   like it is done by package hfyview.el:
   http://www.emacswiki.org/emacs/PrintWithWebBrowser . This
   approach doesn't conform to 2) though.

From the user perspective, I like b) because I think it would solve 3)
and would present a nice user interface. I call you to discuss the
pros and contras of the proposed approaches from the programmer
perspective and/or propose other solutions.

Thanks for your effort,
Andrey Paramonov

To reproduce the problem you only need Emacs, X and a printer:

1) C-h h; the 'Hello' buffer with international characters shows
   up. If you don't see anything except latin characters, please
   install the TTF version of unifont.

2) M-x ps-print-buffer-faces; the buffer is printed, but every
   non-latin character is replaced with '?'.

However, if the 'Hello' buffer contents is printed via as simple
editor as GEdit, *all* the characters are printed, and appear smooth
and nice!

Having analyzed mine and other users' experience, and having examined
how the printing works in modern applications, I propose the following
requirements for the Emacs printing mechanism:

1) Simple printing configuration should require no or almost no
   knowledge and effort. The only user input that might be required is
   the printer name.

2) It should not be necessary to install additional packages/files
   solely for the Emacs printing.

3) Printing functionality should work equally good on PostScript and
   non-PostScript printers.

I can think of the following ways of how these requirements may be
achieved:

a) Try to improve current functionality, making no or almost no
   modifications to the current printing engine. This includes
   simplifying the configuration interface. Not sure points 2) and 3)
   can be fixed this way though.

b) Use standard GTK+ printing facilities as GEdit and many other
   applications do. Emacs is built with GTK+ interface for quite some
   time now, so I suppose there should be no architectural problem in
   using GTK+ for printing as well. Please correct me if I'm wrong.

c) Utilize superior rendering capabilities of some other application,
   like it is done by package hfyview.el:
   http://www.emacswiki.org/emacs/PrintWithWebBrowser . This
   approach doesn't conform to 2) though.

From the user perspective, I like b) because I think it would solve 3)
and would present a nice user interface. I call you to discuss the
pros and contras of the proposed approaches from the programmer
perspective and/or propose other solutions.

Thanks for your effort,
Andrey Paramonov




             reply	other threads:[~2009-03-28 10:31 UTC|newest]

Thread overview: 121+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-03-28 10:31 Андрей Парамонов [this message]
2009-03-28 14:56 ` Printing Jan Djärv
2009-03-31  2:13   ` Printing YAMAMOTO Mitsuharu
2009-04-02  9:39     ` Printing YAMAMOTO Mitsuharu
2009-04-04  2:44       ` Printing YAMAMOTO Mitsuharu
2009-04-04  6:54         ` Printing Lennart Borgman
2009-04-04  7:25           ` Printing YAMAMOTO Mitsuharu
2009-04-04  9:40         ` Printing Leo
2009-04-04 22:00         ` Printing Richard M Stallman
2009-04-05  1:07           ` Printing YAMAMOTO Mitsuharu
2009-04-06  8:03         ` Printing Kenichi Handa
2009-04-06  8:45           ` Printing YAMAMOTO Mitsuharu
2009-04-06 11:47             ` Printing Kenichi Handa
2009-04-06 23:47               ` Printing YAMAMOTO Mitsuharu
2009-04-07  1:01                 ` Printing Kenichi Handa
2009-04-07  1:14                   ` Printing YAMAMOTO Mitsuharu
2009-04-08  1:19                     ` Future of display engine [Re: Printing] Kenichi Handa
2009-04-08  1:53                       ` YAMAMOTO Mitsuharu
2009-04-07  9:46         ` Printing YAMAMOTO Mitsuharu
2009-04-08  1:33           ` Printing Kenichi Handa
2009-05-01 23:30             ` Printing YAMAMOTO Mitsuharu
2009-04-19 10:21           ` Printing YAMAMOTO Mitsuharu
2012-05-05  3:06             ` Printing Stefan Monnier
2012-05-07  3:38               ` Printing YAMAMOTO Mitsuharu
2012-05-07 11:25                 ` Printing Lennart Borgman
2012-05-08  1:04                   ` Printing YAMAMOTO Mitsuharu
2012-05-08  1:25                     ` Printing Lennart Borgman
2012-05-08  2:15                       ` Printing YAMAMOTO Mitsuharu
2012-05-08 10:59                         ` Printing Lennart Borgman
2012-05-09 14:50                   ` Printing Jason Rumney
2012-05-09 14:58                     ` Printing Lennart Borgman
2012-05-07 12:46                 ` Printing Stefan Monnier
2012-05-07 13:07                   ` Printing joakim
2012-05-07 17:20                   ` Printing Simon Leinen
2012-05-08  1:11                     ` Printing YAMAMOTO Mitsuharu
2009-03-28 15:46 ` Printing Michael Ekstrand
2009-03-28 18:37 ` Printing Stefan Monnier
2009-03-28 20:52   ` Printing Андрей Парамонов
2009-03-30 13:06     ` Printing Michael Ekstrand
2009-03-30 15:24       ` Printing Stefan Monnier
2009-03-30 18:38         ` Printing Eli Zaretskii
2009-03-31  1:56           ` Printing Stefan Monnier
2009-03-31  3:15             ` Printing Eli Zaretskii
2009-04-01  0:52               ` Printing Stefan Monnier
2009-04-01  3:14                 ` Printing Eli Zaretskii
2009-04-01  4:17                   ` Printing Miles Bader
2009-04-01 17:53                     ` Printing Eli Zaretskii
2009-04-01  4:24                   ` Printing Jason Rumney
2009-04-01 17:56                     ` Printing Eli Zaretskii
2009-04-01  8:11                   ` Printing Stephen J. Turnbull
2009-04-01 14:36                   ` Printing Stefan Monnier
2009-04-01 18:16                     ` Printing Eli Zaretskii
2009-04-01 23:42                       ` Printing Stefan Monnier
2009-04-02 13:02                       ` Printing Richard M Stallman
2009-04-02 19:37                         ` Printing Eli Zaretskii
2009-04-02 10:08                   ` Printing tomas
2009-04-02 10:52                     ` Printing Lennart Borgman
2009-04-02 11:51                       ` Printing tomas
2009-04-02 11:49                         ` Printing Lennart Borgman
2009-04-02 13:37                           ` Printing Stefan Monnier
2009-04-02 13:47                             ` Printing Óscar Fuentes
2009-04-02 13:55                               ` Printing Samuel Bronson
2009-04-02 14:24                                 ` Printing Óscar Fuentes
2009-04-02 14:34                                   ` Printing Lennart Borgman
2009-04-02 14:00                             ` Printing Lennart Borgman
2009-04-02 16:15                               ` Printing Stefan Monnier
2009-04-02 16:47                                 ` Printing Reiner Steib
2009-04-02 19:44                                 ` Printing Eli Zaretskii
2009-04-03  0:43                                   ` Printing Stefan Monnier
2009-04-02 20:56                                 ` Printing Lennart Borgman
2009-04-04  0:00                                   ` Printing Lennart Borgman
2009-04-04  0:36                                     ` Printing Stefan Monnier
2009-04-04  0:45                                       ` Printing Lennart Borgman
2009-04-04  1:05                                         ` Printing Óscar Fuentes
2009-04-04  6:52                                           ` Printing Lennart Borgman
2009-04-04  8:57                                     ` Printing Eli Zaretskii
2009-04-04  9:22                                       ` Printing Lennart Borgman
2009-04-04  9:49                                         ` Printing Eli Zaretskii
2009-03-28 20:30 ` Printing James Cloos
2009-03-29  2:15 ` Printing Richard M Stallman
2009-03-29  3:20   ` Printing Eli Zaretskii
2009-03-30  1:17     ` Printing Richard M Stallman
2009-03-30  3:10       ` Printing Eli Zaretskii
2009-03-30  6:36         ` Printing Lennart Borgman
2009-03-30 18:41           ` Printing Eli Zaretskii
2009-03-30 19:04             ` Printing Lennart Borgman
2009-03-30 20:48               ` Printing Eli Zaretskii
2009-03-30 20:53                 ` Printing Lennart Borgman
2009-03-30 20:59                   ` Printing Eli Zaretskii
2009-03-30 21:27                     ` Printing Lennart Borgman
2009-03-31  3:19                       ` Printing Eli Zaretskii
2009-03-30 21:46                   ` Printing Óscar Fuentes
2009-03-30 21:50         ` Printing Richard M Stallman
2009-03-31  3:18           ` Printing Eli Zaretskii
2009-03-31 19:14             ` Printing Richard M Stallman
2009-03-30 18:03   ` Printing Андрей Парамонов
  -- strict thread matches above, loose matches on Subject: below --
2022-12-17 12:31 printing Gottfried
2022-12-17 13:09 ` printing tomas
2022-12-14 16:38 wie kann ich Emacs so einstellen, dass ich drucken kann Gottfried
2022-12-14 17:27 ` Philip Kaludercic
2022-12-16 15:27   ` printing Gottfried
2022-12-16 22:26     ` printing Michael Heerdegen
2022-12-17  6:29       ` printing tomas
2022-12-17  7:41         ` printing Emanuel Berg
2022-12-17 13:48     ` printing Gottfried
2022-12-17 16:30       ` printing tomas
2016-03-03 14:35 Printing Sharon Kimble
2016-03-03 20:22 ` Printing tomas
2016-03-05 13:40 ` Printing Robert Thorpe
2009-04-01 17:22 Printing grischka
2009-04-01 18:55 ` Printing David De La Harpe Golden
2009-04-01 18:58   ` Printing David De La Harpe Golden
2009-04-01 20:51   ` Printing grischka
2009-04-01 21:19   ` Printing Lennart Borgman
2009-04-02  0:09   ` Printing David De La Harpe Golden
2009-04-01 23:32 ` Printing Stefan Monnier
2009-04-02  2:33   ` Printing grischka
2009-04-02  3:05     ` Printing Samuel Bronson
2009-04-02 13:41       ` Printing grischka
2009-04-02 13:31     ` Printing Stefan Monnier
2009-04-02 18:39       ` Printing grischka
2009-04-02 18:53         ` Printing Stefan Monnier
2003-03-18 21:18 printing Kevin Reeder

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=5f0660120903280331y780c80b7i57a8115dc4b029eb@mail.gmail.com \
    --to=cmr.pent@gmail.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.