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
next reply other threads:[~2009-03-28 10:31 UTC|newest]
Thread overview: 109+ 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 --
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
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
List information: https://www.gnu.org/software/emacs/
* 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 public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).