emacs-devel
[Top][All Lists]
Advanced

[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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]