[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Printing
From: |
Андрей Парамонов |
Subject: |
Printing |
Date: |
Sat, 28 Mar 2009 13:31:05 +0300 |
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
- Printing,
Андрей Парамонов <=
- Re: Printing, Jan Djärv, 2009/03/28
- Re: Printing, Michael Ekstrand, 2009/03/28
- Re: Printing, Stefan Monnier, 2009/03/28
- Re: Printing, Андрей Парамонов, 2009/03/28
- Re: Printing, Michael Ekstrand, 2009/03/30
- Re: Printing, Stefan Monnier, 2009/03/30
- Re: Printing, Eli Zaretskii, 2009/03/30
- Re: Printing, Stefan Monnier, 2009/03/30
- Re: Printing, Eli Zaretskii, 2009/03/30