annotate lisp/ps-print.el @ 23666:53776c6e94b8

(ps-print-prologue-1): In BeginDoc procedure, call setpagedevice to specify the page size if setpagedevice is available. This is necessary to select the correct paper tray on Level 2 printers with multiple paper sizes available. (ps-begin-file): Cope with font names that contain spaces, and call BeginDoc in a BeginSetup/EndSetup block.
author Andrew Innes <andrewi@gnu.org>
date Mon, 09 Nov 1998 15:05:23 +0000
parents 385d7c586ad2
children cfeb9bcbd372
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
19485
eab8baa19dfa (ps-zebra-stripes): Renamed from ps-zebra-stripe.
Richard M. Stallman <rms@gnu.org>
parents: 19446
diff changeset
1 ;;; ps-print.el --- Print text from the buffer as PostScript
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2
21086
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
3 ;; Copyright (C) 1993, 94, 95, 96, 97, 1998 Free Software Foundation, Inc.
7257
3759ad84023b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4
23091
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
5 ;; Author: Jim Thompson (was <thompson@wg2.waii.com>)
23551
385d7c586ad2 Doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 23550
diff changeset
6 ;; Author: Jacques Duthen (was <duthen@cegelec-red.fr>)
23091
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
7 ;; Author: Vinicius Jose Latorre <vinicius@cpqd.com.br>
23551
385d7c586ad2 Doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 23550
diff changeset
8 ;; Author: Kenichi Handa <handa@etl.go.jp> (multi-byte characters)
385d7c586ad2 Doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 23550
diff changeset
9 ;; Maintainer: Kenichi Handa <handa@etl.go.jp> (multi-byte characters)
23091
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
10 ;; Maintainer: Vinicius Jose Latorre <vinicius@cpqd.com.br>
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
11 ;; Keywords: print, PostScript
23550
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
12 ;; Time-stamp: <98/10/13 15:42:23 vinicius>
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
13 ;; Version: 4.1.1
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
14
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
15 (defconst ps-print-version "4.1.1"
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
16 "ps-print.el, v 4.1.1 <98/10/13 vinicius>
16870
4a5fa29f79d6 (ps-print-version): Fix value.
Richard M. Stallman <rms@gnu.org>
parents: 16361
diff changeset
17
19485
eab8baa19dfa (ps-zebra-stripes): Renamed from ps-zebra-stripe.
Richard M. Stallman <rms@gnu.org>
parents: 19446
diff changeset
18 Vinicius's last change version -- this file may have been edited as part of
16870
4a5fa29f79d6 (ps-print-version): Fix value.
Richard M. Stallman <rms@gnu.org>
parents: 16361
diff changeset
19 Emacs without changes to the version number. When reporting bugs,
4a5fa29f79d6 (ps-print-version): Fix value.
Richard M. Stallman <rms@gnu.org>
parents: 16361
diff changeset
20 please also report the version of Emacs, if any, that ps-print was
4a5fa29f79d6 (ps-print-version): Fix value.
Richard M. Stallman <rms@gnu.org>
parents: 16361
diff changeset
21 distributed with.
4a5fa29f79d6 (ps-print-version): Fix value.
Richard M. Stallman <rms@gnu.org>
parents: 16361
diff changeset
22
4a5fa29f79d6 (ps-print-version): Fix value.
Richard M. Stallman <rms@gnu.org>
parents: 16361
diff changeset
23 Please send all bug fixes and enhancements to
20331
39baaa9c5980 Some comment and doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 20019
diff changeset
24 Vinicius Jose Latorre <vinicius@cpqd.com.br>.
16870
4a5fa29f79d6 (ps-print-version): Fix value.
Richard M. Stallman <rms@gnu.org>
parents: 16361
diff changeset
25 ")
7257
3759ad84023b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
26
10493
ed52763e77d6 entered into RCS
Richard M. Stallman <rms@gnu.org>
parents: 10492
diff changeset
27 ;; This file is part of GNU Emacs.
7257
3759ad84023b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
28
3759ad84023b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
29 ;; GNU Emacs is free software; you can redistribute it and/or modify
3759ad84023b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
30 ;; it under the terms of the GNU General Public License as published by
3759ad84023b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
31 ;; the Free Software Foundation; either version 2, or (at your option)
3759ad84023b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
32 ;; any later version.
3759ad84023b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
33
3759ad84023b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
34 ;; GNU Emacs is distributed in the hope that it will be useful,
3759ad84023b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
35 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
3759ad84023b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
36 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
3759ad84023b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
37 ;; GNU General Public License for more details.
3759ad84023b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
38
3759ad84023b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
39 ;; You should have received a copy of the GNU General Public License
14169
83f275dcd93a Update FSF's address.
Erik Naggum <erik@naggum.no>
parents: 14040
diff changeset
40 ;; along with GNU Emacs; see the file COPYING. If not, write to the
83f275dcd93a Update FSF's address.
Erik Naggum <erik@naggum.no>
parents: 14040
diff changeset
41 ;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
83f275dcd93a Update FSF's address.
Erik Naggum <erik@naggum.no>
parents: 14040
diff changeset
42 ;; Boston, MA 02111-1307, USA.
7257
3759ad84023b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
43
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
44 ;;; Commentary:
7257
3759ad84023b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
45
3759ad84023b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
46 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
3759ad84023b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
47 ;;
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
48 ;; About ps-print
7257
3759ad84023b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
49 ;; --------------
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
50 ;;
7257
3759ad84023b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
51 ;; This package provides printing of Emacs buffers on PostScript
3759ad84023b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
52 ;; printers; the buffer's bold and italic text attributes are
23550
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
53 ;; preserved in the printer output. ps-print is intended for use with
10683
64e6021d0ba0 Various changes.
Richard M. Stallman <rms@gnu.org>
parents: 10493
diff changeset
54 ;; Emacs 19 or Lucid Emacs, together with a fontifying package such as
64e6021d0ba0 Various changes.
Richard M. Stallman <rms@gnu.org>
parents: 10493
diff changeset
55 ;; font-lock or hilit.
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
56 ;;
19445
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
57 ;; ps-print uses the same face attributes defined through font-lock or hilit
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
58 ;; to print a PostScript file, but some faces are better seeing on the screen
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
59 ;; than on paper, specially when you have a black/white PostScript printer.
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
60 ;;
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
61 ;; ps-print allows a remap of face to another one that it is better to print,
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
62 ;; for example, the face font-lock-comment-face (if you are using font-lock)
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
63 ;; could have bold or italic attribute when printing, besides foreground color.
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
64 ;; This remap improves printing look (see How Ps-Print Maps Faces).
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
65 ;;
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
66 ;;
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
67 ;; Using ps-print
7257
3759ad84023b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
68 ;; --------------
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
69 ;;
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
70 ;; The Commands
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
71 ;;
23550
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
72 ;; ps-print provides eight commands for generating PostScript images
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
73 ;; of Emacs buffers:
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
74 ;;
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
75 ;; ps-print-buffer
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
76 ;; ps-print-buffer-with-faces
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
77 ;; ps-print-region
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
78 ;; ps-print-region-with-faces
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
79 ;; ps-spool-buffer
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
80 ;; ps-spool-buffer-with-faces
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
81 ;; ps-spool-region
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
82 ;; ps-spool-region-with-faces
7257
3759ad84023b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
83 ;;
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
84 ;; These commands all perform essentially the same function: they
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
85 ;; generate PostScript images suitable for printing on a PostScript
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
86 ;; printer or displaying with GhostScript. These commands are
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
87 ;; collectively referred to as "ps-print- commands".
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
88 ;;
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
89 ;; The word "print" or "spool" in the command name determines when the
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
90 ;; PostScript image is sent to the printer:
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
91 ;;
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
92 ;; print - The PostScript image is immediately sent to the
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
93 ;; printer;
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
94 ;;
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
95 ;; spool - The PostScript image is saved temporarily in an
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
96 ;; Emacs buffer. Many images may be spooled locally
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
97 ;; before printing them. To send the spooled images
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
98 ;; to the printer, use the command `ps-despool'.
7257
3759ad84023b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
99 ;;
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
100 ;; The spooling mechanism was designed for printing lots of small
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
101 ;; files (mail messages or netnews articles) to save paper that would
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
102 ;; otherwise be wasted on banner pages, and to make it easier to find
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
103 ;; your output at the printer (it's easier to pick up one 50-page
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
104 ;; printout than to find 50 single-page printouts).
19879
87952270ceeb (ps-emacs-face-kind-p): Function deleted.
Richard M. Stallman <rms@gnu.org>
parents: 19843
diff changeset
105 ;;
23550
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
106 ;; ps-print has a hook in the `kill-emacs-hook' so that you won't
14040
187735b53d52 Comment fixes.
Karl Heuer <kwzh@gnu.org>
parents: 13886
diff changeset
107 ;; accidentally quit from Emacs while you have unprinted PostScript
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
108 ;; waiting in the spool buffer. If you do attempt to exit with
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
109 ;; spooled PostScript, you'll be asked if you want to print it, and if
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
110 ;; you decline, you'll be asked to confirm the exit; this is modeled
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
111 ;; on the confirmation that Emacs uses for modified buffers.
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
112 ;;
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
113 ;; The word "buffer" or "region" in the command name determines how
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
114 ;; much of the buffer is printed:
7257
3759ad84023b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
115 ;;
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
116 ;; buffer - Print the entire buffer.
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
117 ;;
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
118 ;; region - Print just the current region.
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
119 ;;
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
120 ;; The -with-faces suffix on the command name means that the command
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
121 ;; will include font, color, and underline information in the
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
122 ;; PostScript image, so the printed image can look as pretty as the
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
123 ;; buffer. The ps-print- commands without the -with-faces suffix
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
124 ;; don't include font, color, or underline information; images printed
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
125 ;; with these commands aren't as pretty, but are faster to generate.
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
126 ;;
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
127 ;; Two ps-print- command examples:
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
128 ;;
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
129 ;; ps-print-buffer - print the entire buffer,
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
130 ;; without font, color, or
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
131 ;; underline information, and
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
132 ;; send it immediately to the
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
133 ;; printer.
7257
3759ad84023b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
134 ;;
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
135 ;; ps-spool-region-with-faces - print just the current region;
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
136 ;; include font, color, and
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
137 ;; underline information, and
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
138 ;; spool the image in Emacs to
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
139 ;; send to the printer later.
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
140 ;;
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
141 ;;
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
142 ;; Invoking Ps-Print
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
143 ;; -----------------
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
144 ;;
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
145 ;; To print your buffer, type
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
146 ;;
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
147 ;; M-x ps-print-buffer
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
148 ;;
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
149 ;; or substitute one of the other seven ps-print- commands. The
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
150 ;; command will generate the PostScript image and print or spool it as
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
151 ;; specified. By giving the command a prefix argument
7257
3759ad84023b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
152 ;;
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
153 ;; C-u M-x ps-print-buffer
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
154 ;;
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
155 ;; it will save the PostScript image to a file instead of sending it
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
156 ;; to the printer; you will be prompted for the name of the file to
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
157 ;; save the image to. The prefix argument is ignored by the commands
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
158 ;; that spool their images, but you may save the spooled images to a
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
159 ;; file by giving a prefix argument to `ps-despool':
7257
3759ad84023b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
160 ;;
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
161 ;; C-u M-x ps-despool
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
162 ;;
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
163 ;; When invoked this way, `ps-despool' will prompt you for the name of
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
164 ;; the file to save to.
7257
3759ad84023b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
165 ;;
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
166 ;; Any of the `ps-print-' commands can be bound to keys; I recommend
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
167 ;; binding `ps-spool-buffer-with-faces', `ps-spool-region-with-faces',
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
168 ;; and `ps-despool'. Here are the bindings I use on my Sun 4 keyboard:
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
169 ;;
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
170 ;; (global-set-key 'f22 'ps-spool-buffer-with-faces) ;f22 is prsc
7257
3759ad84023b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
171 ;; (global-set-key '(shift f22) 'ps-spool-region-with-faces)
3759ad84023b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
172 ;; (global-set-key '(control f22) 'ps-despool)
3759ad84023b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
173 ;;
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
174 ;;
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
175 ;; The Printer Interface
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
176 ;; ---------------------
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
177 ;;
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
178 ;; The variables `ps-lpr-command' and `ps-lpr-switches' determine what
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
179 ;; command is used to send the PostScript images to the printer, and
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
180 ;; what arguments to give the command. These are analogous to
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
181 ;; `lpr-command' and `lpr-switches'.
19445
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
182 ;;
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
183 ;; Make sure that they contain appropriate values for your system;
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
184 ;; see the usage notes below and the documentation of these variables.
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
185 ;;
23550
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
186 ;; The variable `ps-printer-name' determine the name of a local printer for
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
187 ;; printing PostScript files.
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
188 ;;
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
189 ;; NOTE: `ps-lpr-command' and `ps-lpr-switches' take their initial values
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
190 ;; from the variables `lpr-command' and `lpr-switches'. If you have
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
191 ;; `lpr-command' set to invoke a pretty-printer such as `enscript',
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
192 ;; then ps-print won't work properly. `ps-lpr-command' must name
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
193 ;; a program that does not format the files it prints.
23550
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
194 ;; `ps-printer-name' takes its initial value from the variable
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
195 ;; `printer-name'.
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
196 ;;
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
197 ;;
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
198 ;; The Page Layout
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
199 ;; ---------------
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
200 ;;
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
201 ;; All dimensions are floats in PostScript points.
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
202 ;; 1 inch == 2.54 cm == 72 points
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
203 ;; 1 cm == (/ 1 2.54) inch == (/ 72 2.54) points
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
204 ;;
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
205 ;; The variable `ps-paper-type' determines the size of paper ps-print
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
206 ;; formats for; it should contain one of the symbols:
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
207 ;; `a4' `a3' `letter' `legal' `letter-small' `tabloid'
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
208 ;; `ledger' `statement' `executive' `a4small' `b4' `b5'
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
209 ;;
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
210 ;; The variable `ps-landscape-mode' determines the orientation
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
211 ;; of the printing on the page:
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
212 ;; nil means `portrait' mode, non-nil means `landscape' mode.
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
213 ;; There is no oblique mode yet, though this is easy to do in ps.
19445
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
214 ;;
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
215 ;; In landscape mode, the text is NOT scaled: you may print 70 lines
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
216 ;; in portrait mode and only 50 lignes in landscape mode.
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
217 ;; The margins represent margins in the printed paper:
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
218 ;; the top margin is the margin between the top of the page
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
219 ;; and the printed header, whatever the orientation is.
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
220 ;;
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
221 ;; The variable `ps-number-of-columns' determines the number of columns
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
222 ;; both in landscape and portrait mode.
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
223 ;; You can use:
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
224 ;; - (the standard) one column portrait mode
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
225 ;; - (my favorite) two columns landscape mode (which spares trees)
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
226 ;; but also
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
227 ;; - one column landscape mode for files with very long lines.
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
228 ;; - multi-column portrait or landscape mode
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
229 ;;
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
230 ;;
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
231 ;; Horizontal layout
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
232 ;; -----------------
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
233 ;;
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
234 ;; The horizontal layout is determined by the variables
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
235 ;; `ps-left-margin' `ps-inter-column' `ps-right-margin'
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
236 ;; as follows:
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
237 ;;
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
238 ;; ------------------------------------------
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
239 ;; | | | | | | | |
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
240 ;; | lm | text | ic | text | ic | text | rm |
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
241 ;; | | | | | | | |
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
242 ;; ------------------------------------------
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
243 ;;
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
244 ;; If `ps-number-of-columns' is 1, `ps-inter-column' is not relevant.
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
245 ;; Usually, lm = rm > 0 and ic = lm
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
246 ;; If (ic < 0), the text of adjacent columns can overlap.
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
247 ;;
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
248 ;;
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
249 ;; Vertical layout
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
250 ;; ---------------
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
251 ;;
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
252 ;; The vertical layout is determined by the variables
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
253 ;; `ps-bottom-margin' `ps-top-margin' `ps-header-offset'
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
254 ;; as follows:
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
255 ;;
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
256 ;; |--------| |--------|
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
257 ;; | tm | | tm |
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
258 ;; |--------| |--------|
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
259 ;; | header | | |
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
260 ;; |--------| | |
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
261 ;; | ho | | |
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
262 ;; |--------| or | text |
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
263 ;; | | | |
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
264 ;; | text | | |
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
265 ;; | | | |
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
266 ;; |--------| |--------|
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
267 ;; | bm | | bm |
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
268 ;; |--------| |--------|
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
269 ;;
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
270 ;; If `ps-print-header' is nil, `ps-header-offset' is not relevant.
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
271 ;; The margins represent margins in the printed paper:
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
272 ;; the top margin is the margin between the top of the page
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
273 ;; and the printed header, whatever the orientation is.
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
274 ;;
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
275 ;;
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
276 ;; Headers
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
277 ;; -------
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
278 ;;
23550
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
279 ;; ps-print can print headers at the top of each column or at the top
21086
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
280 ;; of each page; the default headers contain the following four items:
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
281 ;; on the left, the name of the buffer and, if the buffer is visiting
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
282 ;; a file, the file's directory; on the right, the page number and
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
283 ;; date of printing. The default headers look something like this:
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
284 ;;
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
285 ;; ps-print.el 1/21
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
286 ;; /home/jct/emacs-lisp/ps/new 94/12/31
19879
87952270ceeb (ps-emacs-face-kind-p): Function deleted.
Richard M. Stallman <rms@gnu.org>
parents: 19843
diff changeset
287 ;;
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
288 ;; When printing on duplex printers, left and right are reversed so
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
289 ;; that the page numbers are toward the outside (cf. `ps-spool-duplex').
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
290 ;;
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
291 ;; Headers are configurable:
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
292 ;; To turn them off completely, set `ps-print-header' to nil.
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
293 ;; To turn off the header's gaudy framing box,
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
294 ;; set `ps-print-header-frame' to nil.
7257
3759ad84023b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
295 ;;
21086
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
296 ;; To print only one header at the top of each page,
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
297 ;; set `ps-print-only-one-header' to t.
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
298 ;;
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
299 ;; The font family and size of text in the header are determined
19879
87952270ceeb (ps-emacs-face-kind-p): Function deleted.
Richard M. Stallman <rms@gnu.org>
parents: 19843
diff changeset
300 ;; by the variables `ps-header-font-family', `ps-header-font-size' and
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
301 ;; `ps-header-title-font-size' (see below).
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
302 ;;
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
303 ;; The variable `ps-header-line-pad' determines the portion of a header
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
304 ;; title line height to insert between the header frame and the text
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
305 ;; it contains, both in the vertical and horizontal directions:
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
306 ;; .5 means half a line.
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
307
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
308 ;; Page numbers are printed in `n/m' format, indicating page n of m pages;
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
309 ;; to omit the total page count and just print the page number,
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
310 ;; set `ps-show-n-of-n' to nil.
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
311 ;;
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
312 ;; The amount of information in the header can be changed by changing
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
313 ;; the number of lines. To show less, set `ps-header-lines' to 1, and
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
314 ;; the header will show only the buffer name and page number. To show
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
315 ;; more, set `ps-header-lines' to 3, and the header will show the time of
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
316 ;; printing below the date.
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
317 ;;
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
318 ;; To change the content of the headers, change the variables
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
319 ;; `ps-left-header' and `ps-right-header'.
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
320 ;; These variables are lists, specifying top-to-bottom the text
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
321 ;; to display on the left or right side of the header.
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
322 ;; Each element of the list should be a string or a symbol.
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
323 ;; Strings are inserted directly into the PostScript arrays,
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
324 ;; and should contain the PostScript string delimiters '(' and ')'.
7257
3759ad84023b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
325 ;;
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
326 ;; Symbols in the header format lists can either represent functions
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
327 ;; or variables. Functions are called, and should return a string to
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
328 ;; show in the header. Variables should contain strings to display in
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
329 ;; the header. In either case, function or variable, the PostScript
14040
187735b53d52 Comment fixes.
Karl Heuer <kwzh@gnu.org>
parents: 13886
diff changeset
330 ;; string delimiters are added by ps-print, and should not be part of
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
331 ;; the returned value.
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
332 ;;
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
333 ;; Here's an example: say we want the left header to display the text
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
334 ;;
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
335 ;; Moe
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
336 ;; Larry
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
337 ;; Curly
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
338 ;;
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
339 ;; where we have a function to return "Moe"
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
340 ;;
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
341 ;; (defun moe-func ()
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
342 ;; "Moe")
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
343 ;;
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
344 ;; a variable specifying "Larry"
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
345 ;;
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
346 ;; (setq larry-var "Larry")
7257
3759ad84023b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
347 ;;
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
348 ;; and a literal for "Curly". Here's how `ps-left-header' should be
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
349 ;; set:
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
350 ;;
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
351 ;; (setq ps-left-header (list 'moe-func 'larry-var "(Curly)"))
7257
3759ad84023b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
352 ;;
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
353 ;; Note that Curly has the PostScript string delimiters inside his
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
354 ;; quotes -- those aren't misplaced lisp delimiters!
19445
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
355 ;;
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
356 ;; Without them, PostScript would attempt to call the undefined
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
357 ;; function Curly, which would result in a PostScript error.
19445
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
358 ;;
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
359 ;; Since most printers don't report PostScript errors except by
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
360 ;; aborting the print job, this kind of error can be hard to track down.
19445
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
361 ;;
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
362 ;; Consider yourself warned!
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
363 ;;
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
364 ;;
23550
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
365 ;; PostScript Prologue Header
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
366 ;; --------------------------
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
367 ;;
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
368 ;; It is possible to add PostScript prologue header comments besides that
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
369 ;; ps-print generates by setting the variable `ps-print-prologue-header'.
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
370 ;;
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
371 ;; `ps-print-prologue-header' may be a string or a symbol function which
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
372 ;; returns a string. Note that this string is inserted on PostScript prologue
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
373 ;; header section which is used to define some document characteristic through
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
374 ;; PostScript special comments, like "%%Requirements: jog\n".
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
375 ;;
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
376 ;; By default `ps-print-prologue-header' is nil.
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
377 ;;
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
378 ;; ps-print always inserts the %%Requirements: comment, so if you need to insert
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
379 ;; more requirements put them first in `ps-print-prologue-header' using the
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
380 ;; "%%+" comment. For example, if you need to set numcopies to 3 and jog on
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
381 ;; requirements and set %%LanguageLevel: to 2, do:
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
382 ;;
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
383 ;; (setq ps-print-prologue-header
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
384 ;; "%%+ numcopies(3) jog\n%%LanguageLevel: 2\n")
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
385 ;;
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
386 ;; The duplex requirement is inserted by ps-print (see section Duplex Printers).
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
387 ;;
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
388 ;; Do not forget to terminate the string with "\n".
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
389 ;;
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
390 ;; For more information about PostScript document comments, see:
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
391 ;; PostScript Language Reference Manual (2nd edition)
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
392 ;; Adobe Systems Incorporated
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
393 ;; Appendix G: Document Structuring Conventions -- Version 3.0
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
394 ;;
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
395 ;;
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
396 ;; Duplex Printers
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
397 ;; ---------------
7257
3759ad84023b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
398 ;;
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
399 ;; If you have a duplex-capable printer (one that prints both sides of
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
400 ;; the paper), set `ps-spool-duplex' to t.
23550
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
401 ;; ps-print will insert blank pages to make sure each buffer starts
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
402 ;; on the correct side of the paper.
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
403 ;; Don't forget to set `ps-lpr-switches' to select duplex printing
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
404 ;; for your printer.
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
405 ;;
19879
87952270ceeb (ps-emacs-face-kind-p): Function deleted.
Richard M. Stallman <rms@gnu.org>
parents: 19843
diff changeset
406 ;;
20516
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
407 ;; Control And 8-bit Characters
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
408 ;; ----------------------------
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
409 ;;
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
410 ;; The variable `ps-print-control-characters' specifies whether you want to see
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
411 ;; a printable form for control and 8-bit characters, that is, instead of
21954
73f9f4219198 Some doc fixes, eliminate (require cl).
Richard M. Stallman <rms@gnu.org>
parents: 21801
diff changeset
412 ;; sending, for example, a ^D (\004) to printer, it is sent the string "^D".
20516
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
413 ;;
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
414 ;; Valid values for `ps-print-control-characters' are:
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
415 ;;
23307
5d6530954ece Skip invisible overlay.
Karl Heuer <kwzh@gnu.org>
parents: 23273
diff changeset
416 ;; 8-bit This is the value to use when you want an ASCII encoding of
5d6530954ece Skip invisible overlay.
Karl Heuer <kwzh@gnu.org>
parents: 23273
diff changeset
417 ;; any control or non-ASCII character. Control characters are
5d6530954ece Skip invisible overlay.
Karl Heuer <kwzh@gnu.org>
parents: 23273
diff changeset
418 ;; encoded as "^D", and non-ASCII characters have an
21954
73f9f4219198 Some doc fixes, eliminate (require cl).
Richard M. Stallman <rms@gnu.org>
parents: 21801
diff changeset
419 ;; octal encoding.
73f9f4219198 Some doc fixes, eliminate (require cl).
Richard M. Stallman <rms@gnu.org>
parents: 21801
diff changeset
420 ;;
23307
5d6530954ece Skip invisible overlay.
Karl Heuer <kwzh@gnu.org>
parents: 23273
diff changeset
421 ;; control-8-bit This is the value to use when you want an ASCII encoding of
21954
73f9f4219198 Some doc fixes, eliminate (require cl).
Richard M. Stallman <rms@gnu.org>
parents: 21801
diff changeset
422 ;; any control character, whether it is 7 or 8-bit.
73f9f4219198 Some doc fixes, eliminate (require cl).
Richard M. Stallman <rms@gnu.org>
parents: 21801
diff changeset
423 ;; European 8-bits accented characters are printed according
73f9f4219198 Some doc fixes, eliminate (require cl).
Richard M. Stallman <rms@gnu.org>
parents: 21801
diff changeset
424 ;; the current font.
73f9f4219198 Some doc fixes, eliminate (require cl).
Richard M. Stallman <rms@gnu.org>
parents: 21801
diff changeset
425 ;;
23307
5d6530954ece Skip invisible overlay.
Karl Heuer <kwzh@gnu.org>
parents: 23273
diff changeset
426 ;; control Only ASCII control characters have an ASCII encoding.
21954
73f9f4219198 Some doc fixes, eliminate (require cl).
Richard M. Stallman <rms@gnu.org>
parents: 21801
diff changeset
427 ;; European 8-bits accented characters are printed according
73f9f4219198 Some doc fixes, eliminate (require cl).
Richard M. Stallman <rms@gnu.org>
parents: 21801
diff changeset
428 ;; the current font.
73f9f4219198 Some doc fixes, eliminate (require cl).
Richard M. Stallman <rms@gnu.org>
parents: 21801
diff changeset
429 ;;
23307
5d6530954ece Skip invisible overlay.
Karl Heuer <kwzh@gnu.org>
parents: 23273
diff changeset
430 ;; nil No ASCII encoding. Any character is printed according the
21954
73f9f4219198 Some doc fixes, eliminate (require cl).
Richard M. Stallman <rms@gnu.org>
parents: 21801
diff changeset
431 ;; current font.
20516
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
432 ;;
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
433 ;; Any other value is treated as nil.
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
434 ;;
21955
c4de7c7bc14a (ps-header-title-font-size): Doc fix.
Richard M. Stallman <rms@gnu.org>
parents: 21954
diff changeset
435 ;; The default is `control-8-bit'.
20516
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
436 ;;
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
437 ;; Characters TAB, NEWLINE and FORMFEED are always treated by ps-print engine.
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
438 ;;
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
439 ;;
23551
385d7c586ad2 Doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 23550
diff changeset
440 ;; Printing Multi-byte Buffer
385d7c586ad2 Doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 23550
diff changeset
441 ;; --------------------------
385d7c586ad2 Doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 23550
diff changeset
442 ;;
385d7c586ad2 Doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 23550
diff changeset
443 ;; The variable `ps-multibyte-buffer' specifies the ps-print multi-byte buffer
23550
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
444 ;; handling.
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
445 ;;
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
446 ;; Valid values for `ps-multibyte-buffer' are:
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
447 ;;
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
448 ;; nil This is the value to use when you are printing
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
449 ;; buffer with only ASCII and Latin characters.
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
450 ;;
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
451 ;; `non-latin-printer' This is the value to use when you have a japanese
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
452 ;; or korean PostScript printer and want to print
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
453 ;; buffer with ASCII, Latin-1, Japanese (JISX0208 and
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
454 ;; JISX0201-Kana) and Korean characters. At present,
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
455 ;; it was not tested the Korean characters printing.
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
456 ;; If you have a korean PostScript printer, please,
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
457 ;; test it.
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
458 ;;
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
459 ;; `bdf-font' This is the value to use when you want to print
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
460 ;; buffer with BDF fonts. BDF fonts include both latin
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
461 ;; and non-latin fonts. BDF (Bitmap Distribution
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
462 ;; Format) is a format used for distributing X's font
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
463 ;; source file. BDF fonts are included in
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
464 ;; `intlfonts-1.1' which is a collection of X11 fonts
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
465 ;; for all characters supported by Emacs. In order to
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
466 ;; use this value, be sure to have installed
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
467 ;; `intlfonts-1.1' and set the variable
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
468 ;; `bdf-directory-list' appropriately (see bdf.el for
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
469 ;; documentation of this variable).
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
470 ;;
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
471 ;; `bdf-font-except-latin' This is like `bdf-font' except that it is used
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
472 ;; PostScript default fonts to print ASCII and Latin-1
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
473 ;; characters. This is convenient when you want or
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
474 ;; need to use both latin and non-latin characters on
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
475 ;; the same buffer. See `ps-font-family',
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
476 ;; `ps-header-font-family' and `ps-font-info-database'.
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
477 ;;
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
478 ;; Any other value is treated as nil.
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
479 ;;
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
480 ;; The default is nil.
23091
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
481 ;;
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
482 ;;
19445
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
483 ;; Line Number
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
484 ;; -----------
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
485 ;;
19773
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
486 ;; The variable `ps-line-number' specifies whether to number each line;
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
487 ;; non-nil means do so. The default is nil (don't number each line).
19445
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
488 ;;
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
489 ;;
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
490 ;; Zebra Stripes
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
491 ;; -------------
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
492 ;;
19773
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
493 ;; Zebra stripes are a kind of background that appear "underneath" the text
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
494 ;; and can make the text easier to read. They look like this:
19445
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
495 ;;
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
496 ;; XXXXXXXXXXXXXXXXXXXXXXXX
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
497 ;; XXXXXXXXXXXXXXXXXXXXXXXX
19485
eab8baa19dfa (ps-zebra-stripes): Renamed from ps-zebra-stripe.
Richard M. Stallman <rms@gnu.org>
parents: 19446
diff changeset
498 ;; XXXXXXXXXXXXXXXXXXXXXXXX
eab8baa19dfa (ps-zebra-stripes): Renamed from ps-zebra-stripe.
Richard M. Stallman <rms@gnu.org>
parents: 19446
diff changeset
499 ;;
19445
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
500 ;;
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
501 ;;
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
502 ;; XXXXXXXXXXXXXXXXXXXXXXXX
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
503 ;; XXXXXXXXXXXXXXXXXXXXXXXX
19485
eab8baa19dfa (ps-zebra-stripes): Renamed from ps-zebra-stripe.
Richard M. Stallman <rms@gnu.org>
parents: 19446
diff changeset
504 ;; XXXXXXXXXXXXXXXXXXXXXXXX
19445
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
505 ;;
19879
87952270ceeb (ps-emacs-face-kind-p): Function deleted.
Richard M. Stallman <rms@gnu.org>
parents: 19843
diff changeset
506 ;; The blocks of X's represent rectangles filled with a light gray color.
19773
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
507 ;; Each rectangle extends all the way across the page.
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
508 ;;
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
509 ;; The height, in lines, of each rectangle is controlled by
19485
eab8baa19dfa (ps-zebra-stripes): Renamed from ps-zebra-stripe.
Richard M. Stallman <rms@gnu.org>
parents: 19446
diff changeset
510 ;; the variable `ps-zebra-stripe-height', which is 3 by default.
eab8baa19dfa (ps-zebra-stripes): Renamed from ps-zebra-stripe.
Richard M. Stallman <rms@gnu.org>
parents: 19446
diff changeset
511 ;; The distance between stripes equals the height of a stripe.
20331
39baaa9c5980 Some comment and doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 20019
diff changeset
512 ;;
19787
4ea00387fb08 (ps-setup): ps-zebra-stripe => ps-zebra-stripes.
Richard M. Stallman <rms@gnu.org>
parents: 19773
diff changeset
513 ;; The variable `ps-zebra-stripes' controls whether to print zebra stripes.
19773
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
514 ;; Non-nil means yes, nil means no. The default is nil.
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
515 ;;
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
516 ;; See also section How Ps-Print Has A Text And/Or Image On Background.
19445
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
517 ;;
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
518 ;;
21086
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
519 ;; Hooks
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
520 ;; -----
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
521 ;;
23550
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
522 ;; ps-print has the following hook variables:
21086
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
523 ;;
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
524 ;; `ps-print-hook'
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
525 ;; It is evaluated once before any printing process. This is the right
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
526 ;; place to initialize ps-print global data.
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
527 ;; For an example, see section Adding a New Font Family.
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
528 ;;
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
529 ;; `ps-print-begin-page-hook'
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
530 ;; It is evaluated on each real beginning of page, that is, ps-print
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
531 ;; considers each beginning of column as a beginning of page, and a real
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
532 ;; beginning of page is when the beginning of column coincides with a
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
533 ;; paper change on your printer.
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
534 ;;
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
535 ;; `ps-print-begin-column-hook'
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
536 ;; It is evaluated on each beginning of column, except in the beginning
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
537 ;; of column that `ps-print-begin-page-hook' is evaluated.
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
538 ;;
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
539 ;;
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
540 ;; Font Managing
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
541 ;; -------------
7257
3759ad84023b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
542 ;;
23550
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
543 ;; ps-print now knows rather precisely some fonts:
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
544 ;; the variable `ps-font-info-database' contains information
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
545 ;; for a list of font families (currently mainly `Courier' `Helvetica'
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
546 ;; `Times' `Palatino' `Helvetica-Narrow' `NewCenturySchlbk').
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
547 ;; Each font family contains the font names for standard, bold, italic
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
548 ;; and bold-italic characters, a reference size (usually 10) and the
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
549 ;; corresponding line height, width of a space and average character width.
19879
87952270ceeb (ps-emacs-face-kind-p): Function deleted.
Richard M. Stallman <rms@gnu.org>
parents: 19843
diff changeset
550 ;;
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
551 ;; The variable `ps-font-family' determines which font family
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
552 ;; is to be used for ordinary text.
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
553 ;; If its value does not correspond to a known font family,
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
554 ;; an error message is printed into the `*Messages*' buffer,
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
555 ;; which lists the currently available font families.
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
556 ;;
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
557 ;; The variable `ps-font-size' determines the size (in points)
23138
14e74d2a49cb (ps-print-control-characters): Doc-string modified.
Kenichi Handa <handa@m17n.org>
parents: 23091
diff changeset
558 ;; of the font for ordinary text, when generating PostScript.
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
559 ;; Its value is a float.
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
560 ;;
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
561 ;; Similarly, the variable `ps-header-font-family' determines
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
562 ;; which font family is to be used for text in the header.
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
563 ;; The variable `ps-header-font-size' determines the font size,
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
564 ;; in points, for text in the header.
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
565 ;; The variable `ps-header-title-font-size' determines the font size,
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
566 ;; in points, for the top line of text in the header.
7257
3759ad84023b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
567 ;;
10738
e7d5b119b583 (ps-print-version): Add caveat about version number.
Richard M. Stallman <rms@gnu.org>
parents: 10683
diff changeset
568 ;;
21086
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
569 ;; Adding a New Font Family
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
570 ;; ------------------------
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
571 ;;
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
572 ;; To use a new font family, you MUST first teach ps-print
19445
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
573 ;; this font, i.e., add its information to `ps-font-info-database',
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
574 ;; otherwise ps-print cannot correctly place line and page breaks.
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
575 ;;
19445
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
576 ;; For example, assuming `Helvetica' is unknown,
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
577 ;; you first need to do the following ONLY ONCE:
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
578 ;;
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
579 ;; - create a new buffer
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
580 ;; - generate the PostScript image to a file (C-u M-x ps-print-buffer)
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
581 ;; - open this file and find the line:
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
582 ;; `% 3 cm 20 cm moveto 10 /Courier ReportFontInfo showpage'
19773
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
583 ;; - delete the leading `%' (which is the PostScript comment character)
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
584 ;; - replace in this line `Courier' by the new font (say `Helvetica')
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
585 ;; to get the line:
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
586 ;; `3 cm 20 cm moveto 10 /Helvetica ReportFontInfo showpage'
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
587 ;; - send this file to the printer (or to ghostscript).
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
588 ;; You should read the following on the output page:
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
589 ;;
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
590 ;; For Helvetica 10 point, the line height is 11.56, the space width is 2.78
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
591 ;; and a crude estimate of average character width is 5.09243
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
592 ;;
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
593 ;; - Add these values to the `ps-font-info-database':
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
594 ;; (setq ps-font-info-database
21086
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
595 ;; (append
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
596 ;; '((Helvetica ; the family key
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
597 ;; (fonts (normal . "Helvetica")
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
598 ;; (bold . "Helvetica-Bold")
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
599 ;; (italic . "Helvetica-Oblique")
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
600 ;; (bold-italic . "Helvetica-BoldOblique"))
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
601 ;; (size . 10.0)
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
602 ;; (line-height . 11.56)
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
603 ;; (space-width . 2.78)
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
604 ;; (avg-char-width . 5.09243)))
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
605 ;; ps-font-info-database))
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
606 ;; - Now you can use this font family with any size:
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
607 ;; (setq ps-font-family 'Helvetica)
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
608 ;; - if you want to use this family in another emacs session, you must
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
609 ;; put into your `~/.emacs':
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
610 ;; (require 'ps-print)
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
611 ;; (setq ps-font-info-database (append ...)))
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
612 ;; if you don't want to load ps-print, you have to copy the whole value:
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
613 ;; (setq ps-font-info-database '(<your stuff> <the standard stuff>))
21086
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
614 ;; or, use `ps-print-hook' (see section Hooks):
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
615 ;; (add-hook 'ps-print-hook
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
616 ;; '(lambda () (setq ps-font-info-database (append ...))))
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
617 ;;
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
618 ;; You can create new `mixed' font families like:
21086
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
619 ;; (my-mixed-family
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
620 ;; (fonts (normal . "Courier-Bold")
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
621 ;; (bold . "Helvetica")
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
622 ;; (italic . "Zapf-Chancery-MediumItalic")
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
623 ;; (bold-italic . "NewCenturySchlbk-BoldItalic")
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
624 ;; (w3-table-hack-x-face . "LineDrawNormal"))
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
625 ;; (size . 10.0)
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
626 ;; (line-height . 10.55)
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
627 ;; (space-width . 6.0)
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
628 ;; (avg-char-width . 6.0))
23550
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
629 ;;
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
630 ;; Now you can use your new font family with any size:
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
631 ;; (setq ps-font-family 'my-mixed-family)
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
632 ;;
21086
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
633 ;; Note that on above example the `w3-table-hack-x-face' entry refers to
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
634 ;; a face symbol, so when printing this face it'll be used the font
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
635 ;; `LineDrawNormal'. If the face `w3-table-hack-x-face' is remapped to
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
636 ;; use bold and/or italic attribute, the corresponding entry (bold, italic
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
637 ;; or bold-italic) will be used instead of `w3-table-hack-x-face' entry.
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
638 ;;
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
639 ;; Note also that the font family entry order is irrelevant, so the above
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
640 ;; example could also be written:
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
641 ;; (my-mixed-family
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
642 ;; (size . 10.0)
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
643 ;; (fonts (w3-table-hack-x-face . "LineDrawNormal")
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
644 ;; (bold . "Helvetica")
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
645 ;; (bold-italic . "NewCenturySchlbk-BoldItalic")
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
646 ;; (italic . "Zapf-Chancery-MediumItalic")
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
647 ;; (normal . "Courier-Bold"))
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
648 ;; (avg-char-width . 6.0)
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
649 ;; (space-width . 6.0)
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
650 ;; (line-height . 10.55))
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
651 ;;
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
652 ;; Despite the note above, it is recommended that some convention about
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
653 ;; entry order be used.
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
654 ;;
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
655 ;; You can get information on all the fonts resident in YOUR printer
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
656 ;; by uncommenting the line:
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
657 ;; % 3 cm 20 cm moveto ReportAllFontInfo showpage
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
658 ;;
19773
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
659 ;; The PostScript file should be sent to YOUR PostScript printer.
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
660 ;; If you send it to ghostscript or to another PostScript printer,
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
661 ;; you may get slightly different results.
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
662 ;; Anyway, as ghostscript fonts are autoload, you won't get
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
663 ;; much font info.
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
664 ;;
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
665 ;;
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
666 ;; How Ps-Print Deals With Faces
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
667 ;; -----------------------------
10738
e7d5b119b583 (ps-print-version): Add caveat about version number.
Richard M. Stallman <rms@gnu.org>
parents: 10683
diff changeset
668 ;;
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
669 ;; The ps-print-*-with-faces commands attempt to determine which faces
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
670 ;; should be printed in bold or italic, but their guesses aren't
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
671 ;; always right. For example, you might want to map colors into faces
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
672 ;; so that blue faces print in bold, and red faces in italic.
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
673 ;;
20516
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
674 ;; It is possible to force ps-print to consider specific faces bold,
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
675 ;; italic or underline, no matter what font they are displayed in, by setting
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
676 ;; the variables `ps-bold-faces', `ps-italic-faces' and `ps-underlined-faces'.
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
677 ;; These variables contain lists of faces that ps-print should consider bold,
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
678 ;; italic or underline; to set them, put code like the following into your
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
679 ;; .emacs file:
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
680 ;;
21086
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
681 ;; (setq ps-bold-faces '(my-blue-face))
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
682 ;; (setq ps-italic-faces '(my-red-face))
20516
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
683 ;; (setq ps-underlined-faces '(my-green-face))
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
684 ;;
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
685 ;; Faces like bold-italic that are both bold and italic should go in
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
686 ;; *both* lists.
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
687 ;;
23550
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
688 ;; ps-print keeps internal lists of which fonts are bold and which are
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
689 ;; italic; these lists are built the first time you invoke ps-print.
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
690 ;; For the sake of efficiency, the lists are built only once; the same
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
691 ;; lists are referred in later invocations of ps-print.
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
692 ;;
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
693 ;; Because these lists are built only once, it's possible for them to
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
694 ;; get out of sync, if a face changes, or if new faces are added. To
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
695 ;; get the lists back in sync, you can set the variable
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
696 ;; `ps-build-face-reference' to t, and the lists will be rebuilt the
20516
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
697 ;; next time ps-print is invoked. If you need that the lists always be
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
698 ;; rebuilt when ps-print is invoked, set the variable
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
699 ;; `ps-always-build-face-reference' to t.
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
700 ;;
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
701 ;;
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
702 ;; How Ps-Print Deals With Color
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
703 ;; -----------------------------
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
704 ;;
23550
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
705 ;; ps-print detects faces with foreground and background colors
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
706 ;; defined and embeds color information in the PostScript image.
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
707 ;; The default foreground and background colors are defined by the
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
708 ;; variables `ps-default-fg' and `ps-default-bg'.
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
709 ;; On black-and-white printers, colors are displayed in grayscale.
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
710 ;; To turn off color output, set `ps-print-color-p' to nil.
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
711 ;;
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
712 ;;
19445
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
713 ;; How Ps-Print Maps Faces
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
714 ;; -----------------------
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
715 ;;
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
716 ;; As ps-print uses PostScript to print buffers, it is possible to have
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
717 ;; other attributes associated with faces. So the new attributes used
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
718 ;; by ps-print are:
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
719 ;;
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
720 ;; strikeout - like underline, but the line is in middle of text.
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
721 ;; overline - like underline, but the line is over the text.
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
722 ;; shadow - text will have a shadow.
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
723 ;; box - text will be surrounded by a box.
19773
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
724 ;; outline - print characters as hollow outlines.
19445
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
725 ;;
19879
87952270ceeb (ps-emacs-face-kind-p): Function deleted.
Richard M. Stallman <rms@gnu.org>
parents: 19843
diff changeset
726 ;; See the documentation for `ps-extend-face'.
19445
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
727 ;;
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
728 ;; Let's, for example, remap font-lock-keyword-face to another foreground color
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
729 ;; and bold attribute:
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
730 ;;
19773
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
731 ;; (ps-extend-face '(font-lock-keyword-face "RoyalBlue" nil bold) 'MERGE)
19445
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
732 ;;
19446
15ecd855fec8 (ps-print-face-extension-alist): Doc fix.
Richard M. Stallman <rms@gnu.org>
parents: 19445
diff changeset
733 ;; If you want to use a new face, define it first with `defface',
15ecd855fec8 (ps-print-face-extension-alist): Doc fix.
Richard M. Stallman <rms@gnu.org>
parents: 19445
diff changeset
734 ;; and then call `ps-extend-face' to specify how to print it.
15ecd855fec8 (ps-print-face-extension-alist): Doc fix.
Richard M. Stallman <rms@gnu.org>
parents: 19445
diff changeset
735 ;;
19445
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
736 ;;
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
737 ;; How Ps-Print Has A Text And/Or Image On Background
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
738 ;; --------------------------------------------------
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
739 ;;
23550
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
740 ;; ps-print can print texts and/or EPS PostScript images on background; it is
19445
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
741 ;; possible to define the following text attributes: font name, font size,
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
742 ;; initial position, angle, gray scale and pages to print.
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
743 ;;
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
744 ;; It has the following EPS PostScript images attributes: file name containing
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
745 ;; the image, initial position, X and Y scales, angle and pages to print.
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
746 ;;
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
747 ;; See documentation for `ps-print-background-text' and
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
748 ;; `ps-print-background-image'.
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
749 ;;
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
750 ;; For example, if we wish to print text "preliminary" on all pages and text
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
751 ;; "special" on page 5 and from page 11 to page 17, we could specify:
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
752 ;;
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
753 ;; (setq ps-print-background-text
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
754 ;; '(("preliminary")
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
755 ;; ("special"
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
756 ;; "LeftMargin" "BottomMargin PrintHeight add" ; X and Y position
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
757 ;; ; (upper left corner)
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
758 ;; nil nil nil
21086
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
759 ;; "PrintHeight neg PrintPageWidth atan" ; angle
19445
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
760 ;; 5 (11 . 17)) ; page list
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
761 ;; ))
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
762 ;;
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
763 ;; Similarly, we could print image "~/images/EPS-image1.ps" on all pages and
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
764 ;; image "~/images/EPS-image2.ps" on page 5 and from page 11 to page 17, we
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
765 ;; specify:
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
766 ;;
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
767 ;; (setq ps-print-background-image
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
768 ;; '(("~/images/EPS-image1.ps"
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
769 ;; "LeftMargin" "BottomMargin") ; X and Y position (lower left corner)
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
770 ;; ("~/images/EPS-image2.ps"
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
771 ;; "LeftMargin" "BottomMargin PrintHeight 2 div add" ; X and Y position
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
772 ;; ; (upper left corner)
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
773 ;; nil nil nil
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
774 ;; 5 (11 . 17)) ; page list
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
775 ;; ))
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
776 ;;
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
777 ;; If it is not possible to read (or does not exist) an image file, that file
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
778 ;; is ignored.
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
779 ;;
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
780 ;; The printing order is:
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
781 ;;
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
782 ;; 1. Print zebra stripes
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
783 ;; 2. Print background texts that it should be on all pages
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
784 ;; 3. Print background images that it should be on all pages
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
785 ;; 4. Print background texts only for current page (if any)
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
786 ;; 5. Print background images only for current page (if any)
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
787 ;; 6. Print header
19773
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
788 ;; 7. Print buffer text (with faces, if specified) and line number
19445
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
789 ;;
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
790 ;;
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
791 ;; Utilities
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
792 ;; ---------
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
793 ;;
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
794 ;; Some tools are provided to help you customize your font setup.
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
795 ;;
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
796 ;; `ps-setup' returns (some part of) the current setup.
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
797 ;;
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
798 ;; To avoid wrapping too many lines, you may want to adjust the
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
799 ;; left and right margins and the font size. On UN*X systems, do:
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
800 ;; pr -t file | awk '{printf "%3d %s\n", length($0), $0}' | sort -r | head
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
801 ;; to determine the longest lines of your file.
19445
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
802 ;; Then, the command `ps-line-lengths' will give you the correspondence
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
803 ;; between a line length (number of characters) and the maximum font
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
804 ;; size which doesn't wrap such a line with the current ps-print setup.
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
805 ;;
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
806 ;; The commands `ps-nb-pages-buffer' and `ps-nb-pages-region' display
19445
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
807 ;; the correspondence between a number of pages and the maximum font
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
808 ;; size which allow the number of lines of the current buffer or of
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
809 ;; its current region to fit in this number of pages.
19773
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
810 ;;
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
811 ;; NOTE: line folding is not taken into account in this process and could
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
812 ;; change the results.
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
813 ;;
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
814 ;;
10738
e7d5b119b583 (ps-print-version): Add caveat about version number.
Richard M. Stallman <rms@gnu.org>
parents: 10683
diff changeset
815 ;; New since version 1.5
e7d5b119b583 (ps-print-version): Add caveat about version number.
Richard M. Stallman <rms@gnu.org>
parents: 10683
diff changeset
816 ;; ---------------------
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
817 ;;
10738
e7d5b119b583 (ps-print-version): Add caveat about version number.
Richard M. Stallman <rms@gnu.org>
parents: 10683
diff changeset
818 ;; Color output capability.
e7d5b119b583 (ps-print-version): Add caveat about version number.
Richard M. Stallman <rms@gnu.org>
parents: 10683
diff changeset
819 ;; Automatic detection of font attributes (bold, italic).
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
820 ;; Configurable headers with page numbers.
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
821 ;; Slightly faster.
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
822 ;; Support for different paper sizes.
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
823 ;; Better conformance to PostScript Document Structure Conventions.
10738
e7d5b119b583 (ps-print-version): Add caveat about version number.
Richard M. Stallman <rms@gnu.org>
parents: 10683
diff changeset
824 ;;
e7d5b119b583 (ps-print-version): Add caveat about version number.
Richard M. Stallman <rms@gnu.org>
parents: 10683
diff changeset
825 ;;
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
826 ;; New since version 2.8
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
827 ;; ---------------------
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
828 ;;
23550
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
829 ;; [vinicius] 980922 Vinicius Jose Latorre <vinicius@cpqd.com.br>
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
830 ;;
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
831 ;; PostScript prologue header comment insertion.
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
832 ;; Skip invisible text better.
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
833 ;;
23091
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
834 ;; [keinichi] 980819 Kein'ichi Handa <handa@etl.go.jp>
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
835 ;;
23551
385d7c586ad2 Doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 23550
diff changeset
836 ;; Multi-byte buffer handling.
23091
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
837 ;;
21086
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
838 ;; [vinicius] 980306 Vinicius Jose Latorre <vinicius@cpqd.com.br>
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
839 ;;
23091
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
840 ;; Skip invisible text.
21086
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
841 ;;
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
842 ;; [vinicius] 971130 Vinicius Jose Latorre <vinicius@cpqd.com.br>
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
843 ;;
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
844 ;; Hooks: `ps-print-hook', `ps-print-begin-page-hook' and
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
845 ;; `ps-print-begin-column-hook'.
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
846 ;; Put one header per page over the columns.
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
847 ;; Better database font management.
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
848 ;; Better control characters handling.
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
849 ;;
20516
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
850 ;; [vinicius] 971121 Vinicius Jose Latorre <vinicius@cpqd.com.br>
19445
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
851 ;;
21086
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
852 ;; Dynamic evaluation at print time of `ps-lpr-switches'.
19445
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
853 ;; Handle control characters.
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
854 ;; Face remapping.
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
855 ;; New face attributes.
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
856 ;; Line number.
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
857 ;; Zebra stripes.
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
858 ;; Text and/or image on background.
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
859 ;;
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
860 ;; [jack] 960517 Jacques Duthen <duthen@cegelec-red.fr>
10738
e7d5b119b583 (ps-print-version): Add caveat about version number.
Richard M. Stallman <rms@gnu.org>
parents: 10683
diff changeset
861 ;;
19773
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
862 ;; Font family and float size for text and header.
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
863 ;; Landscape mode.
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
864 ;; Multiple columns.
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
865 ;; Tools for page setup.
10738
e7d5b119b583 (ps-print-version): Add caveat about version number.
Richard M. Stallman <rms@gnu.org>
parents: 10683
diff changeset
866 ;;
7257
3759ad84023b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
867 ;;
23550
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
868 ;; Known bugs and limitations of ps-print
7257
3759ad84023b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
869 ;; --------------------------------------
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
870 ;;
11799
4a04c7799790 Miscellaneous fixes for better compatibility with
Karl Heuer <kwzh@gnu.org>
parents: 10738
diff changeset
871 ;; Although color printing will work in XEmacs 19.12, it doesn't work
4a04c7799790 Miscellaneous fixes for better compatibility with
Karl Heuer <kwzh@gnu.org>
parents: 10738
diff changeset
872 ;; well; in particular, bold or italic fonts don't print in the right
4a04c7799790 Miscellaneous fixes for better compatibility with
Karl Heuer <kwzh@gnu.org>
parents: 10738
diff changeset
873 ;; background color.
4a04c7799790 Miscellaneous fixes for better compatibility with
Karl Heuer <kwzh@gnu.org>
parents: 10738
diff changeset
874 ;;
4a04c7799790 Miscellaneous fixes for better compatibility with
Karl Heuer <kwzh@gnu.org>
parents: 10738
diff changeset
875 ;; Invisible properties aren't correctly ignored in XEmacs 19.12.
4a04c7799790 Miscellaneous fixes for better compatibility with
Karl Heuer <kwzh@gnu.org>
parents: 10738
diff changeset
876 ;;
10738
e7d5b119b583 (ps-print-version): Add caveat about version number.
Richard M. Stallman <rms@gnu.org>
parents: 10683
diff changeset
877 ;; Automatic font-attribute detection doesn't work well, especially
10683
64e6021d0ba0 Various changes.
Richard M. Stallman <rms@gnu.org>
parents: 10493
diff changeset
878 ;; with hilit19 and older versions of get-create-face. Users having
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
879 ;; problems with auto-font detection should use the lists
20516
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
880 ;; `ps-italic-faces', `ps-bold-faces' and `ps-underlined-faces' and/or
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
881 ;; turn off automatic detection by setting `ps-auto-font-detect' to nil.
10683
64e6021d0ba0 Various changes.
Richard M. Stallman <rms@gnu.org>
parents: 10493
diff changeset
882 ;;
11799
4a04c7799790 Miscellaneous fixes for better compatibility with
Karl Heuer <kwzh@gnu.org>
parents: 10738
diff changeset
883 ;; Automatic font-attribute detection doesn't work with XEmacs 19.12
20516
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
884 ;; in tty mode; use the lists `ps-italic-faces', `ps-bold-faces' and
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
885 ;; `ps-underlined-faces' instead.
7257
3759ad84023b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
886 ;;
10683
64e6021d0ba0 Various changes.
Richard M. Stallman <rms@gnu.org>
parents: 10493
diff changeset
887 ;; Still too slow; could use some hand-optimization.
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
888 ;;
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
889 ;; Default background color isn't working.
7257
3759ad84023b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
890 ;;
3759ad84023b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
891 ;; Faces are always treated as opaque.
3759ad84023b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
892 ;;
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
893 ;; Epoch and Emacs 18 not supported. At all.
7257
3759ad84023b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
894 ;;
19879
87952270ceeb (ps-emacs-face-kind-p): Function deleted.
Richard M. Stallman <rms@gnu.org>
parents: 19843
diff changeset
895 ;; Fixed-pitch fonts work better for line folding, but are not required.
7257
3759ad84023b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
896 ;;
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
897 ;; `ps-nb-pages-buffer' and `ps-nb-pages-region' don't take care
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
898 ;; of folding lines.
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
899 ;;
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
900 ;;
23550
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
901 ;; Things to change
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
902 ;; ----------------
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
903 ;;
23550
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
904 ;; 2-up and 4-up capabilities.
21086
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
905 ;; Avoid page break inside a paragraph.
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
906 ;; Add `ps-non-bold-faces' and `ps-non-italic-faces' (should be easy).
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
907 ;; Improve the memory management for big files (hard?).
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
908 ;; `ps-nb-pages-buffer' and `ps-nb-pages-region' should take care
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
909 ;; of folding lines.
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
910 ;;
7257
3759ad84023b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
911 ;;
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
912 ;; Acknowledgements
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
913 ;; ----------------
21086
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
914 ;;
23551
385d7c586ad2 Doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 23550
diff changeset
915 ;; Thanks to Kein'ichi Handa <handa@etl.go.jp> for multi-byte buffer handling.
23138
14e74d2a49cb (ps-print-control-characters): Doc-string modified.
Kenichi Handa <handa@m17n.org>
parents: 23091
diff changeset
916 ;;
14e74d2a49cb (ps-print-control-characters): Doc-string modified.
Kenichi Handa <handa@m17n.org>
parents: 23091
diff changeset
917 ;; Thanks to Matthew O Persico <Matthew.Persico@lazard.com> for line number on
14e74d2a49cb (ps-print-control-characters): Doc-string modified.
Kenichi Handa <handa@m17n.org>
parents: 23091
diff changeset
918 ;; empty columns.
14e74d2a49cb (ps-print-control-characters): Doc-string modified.
Kenichi Handa <handa@m17n.org>
parents: 23091
diff changeset
919 ;;
14e74d2a49cb (ps-print-control-characters): Doc-string modified.
Kenichi Handa <handa@m17n.org>
parents: 23091
diff changeset
920 ;; Thanks to Theodore Jump <tjump@cais.com> for adjust PostScript code order on
14e74d2a49cb (ps-print-control-characters): Doc-string modified.
Kenichi Handa <handa@m17n.org>
parents: 23091
diff changeset
921 ;; last page.
14e74d2a49cb (ps-print-control-characters): Doc-string modified.
Kenichi Handa <handa@m17n.org>
parents: 23091
diff changeset
922 ;;
21954
73f9f4219198 Some doc fixes, eliminate (require cl).
Richard M. Stallman <rms@gnu.org>
parents: 21801
diff changeset
923 ;; Thanks to Roland Ducournau <ducour@lirmm.fr> for
73f9f4219198 Some doc fixes, eliminate (require cl).
Richard M. Stallman <rms@gnu.org>
parents: 21801
diff changeset
924 ;; `ps-print-control-characters' variable documentation.
73f9f4219198 Some doc fixes, eliminate (require cl).
Richard M. Stallman <rms@gnu.org>
parents: 21801
diff changeset
925 ;;
21086
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
926 ;; Thanks to Marcus G Daniels <marcus@cathcart.sysc.pdx.edu> for a better
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
927 ;; database font management.
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
928 ;;
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
929 ;; Thanks to Martin Boyer <gamin@videotron.ca> for some ideas on putting one
21954
73f9f4219198 Some doc fixes, eliminate (require cl).
Richard M. Stallman <rms@gnu.org>
parents: 21801
diff changeset
930 ;; header per page over the columns and correct line numbers when printing a
73f9f4219198 Some doc fixes, eliminate (require cl).
Richard M. Stallman <rms@gnu.org>
parents: 21801
diff changeset
931 ;; region.
21086
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
932 ;;
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
933 ;; Thanks to Steven L Baur <steve@miranova.com> for dynamic evaluation at
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
934 ;; print time of `ps-lpr-switches'.
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
935 ;;
21954
73f9f4219198 Some doc fixes, eliminate (require cl).
Richard M. Stallman <rms@gnu.org>
parents: 21801
diff changeset
936 ;; Thanks to Kevin Rodgers <kevinr@ihs.com> for handling control characters
73f9f4219198 Some doc fixes, eliminate (require cl).
Richard M. Stallman <rms@gnu.org>
parents: 21801
diff changeset
937 ;; (his code was severely modified, but the main idea was kept).
73f9f4219198 Some doc fixes, eliminate (require cl).
Richard M. Stallman <rms@gnu.org>
parents: 21801
diff changeset
938 ;;
21086
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
939 ;; Thanks to some suggestions on:
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
940 ;; * Face color map: Marco Melgazzi <marco@techie.com>
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
941 ;; * XEmacs compatibility: William J. Henney <will@astrosmo.unam.mx>
22093
5818374d88e7 (ps-file-end): Put Trailer and Pages before EndDoc.
Richard M. Stallman <rms@gnu.org>
parents: 21999
diff changeset
942 ;; * Check `ps-paper-type': Sudhakar Frederick <sfrederi@asc.corp.mot.com>
21086
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
943 ;;
20516
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
944 ;; Thanks to Jacques Duthen <duthen@cegelec-red.fr> (Jack) for the 3.4 version
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
945 ;; I started from. [vinicius]
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
946 ;;
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
947 ;; Thanks to Jim Thompson <?@?> for the 2.8 version I started from.
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
948 ;; [jack]
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
949 ;;
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
950 ;; Thanks to Kevin Rodgers <kevinr@ihs.com> for adding support for
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
951 ;; color and the invisible property.
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
952 ;;
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
953 ;; Thanks to Avishai Yacobi, avishaiy@mcil.comm.mot.com, for writing
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
954 ;; the initial port to Emacs 19. His code is no longer part of
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
955 ;; ps-print, but his work is still appreciated.
7257
3759ad84023b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
956 ;;
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
957 ;; Thanks to Remi Houdaille and Michel Train, michel@metasoft.fdn.org,
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
958 ;; for adding underline support. Their code also is no longer part of
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
959 ;; ps-print, but their efforts are not forgotten.
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
960 ;;
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
961 ;; Thanks also to all of you who mailed code to add features to
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
962 ;; ps-print; although I didn't use your code, I still appreciate your
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
963 ;; sharing it with me.
7257
3759ad84023b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
964 ;;
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
965 ;; Thanks to all who mailed comments, encouragement, and criticism.
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
966 ;; Thanks also to all who responded to my survey; I had too many
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
967 ;; responses to reply to them all, but I greatly appreciate your
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
968 ;; interest.
7257
3759ad84023b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
969 ;;
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
970 ;; Jim
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
971 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
7257
3759ad84023b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
972
3759ad84023b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
973 ;;; Code:
3759ad84023b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
974
16870
4a5fa29f79d6 (ps-print-version): Fix value.
Richard M. Stallman <rms@gnu.org>
parents: 16361
diff changeset
975 (unless (featurep 'lisp-float-type)
4a5fa29f79d6 (ps-print-version): Fix value.
Richard M. Stallman <rms@gnu.org>
parents: 16361
diff changeset
976 (error "`ps-print' requires floating point support"))
7257
3759ad84023b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
977
3759ad84023b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
978 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
979 ;; User Variables:
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
980
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
981 ;;; Interface to the command system
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
982
17405
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
983 (defgroup ps-print nil
20331
39baaa9c5980 Some comment and doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 20019
diff changeset
984 "PostScript generator for Emacs 19"
17405
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
985 :prefix "ps-"
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
986 :group 'wp)
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
987
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
988 (defgroup ps-print-horizontal nil
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
989 "Horizontal page layout"
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
990 :prefix "ps-"
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
991 :tag "Horizontal"
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
992 :group 'ps-print)
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
993
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
994 (defgroup ps-print-vertical nil
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
995 "Vertical page layout"
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
996 :prefix "ps-"
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
997 :tag "Vertical"
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
998 :group 'ps-print)
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
999
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1000 (defgroup ps-print-header nil
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1001 "Headers layout"
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1002 :prefix "ps-"
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1003 :tag "Header"
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1004 :group 'ps-print)
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1005
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1006 (defgroup ps-print-font nil
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1007 "Fonts customization"
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1008 :prefix "ps-"
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1009 :tag "Font"
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1010 :group 'ps-print)
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1011
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1012 (defgroup ps-print-color nil
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1013 "Color customization"
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1014 :prefix "ps-"
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1015 :tag "Color"
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1016 :group 'ps-print)
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1017
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1018 (defgroup ps-print-face nil
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1019 "Faces customization"
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1020 :prefix "ps-"
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1021 :tag "PS Faces"
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1022 :group 'ps-print
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1023 :group 'faces)
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1024
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1025
23550
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
1026 (defcustom ps-multibyte-buffer nil
23551
385d7c586ad2 Doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 23550
diff changeset
1027 "*Specifies the multi-byte buffer handling.
23550
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
1028
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
1029 Valid values are:
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
1030
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
1031 nil This is the value to use when you are printing
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
1032 buffer with only ASCII and Latin characters.
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
1033
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
1034 `non-latin-printer' This is the value to use when you have a japanese
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
1035 or korean PostScript printer and want to print
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
1036 buffer with ASCII, Latin-1, Japanese (JISX0208 and
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
1037 JISX0201-Kana) and Korean characters. At present,
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
1038 it was not tested the Korean characters printing.
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
1039 If you have a korean PostScript printer, please,
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
1040 test it.
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
1041
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
1042 `bdf-font' This is the value to use when you want to print
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
1043 buffer with BDF fonts. BDF fonts include both latin
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
1044 and non-latin fonts. BDF (Bitmap Distribution
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
1045 Format) is a format used for distributing X's font
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
1046 source file. BDF fonts are included in
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
1047 `intlfonts-1.1' which is a collection of X11 fonts
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
1048 for all characters supported by Emacs. In order to
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
1049 use this value, be sure to have installed
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
1050 `intlfonts-1.1' and set the variable
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
1051 `bdf-directory-list' appropriately (see bdf.el for
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
1052 documentation of this variable).
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
1053
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
1054 `bdf-font-except-latin' This is like `bdf-font' except that it is used
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
1055 PostScript default fonts to print ASCII and Latin-1
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
1056 characters. This is convenient when you want or
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
1057 need to use both latin and non-latin characters on
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
1058 the same buffer. See `ps-font-family',
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
1059 `ps-header-font-family' and `ps-font-info-database'.
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
1060
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
1061 Any other value is treated as nil."
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
1062 :type '(choice (const non-latin-printer) (const bdf-font)
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
1063 (const bdf-font-except-latin) (other :tag "nil" nil))
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
1064 :group 'ps-print-font)
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
1065
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
1066 (defcustom ps-print-prologue-header nil
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
1067 "*PostScript prologue header comments besides that ps-print generates.
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
1068
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
1069 `ps-print-prologue-header' may be a string or a symbol function which
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
1070 returns a string. Note that this string is inserted on PostScript prologue
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
1071 header section which is used to define some document characteristic through
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
1072 PostScript special comments, like \"%%Requirements: jog\\n\".
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
1073
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
1074 ps-print always inserts the %%Requirements: comment, so if you need to insert
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
1075 more requirements put them first in `ps-print-prologue-header' using the
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
1076 \"%%+\" comment. For example, if you need to set numcopies to 3 and jog on
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
1077 requirements and set %%LanguageLevel: to 2, do:
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
1078
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
1079 (setq ps-print-prologue-header
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
1080 \"%%+ numcopies(3) jog\\n%%LanguageLevel: 2\\n\")
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
1081
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
1082 The duplex requirement is inserted by ps-print (see `ps-spool-duplex').
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
1083
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
1084 Do not forget to terminate the string with \"\\n\".
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
1085
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
1086 For more information about PostScript document comments, see:
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
1087 PostScript Language Reference Manual (2nd edition)
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
1088 Adobe Systems Incorporated
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
1089 Appendix G: Document Structuring Conventions -- Version 3.0"
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
1090 :type '(choice string symbol (other :tag "nil" nil))
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
1091 :group 'ps-print)
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
1092
22680
3cf03f32956c (ps-printer-name): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 22596
diff changeset
1093 (defcustom ps-printer-name printer-name
3cf03f32956c (ps-printer-name): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 22596
diff changeset
1094 "*The name of a local printer for printing PostScript files.
3cf03f32956c (ps-printer-name): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 22596
diff changeset
1095
3cf03f32956c (ps-printer-name): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 22596
diff changeset
1096 On Unix-like systems, a string value should be a name understood by
3cf03f32956c (ps-printer-name): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 22596
diff changeset
1097 lpr's -P option; otherwise the value should be nil.
3cf03f32956c (ps-printer-name): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 22596
diff changeset
1098
3cf03f32956c (ps-printer-name): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 22596
diff changeset
1099 On MS-DOS and MS-Windows systems, if the value is a string, then it is
3cf03f32956c (ps-printer-name): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 22596
diff changeset
1100 taken as the name of the device to which PostScript files are written.
3cf03f32956c (ps-printer-name): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 22596
diff changeset
1101 By default it is the same as `printer-name'; typical non-default
3cf03f32956c (ps-printer-name): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 22596
diff changeset
1102 settings would be \"LPT1\" to \"LPT3\" for parallel printers, or
3cf03f32956c (ps-printer-name): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 22596
diff changeset
1103 \"COM1\" to \"COM4\" or \"AUX\" for serial printers, or
3cf03f32956c (ps-printer-name): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 22596
diff changeset
1104 \"//hostname/printer\" for a shared network printer. You can also set
3cf03f32956c (ps-printer-name): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 22596
diff changeset
1105 it to a name of a file, in which case the output gets appended to that
3cf03f32956c (ps-printer-name): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 22596
diff changeset
1106 file. \(Note that `ps-print' package already has facilities for
3cf03f32956c (ps-printer-name): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 22596
diff changeset
1107 printing to a file, so you might as well use them instead of changing
3cf03f32956c (ps-printer-name): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 22596
diff changeset
1108 the setting of this variable.\) If you want to silently discard the
3cf03f32956c (ps-printer-name): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 22596
diff changeset
1109 printed output, set this to \"NUL\".
3cf03f32956c (ps-printer-name): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 22596
diff changeset
1110
3cf03f32956c (ps-printer-name): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 22596
diff changeset
1111 On DOS/Windows, if the value is anything but a string, PostScript files
3cf03f32956c (ps-printer-name): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 22596
diff changeset
1112 will be piped to the program given by `ps-lpr-command', with switches
3cf03f32956c (ps-printer-name): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 22596
diff changeset
1113 given by `ps-lpr-switches', which see."
3cf03f32956c (ps-printer-name): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 22596
diff changeset
1114 :type '(choice file (other :tag "Pipe to ps-lpr-command" pipe))
3cf03f32956c (ps-printer-name): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 22596
diff changeset
1115 :group 'ps-print)
3cf03f32956c (ps-printer-name): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 22596
diff changeset
1116
17405
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1117 (defcustom ps-lpr-command lpr-command
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1118 "*The shell command for printing a PostScript file."
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1119 :type 'string
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1120 :group 'ps-print)
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1121
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1122 (defcustom ps-lpr-switches lpr-switches
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1123 "*A list of extra switches to pass to `ps-lpr-command'."
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1124 :type '(repeat string)
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1125 :group 'ps-print)
7257
3759ad84023b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1126
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
1127 ;;; Page layout
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
1128
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
1129 ;; All page dimensions are in PostScript points.
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
1130 ;; 1 inch == 2.54 cm == 72 points
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
1131 ;; 1 cm == (/ 1 2.54) inch == (/ 72 2.54) points
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
1132
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
1133 ;; Letter 8.5 inch x 11.0 inch
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
1134 ;; Legal 8.5 inch x 14.0 inch
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
1135 ;; A4 8.26 inch x 11.69 inch = 21.0 cm x 29.7 cm
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
1136
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
1137 ;; LetterSmall 7.68 inch x 10.16 inch
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
1138 ;; Tabloid 11.0 inch x 17.0 inch
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
1139 ;; Ledger 17.0 inch x 11.0 inch
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
1140 ;; Statement 5.5 inch x 8.5 inch
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
1141 ;; Executive 7.5 inch x 10.0 inch
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
1142 ;; A3 11.69 inch x 16.5 inch = 29.7 cm x 42.0 cm
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
1143 ;; A4Small 7.47 inch x 10.85 inch
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
1144 ;; B4 10.125 inch x 14.33 inch
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
1145 ;; B5 7.16 inch x 10.125 inch
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
1146
17405
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1147 (defcustom ps-page-dimensions-database
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
1148 (list (list 'a4 (/ (* 72 21.0) 2.54) (/ (* 72 29.7) 2.54))
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
1149 (list 'a3 (/ (* 72 29.7) 2.54) (/ (* 72 42.0) 2.54))
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
1150 (list 'letter (* 72 8.5) (* 72 11.0))
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
1151 (list 'legal (* 72 8.5) (* 72 14.0))
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
1152 (list 'letter-small (* 72 7.68) (* 72 10.16))
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
1153 (list 'tabloid (* 72 11.0) (* 72 17.0))
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
1154 (list 'ledger (* 72 17.0) (* 72 11.0))
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
1155 (list 'statement (* 72 5.5) (* 72 8.5))
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
1156 (list 'executive (* 72 7.5) (* 72 10.0))
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
1157 (list 'a4small (* 72 7.47) (* 72 10.85))
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
1158 (list 'b4 (* 72 10.125) (* 72 14.33))
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
1159 (list 'b5 (* 72 7.16) (* 72 10.125)))
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
1160 "*List associating a symbolic paper type to its width and height.
17405
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1161 see `ps-paper-type'."
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1162 :type '(repeat (list :tag "Paper Type"
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1163 (symbol :tag "Name")
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1164 (number :tag "Width")
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1165 (number :tag "Height")))
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1166 :group 'ps-print)
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1167
20516
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
1168 ;;;###autoload
17405
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1169 (defcustom ps-paper-type 'letter
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
1170 "*Specifies the size of paper to format for.
16870
4a5fa29f79d6 (ps-print-version): Fix value.
Richard M. Stallman <rms@gnu.org>
parents: 16361
diff changeset
1171 Should be one of the paper types defined in `ps-page-dimensions-database', for
17405
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1172 example `letter', `legal' or `a4'."
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1173 :type '(symbol :validate (lambda (wid)
19445
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
1174 (if (assq (widget-value wid)
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
1175 ps-page-dimensions-database)
17405
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1176 nil
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1177 (widget-put wid :error "Unknown paper size")
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1178 wid)))
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1179 :group 'ps-print)
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1180
19445
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
1181 (defcustom ps-landscape-mode nil
17405
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1182 "*Non-nil means print in landscape mode."
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1183 :type 'boolean
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1184 :group 'ps-print)
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1185
20516
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
1186 (defcustom ps-print-control-characters 'control-8-bit
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
1187 "*Specifies the printable form for control and 8-bit characters.
21954
73f9f4219198 Some doc fixes, eliminate (require cl).
Richard M. Stallman <rms@gnu.org>
parents: 21801
diff changeset
1188 That is, instead of sending, for example, a ^D (\004) to printer,
23138
14e74d2a49cb (ps-print-control-characters): Doc-string modified.
Kenichi Handa <handa@m17n.org>
parents: 23091
diff changeset
1189 it is sent the string \"^D\".
21954
73f9f4219198 Some doc fixes, eliminate (require cl).
Richard M. Stallman <rms@gnu.org>
parents: 21801
diff changeset
1190
20516
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
1191 Valid values are:
21954
73f9f4219198 Some doc fixes, eliminate (require cl).
Richard M. Stallman <rms@gnu.org>
parents: 21801
diff changeset
1192
22093
5818374d88e7 (ps-file-end): Put Trailer and Pages before EndDoc.
Richard M. Stallman <rms@gnu.org>
parents: 21999
diff changeset
1193 `8-bit' This is the value to use when you want an ASCII encoding of
23550
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
1194 any control or non-ASCII character. Control characters are
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
1195 encoded as \"^D\", and non-ASCII characters have an
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
1196 octal encoding.
21954
73f9f4219198 Some doc fixes, eliminate (require cl).
Richard M. Stallman <rms@gnu.org>
parents: 21801
diff changeset
1197
22093
5818374d88e7 (ps-file-end): Put Trailer and Pages before EndDoc.
Richard M. Stallman <rms@gnu.org>
parents: 21999
diff changeset
1198 `control-8-bit' This is the value to use when you want an ASCII encoding of
23550
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
1199 any control character, whether it is 7 or 8-bit.
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
1200 European 8-bits accented characters are printed according
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
1201 the current font.
21954
73f9f4219198 Some doc fixes, eliminate (require cl).
Richard M. Stallman <rms@gnu.org>
parents: 21801
diff changeset
1202
23307
5d6530954ece Skip invisible overlay.
Karl Heuer <kwzh@gnu.org>
parents: 23273
diff changeset
1203 `control' Only ASCII control characters have an ASCII encoding.
23550
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
1204 European 8-bits accented characters are printed according
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
1205 the current font.
21954
73f9f4219198 Some doc fixes, eliminate (require cl).
Richard M. Stallman <rms@gnu.org>
parents: 21801
diff changeset
1206
22093
5818374d88e7 (ps-file-end): Put Trailer and Pages before EndDoc.
Richard M. Stallman <rms@gnu.org>
parents: 21999
diff changeset
1207 nil No ASCII encoding. Any character is printed according the
23550
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
1208 current font.
21954
73f9f4219198 Some doc fixes, eliminate (require cl).
Richard M. Stallman <rms@gnu.org>
parents: 21801
diff changeset
1209
20516
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
1210 Any other value is treated as nil."
21086
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
1211 :type '(choice (const 8-bit) (const control-8-bit)
22596
b926b360d222 (ps-print-control-characters): Use `other' widget
Andreas Schwab <schwab@suse.de>
parents: 22397
diff changeset
1212 (const control) (other :tag "nil" nil))
20516
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
1213 :group 'ps-print)
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
1214
17405
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1215 (defcustom ps-number-of-columns (if ps-landscape-mode 2 1)
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1216 "*Specifies the number of columns"
19445
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
1217 :type 'number
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
1218 :group 'ps-print)
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
1219
19485
eab8baa19dfa (ps-zebra-stripes): Renamed from ps-zebra-stripe.
Richard M. Stallman <rms@gnu.org>
parents: 19446
diff changeset
1220 (defcustom ps-zebra-stripes nil
19445
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
1221 "*Non-nil means print zebra stripes.
19879
87952270ceeb (ps-emacs-face-kind-p): Function deleted.
Richard M. Stallman <rms@gnu.org>
parents: 19843
diff changeset
1222 See also documentation for `ps-zebra-stripe-height'."
19445
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
1223 :type 'boolean
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
1224 :group 'ps-print)
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
1225
19485
eab8baa19dfa (ps-zebra-stripes): Renamed from ps-zebra-stripe.
Richard M. Stallman <rms@gnu.org>
parents: 19446
diff changeset
1226 (defcustom ps-zebra-stripe-height 3
19445
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
1227 "*Number of zebra stripe lines.
19879
87952270ceeb (ps-emacs-face-kind-p): Function deleted.
Richard M. Stallman <rms@gnu.org>
parents: 19843
diff changeset
1228 See also documentation for `ps-zebra-stripes'."
19445
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
1229 :type 'number
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
1230 :group 'ps-print)
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
1231
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
1232 (defcustom ps-line-number nil
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
1233 "*Non-nil means print line number."
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
1234 :type 'boolean
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
1235 :group 'ps-print)
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
1236
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
1237 (defcustom ps-print-background-image nil
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
1238 "*EPS image list to be printed on background.
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
1239
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
1240 The elements are:
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
1241
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
1242 (FILENAME X Y XSCALE YSCALE ROTATION PAGES...)
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
1243
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
1244 FILENAME is a file name which contains an EPS image or some PostScript
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
1245 programming like EPS.
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
1246 FILENAME is ignored, if it doesn't exist or is read protected.
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
1247
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
1248 X and Y are relative positions on paper to put the image.
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
1249 If X and Y are nil, the image is centralized on paper.
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
1250
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
1251 XSCALE and YSCALE are scale factor to be applied to image before printing.
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
1252 If XSCALE and YSCALE are nil, the original size is used.
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
1253
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
1254 ROTATION is the image rotation angle; if nil, the default is 0.
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
1255
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
1256 PAGES designates the page to print background image.
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
1257 PAGES may be a number or a cons cell (FROM . TO) designating FROM page
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
1258 to TO page.
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
1259 If PAGES is nil, print background image on all pages.
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
1260
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
1261 X, Y, XSCALE, YSCALE and ROTATION may be a floating point number,
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
1262 an integer number or a string. If it is a string, the string should contain
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
1263 PostScript programming that returns a float or integer value.
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
1264
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
1265 For example, if you wish to print an EPS image on all pages do:
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
1266
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
1267 '((\"~/images/EPS-image.ps\"))"
20019
d8e290881d8c (ps-print-background-image): Fix customize type.
Karl Heuer <kwzh@gnu.org>
parents: 19879
diff changeset
1268 :type '(repeat (list file
d8e290881d8c (ps-print-background-image): Fix customize type.
Karl Heuer <kwzh@gnu.org>
parents: 19879
diff changeset
1269 (choice :tag "X" number string (const nil))
d8e290881d8c (ps-print-background-image): Fix customize type.
Karl Heuer <kwzh@gnu.org>
parents: 19879
diff changeset
1270 (choice :tag "Y" number string (const nil))
d8e290881d8c (ps-print-background-image): Fix customize type.
Karl Heuer <kwzh@gnu.org>
parents: 19879
diff changeset
1271 (choice :tag "X Scale" number string (const nil))
d8e290881d8c (ps-print-background-image): Fix customize type.
Karl Heuer <kwzh@gnu.org>
parents: 19879
diff changeset
1272 (choice :tag "Y Scale" number string (const nil))
d8e290881d8c (ps-print-background-image): Fix customize type.
Karl Heuer <kwzh@gnu.org>
parents: 19879
diff changeset
1273 (choice :tag "Rotation" number string (const nil))
d8e290881d8c (ps-print-background-image): Fix customize type.
Karl Heuer <kwzh@gnu.org>
parents: 19879
diff changeset
1274 (repeat :tag "Pages" :inline t
d8e290881d8c (ps-print-background-image): Fix customize type.
Karl Heuer <kwzh@gnu.org>
parents: 19879
diff changeset
1275 (radio integer
d8e290881d8c (ps-print-background-image): Fix customize type.
Karl Heuer <kwzh@gnu.org>
parents: 19879
diff changeset
1276 (cons :tag "Range"
d8e290881d8c (ps-print-background-image): Fix customize type.
Karl Heuer <kwzh@gnu.org>
parents: 19879
diff changeset
1277 (integer :tag "From")
d8e290881d8c (ps-print-background-image): Fix customize type.
Karl Heuer <kwzh@gnu.org>
parents: 19879
diff changeset
1278 (integer :tag "To"))))))
19445
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
1279 :group 'ps-print)
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
1280
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
1281 (defcustom ps-print-background-text nil
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
1282 "*Text list to be printed on background.
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
1283
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
1284 The elements are:
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
1285
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
1286 (STRING X Y FONT FONTSIZE GRAY ROTATION PAGES...)
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
1287
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
1288 STRING is the text to be printed on background.
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
1289
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
1290 X and Y are positions on paper to put the text.
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
1291 If X and Y are nil, the text is positioned at lower left corner.
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
1292
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
1293 FONT is a font name to be used on printing the text.
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
1294 If nil, \"Times-Roman\" is used.
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
1295
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
1296 FONTSIZE is font size to be used, if nil, 200 is used.
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
1297
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
1298 GRAY is the text gray factor (should be very light like 0.8).
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
1299 If nil, the default is 0.85.
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
1300
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
1301 ROTATION is the text rotation angle; if nil, the angle is given by
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
1302 the diagonal from lower left corner to upper right corner.
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
1303
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
1304 PAGES designates the page to print background text.
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
1305 PAGES may be a number or a cons cell (FROM . TO) designating FROM page
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
1306 to TO page.
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
1307 If PAGES is nil, print background text on all pages.
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
1308
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
1309 X, Y, FONTSIZE, GRAY and ROTATION may be a floating point number,
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
1310 an integer number or a string. If it is a string, the string should contain
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
1311 PostScript programming that returns a float or integer value.
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
1312
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
1313 For example, if you wish to print text \"Preliminary\" on all pages do:
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
1314
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
1315 '((\"Preliminary\"))"
20019
d8e290881d8c (ps-print-background-image): Fix customize type.
Karl Heuer <kwzh@gnu.org>
parents: 19879
diff changeset
1316 :type '(repeat (list string
d8e290881d8c (ps-print-background-image): Fix customize type.
Karl Heuer <kwzh@gnu.org>
parents: 19879
diff changeset
1317 (choice :tag "X" number string (const nil))
d8e290881d8c (ps-print-background-image): Fix customize type.
Karl Heuer <kwzh@gnu.org>
parents: 19879
diff changeset
1318 (choice :tag "Y" number string (const nil))
d8e290881d8c (ps-print-background-image): Fix customize type.
Karl Heuer <kwzh@gnu.org>
parents: 19879
diff changeset
1319 (choice :tag "Font" string (const nil))
d8e290881d8c (ps-print-background-image): Fix customize type.
Karl Heuer <kwzh@gnu.org>
parents: 19879
diff changeset
1320 (choice :tag "Fontsize" number string (const nil))
d8e290881d8c (ps-print-background-image): Fix customize type.
Karl Heuer <kwzh@gnu.org>
parents: 19879
diff changeset
1321 (choice :tag "Gray" number string (const nil))
d8e290881d8c (ps-print-background-image): Fix customize type.
Karl Heuer <kwzh@gnu.org>
parents: 19879
diff changeset
1322 (choice :tag "Rotation" number string (const nil))
d8e290881d8c (ps-print-background-image): Fix customize type.
Karl Heuer <kwzh@gnu.org>
parents: 19879
diff changeset
1323 (repeat :tag "Pages" :inline t
d8e290881d8c (ps-print-background-image): Fix customize type.
Karl Heuer <kwzh@gnu.org>
parents: 19879
diff changeset
1324 (radio integer
d8e290881d8c (ps-print-background-image): Fix customize type.
Karl Heuer <kwzh@gnu.org>
parents: 19879
diff changeset
1325 (cons :tag "Range"
d8e290881d8c (ps-print-background-image): Fix customize type.
Karl Heuer <kwzh@gnu.org>
parents: 19879
diff changeset
1326 (integer :tag "From")
d8e290881d8c (ps-print-background-image): Fix customize type.
Karl Heuer <kwzh@gnu.org>
parents: 19879
diff changeset
1327 (integer :tag "To"))))))
17405
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1328 :group 'ps-print)
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
1329
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
1330 ;;; Horizontal layout
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
1331
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
1332 ;; ------------------------------------------
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
1333 ;; | | | | | | | |
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
1334 ;; | lm | text | ic | text | ic | text | rm |
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
1335 ;; | | | | | | | |
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
1336 ;; ------------------------------------------
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
1337
17405
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1338 (defcustom ps-left-margin (/ (* 72 2.0) 2.54) ; 2 cm
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1339 "*Left margin in points (1/72 inch)."
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1340 :type 'number
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1341 :group 'ps-print-horizontal)
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1342
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1343 (defcustom ps-right-margin (/ (* 72 2.0) 2.54) ; 2 cm
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1344 "*Right margin in points (1/72 inch)."
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1345 :type 'number
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1346 :group 'ps-print-horizontal)
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1347
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1348 (defcustom ps-inter-column (/ (* 72 2.0) 2.54) ; 2 cm
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1349 "*Horizontal space between columns in points (1/72 inch)."
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1350 :type 'number
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1351 :group 'ps-print-horizontal)
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
1352
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
1353 ;;; Vertical layout
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
1354
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
1355 ;; |--------|
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
1356 ;; | tm |
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
1357 ;; |--------|
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
1358 ;; | header |
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
1359 ;; |--------|
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
1360 ;; | ho |
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
1361 ;; |--------|
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
1362 ;; | text |
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
1363 ;; |--------|
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
1364 ;; | bm |
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
1365 ;; |--------|
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
1366
17405
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1367 (defcustom ps-bottom-margin (/ (* 72 1.5) 2.54) ; 1.5 cm
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1368 "*Bottom margin in points (1/72 inch)."
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1369 :type 'number
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1370 :group 'ps-print-vertical)
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1371
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1372 (defcustom ps-top-margin (/ (* 72 1.5) 2.54) ; 1.5 cm
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1373 "*Top margin in points (1/72 inch)."
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1374 :type 'number
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1375 :group 'ps-print-vertical)
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1376
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1377 (defcustom ps-header-offset (/ (* 72 1.0) 2.54) ; 1.0 cm
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1378 "*Vertical space in points (1/72 inch) between the main text and the header."
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1379 :type 'number
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1380 :group 'ps-print-vertical)
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1381
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1382 (defcustom ps-header-line-pad 0.15
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
1383 "*Portion of a header title line height to insert between the header frame
17405
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1384 and the text it contains, both in the vertical and horizontal directions."
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1385 :type 'number
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1386 :group 'ps-print-vertical)
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
1387
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
1388 ;;; Header setup
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
1389
17405
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1390 (defcustom ps-print-header t
10493
ed52763e77d6 entered into RCS
Richard M. Stallman <rms@gnu.org>
parents: 10492
diff changeset
1391 "*Non-nil means print a header at the top of each page.
ed52763e77d6 entered into RCS
Richard M. Stallman <rms@gnu.org>
parents: 10492
diff changeset
1392 By default, the header displays the buffer name, page number, and, if
ed52763e77d6 entered into RCS
Richard M. Stallman <rms@gnu.org>
parents: 10492
diff changeset
1393 the buffer is visiting a file, the file's directory. Headers are
16949
18731f7e2c73 (ps-print-header): Doc fix.
Richard M. Stallman <rms@gnu.org>
parents: 16870
diff changeset
1394 customizable by changing variables `ps-left-header' and
17405
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1395 `ps-right-header'."
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1396 :type 'boolean
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1397 :group 'ps-print-header)
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1398
21086
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
1399 (defcustom ps-print-only-one-header nil
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
1400 "*Non-nil means print only one header at the top of each page.
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
1401 This is useful when printing more than one column, so it is possible
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
1402 to have only one header over all columns or one header per column.
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
1403 See also `ps-print-header'."
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
1404 :type 'boolean
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
1405 :group 'ps-print-header)
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
1406
17405
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1407 (defcustom ps-print-header-frame t
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1408 "*Non-nil means draw a gaudy frame around the header."
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1409 :type 'boolean
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1410 :group 'ps-print-header)
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1411
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1412 (defcustom ps-header-lines 2
20331
39baaa9c5980 Some comment and doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 20019
diff changeset
1413 "*Number of lines to display in page header, when generating PostScript."
17405
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1414 :type 'integer
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1415 :group 'ps-print-header)
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
1416 (make-variable-buffer-local 'ps-header-lines)
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
1417
17405
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1418 (defcustom ps-show-n-of-n t
10683
64e6021d0ba0 Various changes.
Richard M. Stallman <rms@gnu.org>
parents: 10493
diff changeset
1419 "*Non-nil means show page numbers as N/M, meaning page N of M.
20331
39baaa9c5980 Some comment and doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 20019
diff changeset
1420 NOTE: page numbers are displayed as part of headers,
39baaa9c5980 Some comment and doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 20019
diff changeset
1421 see variable `ps-print-headers'."
17405
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1422 :type 'boolean
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1423 :group 'ps-print-header)
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1424
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1425 (defcustom ps-spool-duplex nil ; Not many people have duplex
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
1426 ; printers, so default to nil.
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
1427 "*Non-nil indicates spooling is for a two-sided printer.
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
1428 For a duplex printer, the `ps-spool-*' commands will insert blank pages
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
1429 as needed between print jobs so that the next buffer printed will
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
1430 start on the right page. Also, if headers are turned on, the headers
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
1431 will be reversed on duplex printers so that the page numbers fall to
17405
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1432 the left on even-numbered pages."
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1433 :type 'boolean
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1434 :group 'ps-print-header)
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
1435
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
1436 ;;; Fonts
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
1437
17405
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1438 (defcustom ps-font-info-database
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
1439 '((Courier ; the family key
21086
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
1440 (fonts (normal . "Courier")
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
1441 (bold . "Courier-Bold")
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
1442 (italic . "Courier-Oblique")
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
1443 (bold-italic . "Courier-BoldOblique"))
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
1444 (size . 10.0)
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
1445 (line-height . 10.55)
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
1446 (space-width . 6.0)
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
1447 (avg-char-width . 6.0))
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
1448 (Helvetica ; the family key
21086
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
1449 (fonts (normal . "Helvetica")
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
1450 (bold . "Helvetica-Bold")
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
1451 (italic . "Helvetica-Oblique")
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
1452 (bold-italic . "Helvetica-BoldOblique"))
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
1453 (size . 10.0)
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
1454 (line-height . 11.56)
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
1455 (space-width . 2.78)
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
1456 (avg-char-width . 5.09243))
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
1457 (Times
21086
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
1458 (fonts (normal . "Times-Roman")
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
1459 (bold . "Times-Bold")
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
1460 (italic . "Times-Italic")
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
1461 (bold-italic . "Times-BoldItalic"))
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
1462 (size . 10.0)
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
1463 (line-height . 11.0)
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
1464 (space-width . 2.5)
23273
519bc559e950 (ps-font-info-database): Add missing dots in value.
Andreas Schwab <schwab@suse.de>
parents: 23204
diff changeset
1465 (avg-char-width . 4.71432))
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
1466 (Palatino
21086
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
1467 (fonts (normal . "Palatino-Roman")
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
1468 (bold . "Palatino-Bold")
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
1469 (italic . "Palatino-Italic")
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
1470 (bold-italic . "Palatino-BoldItalic"))
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
1471 (size . 10.0)
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
1472 (line-height . 12.1)
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
1473 (space-width . 2.5)
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
1474 (avg-char-width . 5.08676))
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
1475 (Helvetica-Narrow
21086
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
1476 (fonts (normal . "Helvetica-Narrow")
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
1477 (bold . "Helvetica-Narrow-Bold")
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
1478 (italic . "Helvetica-Narrow-Oblique")
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
1479 (bold-italic . "Helvetica-Narrow-BoldOblique"))
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
1480 (size . 10.0)
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
1481 (line-height . 11.56)
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
1482 (space-width . 2.2796)
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
1483 (avg-char-width . 4.17579))
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
1484 (NewCenturySchlbk
21086
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
1485 (fonts (normal . "NewCenturySchlbk-Roman")
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
1486 (bold . "NewCenturySchlbk-Bold")
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
1487 (italic . "NewCenturySchlbk-Italic")
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
1488 (bold-italic . "NewCenturySchlbk-BoldItalic"))
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
1489 (size . 10.0)
23273
519bc559e950 (ps-font-info-database): Add missing dots in value.
Andreas Schwab <schwab@suse.de>
parents: 23204
diff changeset
1490 (line-height . 12.15)
21086
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
1491 (space-width . 2.78)
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
1492 (avg-char-width . 5.31162))
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
1493 ;; got no bold for the next ones
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
1494 (AvantGarde-Book
21086
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
1495 (fonts (normal . "AvantGarde-Book")
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
1496 (italic . "AvantGarde-BookOblique"))
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
1497 (size . 10.0)
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
1498 (line-height . 11.77)
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
1499 (space-width . 2.77)
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
1500 (avg-char-width . 5.45189))
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
1501 (AvantGarde-Demi
21086
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
1502 (fonts (normal . "AvantGarde-Demi")
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
1503 (italic . "AvantGarde-DemiOblique"))
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
1504 (size . 10.0)
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
1505 (line-height . 12.72)
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
1506 (space-width . 2.8)
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
1507 (avg-char-width . 5.51351))
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
1508 (Bookman-Demi
21086
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
1509 (fonts (normal . "Bookman-Demi")
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
1510 (italic . "Bookman-DemiItalic"))
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
1511 (size . 10.0)
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
1512 (line-height . 11.77)
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
1513 (space-width . 3.4)
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
1514 (avg-char-width . 6.05946))
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
1515 (Bookman-Light
21086
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
1516 (fonts (normal . "Bookman-Light")
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
1517 (italic . "Bookman-LightItalic"))
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
1518 (size . 10.0)
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
1519 (line-height . 11.79)
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
1520 (space-width . 3.2)
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
1521 (avg-char-width . 5.67027))
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
1522 ;; got no bold and no italic for the next ones
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
1523 (Symbol
21086
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
1524 (fonts (normal . "Symbol"))
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
1525 (size . 10.0)
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
1526 (line-height . 13.03)
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
1527 (space-width . 2.5)
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
1528 (avg-char-width . 3.24324))
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
1529 (Zapf-Dingbats
21086
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
1530 (fonts (normal . "Zapf-Dingbats"))
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
1531 (size . 10.0)
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
1532 (line-height . 9.63)
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
1533 (space-width . 2.78)
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
1534 (avg-char-width . 2.78))
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
1535 (Zapf-Chancery-MediumItalic
21086
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
1536 (fonts (normal . "Zapf-Chancery-MediumItalic"))
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
1537 (size . 10.0)
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
1538 (line-height . 11.45)
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
1539 (space-width . 2.2)
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
1540 (avg-char-width . 4.10811))
19445
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
1541 )
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
1542 "*Font info database: font family (the key), name, bold, italic, bold-italic,
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
1543 reference size, line height, space width, average character width.
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
1544 To get the info for another specific font (say Helvetica), do the following:
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
1545 - create a new buffer
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
1546 - generate the PostScript image to a file (C-u M-x ps-print-buffer)
20331
39baaa9c5980 Some comment and doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 20019
diff changeset
1547 - open this file and delete the leading `%' (which is the PostScript
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
1548 comment character) from the line
19445
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
1549 `% 3 cm 20 cm moveto 10 /Courier ReportFontInfo showpage'
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
1550 to get the line
19445
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
1551 `3 cm 20 cm moveto 10 /Helvetica ReportFontInfo showpage'
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
1552 - add the values to `ps-font-info-database'.
17405
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1553 You can get all the fonts of YOUR printer using `ReportAllFontInfo'."
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1554 :type '(repeat (list :tag "Font Definition"
21086
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
1555 (symbol :tag "Font Family")
23273
519bc559e950 (ps-font-info-database): Add missing dots in value.
Andreas Schwab <schwab@suse.de>
parents: 23204
diff changeset
1556 (cons :format "%v"
519bc559e950 (ps-font-info-database): Add missing dots in value.
Andreas Schwab <schwab@suse.de>
parents: 23204
diff changeset
1557 (const :format "" fonts)
519bc559e950 (ps-font-info-database): Add missing dots in value.
Andreas Schwab <schwab@suse.de>
parents: 23204
diff changeset
1558 (repeat :tag "Faces"
519bc559e950 (ps-font-info-database): Add missing dots in value.
Andreas Schwab <schwab@suse.de>
parents: 23204
diff changeset
1559 (cons (choice (const normal)
21086
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
1560 (const bold)
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
1561 (const italic)
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
1562 (const bold-italic)
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
1563 (symbol :tag "Face"))
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
1564 (string :tag "Font Name"))))
23273
519bc559e950 (ps-font-info-database): Add missing dots in value.
Andreas Schwab <schwab@suse.de>
parents: 23204
diff changeset
1565 (cons :format "%v"
519bc559e950 (ps-font-info-database): Add missing dots in value.
Andreas Schwab <schwab@suse.de>
parents: 23204
diff changeset
1566 (const :format "" size)
21086
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
1567 (number :tag "Reference Size"))
23273
519bc559e950 (ps-font-info-database): Add missing dots in value.
Andreas Schwab <schwab@suse.de>
parents: 23204
diff changeset
1568 (cons :format "%v"
519bc559e950 (ps-font-info-database): Add missing dots in value.
Andreas Schwab <schwab@suse.de>
parents: 23204
diff changeset
1569 (const :format "" line-height)
21086
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
1570 (number :tag "Line Height"))
23273
519bc559e950 (ps-font-info-database): Add missing dots in value.
Andreas Schwab <schwab@suse.de>
parents: 23204
diff changeset
1571 (cons :format "%v"
519bc559e950 (ps-font-info-database): Add missing dots in value.
Andreas Schwab <schwab@suse.de>
parents: 23204
diff changeset
1572 (const :format "" space-width)
21086
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
1573 (number :tag "Space Width"))
23273
519bc559e950 (ps-font-info-database): Add missing dots in value.
Andreas Schwab <schwab@suse.de>
parents: 23204
diff changeset
1574 (cons :format "%v"
519bc559e950 (ps-font-info-database): Add missing dots in value.
Andreas Schwab <schwab@suse.de>
parents: 23204
diff changeset
1575 (const :format "" avg-char-width)
21086
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
1576 (number :tag "Average Character Width"))))
17405
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1577 :group 'ps-print-font)
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1578
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1579 (defcustom ps-font-family 'Courier
23550
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
1580 "*Font family name for ordinary text, when generating PostScript."
17405
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1581 :type 'symbol
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1582 :group 'ps-print-font)
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1583
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1584 (defcustom ps-font-size (if ps-landscape-mode 7 8.5)
23550
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
1585 "*Font size, in points, for ordinary text, when generating PostScript."
17405
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1586 :type 'number
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1587 :group 'ps-print-font)
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1588
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1589 (defcustom ps-header-font-family 'Helvetica
23550
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
1590 "*Font family name for text in the header, when generating PostScript."
17405
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1591 :type 'symbol
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1592 :group 'ps-print-font)
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1593
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1594 (defcustom ps-header-font-size (if ps-landscape-mode 10 12)
23550
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
1595 "*Font size, in points, for text in the header, when generating PostScript."
17405
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1596 :type 'number
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1597 :group 'ps-print-font)
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1598
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1599 (defcustom ps-header-title-font-size (if ps-landscape-mode 12 14)
23550
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
1600 "*Font size, in points, for the top line of text in header, in PostScript."
17405
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1601 :type 'number
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1602 :group 'ps-print-font)
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
1603
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
1604 ;;; Colors
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
1605
19445
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
1606 ;; Printing color requires x-color-values.
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
1607 (defcustom ps-print-color-p (or (fboundp 'x-color-values) ; Emacs
20516
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
1608 (fboundp 'color-instance-rgb-components))
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
1609 ; XEmacs
17405
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1610 "*If non-nil, print the buffer's text in color."
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1611 :type 'boolean
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1612 :group 'ps-print-color)
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1613
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1614 (defcustom ps-default-fg '(0.0 0.0 0.0)
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1615 "*RGB values of the default foreground color. Defaults to black."
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1616 :type '(list (number :tag "Red") (number :tag "Green") (number :tag "Blue"))
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1617 :group 'ps-print-color)
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1618
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1619 (defcustom ps-default-bg '(1.0 1.0 1.0)
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1620 "*RGB values of the default background color. Defaults to white."
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1621 :type '(list (number :tag "Red") (number :tag "Green") (number :tag "Blue"))
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1622 :group 'ps-print-color)
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1623
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1624 (defcustom ps-auto-font-detect t
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
1625 "*Non-nil means automatically detect bold/italic face attributes.
19843
0c9342c1054d (ps-face-bold-p): Use face-bold-p.
Richard M. Stallman <rms@gnu.org>
parents: 19787
diff changeset
1626 If nil, we rely solely on the lists `ps-bold-faces', `ps-italic-faces',
17405
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1627 and `ps-underlined-faces'."
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1628 :type 'boolean
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1629 :group 'ps-print-font)
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1630
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1631 (defcustom ps-bold-faces
16870
4a5fa29f79d6 (ps-print-version): Fix value.
Richard M. Stallman <rms@gnu.org>
parents: 16361
diff changeset
1632 (unless ps-print-color-p
4a5fa29f79d6 (ps-print-version): Fix value.
Richard M. Stallman <rms@gnu.org>
parents: 16361
diff changeset
1633 '(font-lock-function-name-face
4a5fa29f79d6 (ps-print-version): Fix value.
Richard M. Stallman <rms@gnu.org>
parents: 16361
diff changeset
1634 font-lock-builtin-face
4a5fa29f79d6 (ps-print-version): Fix value.
Richard M. Stallman <rms@gnu.org>
parents: 16361
diff changeset
1635 font-lock-variable-name-face
4a5fa29f79d6 (ps-print-version): Fix value.
Richard M. Stallman <rms@gnu.org>
parents: 16361
diff changeset
1636 font-lock-keyword-face
4a5fa29f79d6 (ps-print-version): Fix value.
Richard M. Stallman <rms@gnu.org>
parents: 16361
diff changeset
1637 font-lock-warning-face))
10493
ed52763e77d6 entered into RCS
Richard M. Stallman <rms@gnu.org>
parents: 10492
diff changeset
1638 "*A list of the \(non-bold\) faces that should be printed in bold font.
20331
39baaa9c5980 Some comment and doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 20019
diff changeset
1639 This applies to generating PostScript."
17405
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1640 :type '(repeat face)
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1641 :group 'ps-print-face)
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1642
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1643 (defcustom ps-italic-faces
16870
4a5fa29f79d6 (ps-print-version): Fix value.
Richard M. Stallman <rms@gnu.org>
parents: 16361
diff changeset
1644 (unless ps-print-color-p
4a5fa29f79d6 (ps-print-version): Fix value.
Richard M. Stallman <rms@gnu.org>
parents: 16361
diff changeset
1645 '(font-lock-variable-name-face
20331
39baaa9c5980 Some comment and doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 20019
diff changeset
1646 font-lock-type-face
16870
4a5fa29f79d6 (ps-print-version): Fix value.
Richard M. Stallman <rms@gnu.org>
parents: 16361
diff changeset
1647 font-lock-string-face
4a5fa29f79d6 (ps-print-version): Fix value.
Richard M. Stallman <rms@gnu.org>
parents: 16361
diff changeset
1648 font-lock-comment-face
4a5fa29f79d6 (ps-print-version): Fix value.
Richard M. Stallman <rms@gnu.org>
parents: 16361
diff changeset
1649 font-lock-warning-face))
10493
ed52763e77d6 entered into RCS
Richard M. Stallman <rms@gnu.org>
parents: 10492
diff changeset
1650 "*A list of the \(non-italic\) faces that should be printed in italic font.
20331
39baaa9c5980 Some comment and doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 20019
diff changeset
1651 This applies to generating PostScript."
17405
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1652 :type '(repeat face)
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1653 :group 'ps-print-face)
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1654
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1655 (defcustom ps-underlined-faces
16870
4a5fa29f79d6 (ps-print-version): Fix value.
Richard M. Stallman <rms@gnu.org>
parents: 16361
diff changeset
1656 (unless ps-print-color-p
4a5fa29f79d6 (ps-print-version): Fix value.
Richard M. Stallman <rms@gnu.org>
parents: 16361
diff changeset
1657 '(font-lock-function-name-face
20953
f3f9df46d008 Changed font-lock-reference-face to font-lock-constant-face.
Simon Marshall <simon@gnu.org>
parents: 20516
diff changeset
1658 font-lock-constant-face
16870
4a5fa29f79d6 (ps-print-version): Fix value.
Richard M. Stallman <rms@gnu.org>
parents: 16361
diff changeset
1659 font-lock-warning-face))
10493
ed52763e77d6 entered into RCS
Richard M. Stallman <rms@gnu.org>
parents: 10492
diff changeset
1660 "*A list of the \(non-underlined\) faces that should be printed underlined.
20331
39baaa9c5980 Some comment and doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 20019
diff changeset
1661 This applies to generating PostScript."
17405
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1662 :type '(repeat face)
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1663 :group 'ps-print-face)
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1664
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1665 (defcustom ps-left-header
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
1666 (list 'ps-get-buffer-name 'ps-header-dirpart)
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
1667 "*The items to display (each on a line) on the left part of the page header.
20331
39baaa9c5980 Some comment and doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 20019
diff changeset
1668 This applies to generating PostScript.
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
1669
10493
ed52763e77d6 entered into RCS
Richard M. Stallman <rms@gnu.org>
parents: 10492
diff changeset
1670 The value should be a list of strings and symbols, each representing an
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
1671 entry in the PostScript array HeaderLinesLeft.
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
1672
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
1673 Strings are inserted unchanged into the array; those representing
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
1674 PostScript string literals should be delimited with PostScript string
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
1675 delimiters '(' and ')'.
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
1676
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
1677 For symbols with bound functions, the function is called and should
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
1678 return a string to be inserted into the array. For symbols with bound
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
1679 values, the value should be a string to be inserted into the array.
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
1680 In either case, function or variable, the string value has PostScript
17405
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1681 string delimiters added to it."
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1682 :type '(repeat (choice string symbol))
17681
59c4c8125906 Quote :group names.
Simon Marshall <simon@gnu.org>
parents: 17588
diff changeset
1683 :group 'ps-print-header)
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
1684 (make-variable-buffer-local 'ps-left-header)
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
1685
17405
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1686 (defcustom ps-right-header
16870
4a5fa29f79d6 (ps-print-version): Fix value.
Richard M. Stallman <rms@gnu.org>
parents: 16361
diff changeset
1687 (list "/pagenumberstring load" 'time-stamp-mon-dd-yyyy 'time-stamp-hh:mm:ss)
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
1688 "*The items to display (each on a line) on the right part of the page header.
20331
39baaa9c5980 Some comment and doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 20019
diff changeset
1689 This applies to generating PostScript.
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
1690
10493
ed52763e77d6 entered into RCS
Richard M. Stallman <rms@gnu.org>
parents: 10492
diff changeset
1691 See the variable `ps-left-header' for a description of the format of
17405
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1692 this variable."
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1693 :type '(repeat (choice string symbol))
17681
59c4c8125906 Quote :group names.
Simon Marshall <simon@gnu.org>
parents: 17588
diff changeset
1694 :group 'ps-print-header)
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
1695 (make-variable-buffer-local 'ps-right-header)
7257
3759ad84023b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1696
17405
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1697 (defcustom ps-razzle-dazzle t
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1698 "*Non-nil means report progress while formatting buffer."
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1699 :type 'boolean
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1700 :group 'ps-print)
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
1701
19773
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
1702 (defcustom ps-adobe-tag "%!PS-Adobe-3.0\n"
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
1703 "*Contains the header line identifying the output as PostScript.
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
1704 By default, `ps-adobe-tag' contains the standard identifier. Some
19773
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
1705 printers require slightly different versions of this line."
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
1706 :type 'string
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
1707 :group 'ps-print)
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
1708
17405
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1709 (defcustom ps-build-face-reference t
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
1710 "*Non-nil means build the reference face lists.
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
1711
23550
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
1712 ps-print sets this value to nil after it builds its internal reference
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
1713 lists of bold and italic faces. By settings its value back to t, you
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
1714 can force ps-print to rebuild the lists the next time you invoke one
10493
ed52763e77d6 entered into RCS
Richard M. Stallman <rms@gnu.org>
parents: 10492
diff changeset
1715 of the ...-with-faces commands.
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
1716
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
1717 You should set this value back to t after you change the attributes of
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
1718 any face, or create new faces. Most users shouldn't have to worry
17405
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1719 about its setting, though."
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1720 :type 'boolean
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1721 :group 'ps-print-face)
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1722
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1723 (defcustom ps-always-build-face-reference nil
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
1724 "*Non-nil means always rebuild the reference face lists.
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
1725
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
1726 If this variable is non-nil, ps-print will rebuild its internal
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
1727 reference lists of bold and italic faces *every* time one of the
21955
c4de7c7bc14a (ps-header-title-font-size): Doc fix.
Richard M. Stallman <rms@gnu.org>
parents: 21954
diff changeset
1728 ...-with-faces commands is called. Most users shouldn't need to set this
17405
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1729 variable."
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1730 :type 'boolean
1c2363f760ef Add defgroup's; change use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents: 17377
diff changeset
1731 :group 'ps-print-face)
7257
3759ad84023b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1732
3759ad84023b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1733 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
1734 ;; User commands
7257
3759ad84023b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1735
10683
64e6021d0ba0 Various changes.
Richard M. Stallman <rms@gnu.org>
parents: 10493
diff changeset
1736 ;;;###autoload
7257
3759ad84023b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1737 (defun ps-print-buffer (&optional filename)
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
1738 "Generate and print a PostScript image of the buffer.
7257
3759ad84023b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1739
23466
fa40617f5902 (ps-print-buffer): Doc fix.
Richard M. Stallman <rms@gnu.org>
parents: 23310
diff changeset
1740 Interactively, when you use a prefix argument (C-u), the command
fa40617f5902 (ps-print-buffer): Doc fix.
Richard M. Stallman <rms@gnu.org>
parents: 23310
diff changeset
1741 prompts the user for a file name, and saves the PostScript image
fa40617f5902 (ps-print-buffer): Doc fix.
Richard M. Stallman <rms@gnu.org>
parents: 23310
diff changeset
1742 in that file instead of sending it to the printer.
fa40617f5902 (ps-print-buffer): Doc fix.
Richard M. Stallman <rms@gnu.org>
parents: 23310
diff changeset
1743
fa40617f5902 (ps-print-buffer): Doc fix.
Richard M. Stallman <rms@gnu.org>
parents: 23310
diff changeset
1744 Noninteractively, the argument FILENAME is treated as follows: if it
7257
3759ad84023b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1745 is nil, send the image to the printer. If FILENAME is a string, save
23468
969f4c2e38c0 (ps-print-buffer): Doc fix.
Richard M. Stallman <rms@gnu.org>
parents: 23466
diff changeset
1746 the PostScript image in a file with that name."
10683
64e6021d0ba0 Various changes.
Richard M. Stallman <rms@gnu.org>
parents: 10493
diff changeset
1747 (interactive (list (ps-print-preprint current-prefix-arg)))
19445
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
1748 (ps-print-without-faces (point-min) (point-max) filename))
7257
3759ad84023b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1749
3759ad84023b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1750
10683
64e6021d0ba0 Various changes.
Richard M. Stallman <rms@gnu.org>
parents: 10493
diff changeset
1751 ;;;###autoload
7257
3759ad84023b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1752 (defun ps-print-buffer-with-faces (&optional filename)
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
1753 "Generate and print a PostScript image of the buffer.
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
1754 Like `ps-print-buffer', but includes font, color, and underline
13807
2042acfaf58b Doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 12769
diff changeset
1755 information in the generated image. This command works only if you
2042acfaf58b Doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 12769
diff changeset
1756 are using a window system, so it has a way to determine color values."
10683
64e6021d0ba0 Various changes.
Richard M. Stallman <rms@gnu.org>
parents: 10493
diff changeset
1757 (interactive (list (ps-print-preprint current-prefix-arg)))
19445
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
1758 (ps-print-with-faces (point-min) (point-max) filename))
7257
3759ad84023b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1759
3759ad84023b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1760
10683
64e6021d0ba0 Various changes.
Richard M. Stallman <rms@gnu.org>
parents: 10493
diff changeset
1761 ;;;###autoload
7257
3759ad84023b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1762 (defun ps-print-region (from to &optional filename)
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
1763 "Generate and print a PostScript image of the region.
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
1764 Like `ps-print-buffer', but prints just the current region."
10683
64e6021d0ba0 Various changes.
Richard M. Stallman <rms@gnu.org>
parents: 10493
diff changeset
1765 (interactive (list (point) (mark) (ps-print-preprint current-prefix-arg)))
19773
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
1766 (ps-print-without-faces from to filename t))
7257
3759ad84023b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1767
3759ad84023b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1768
10683
64e6021d0ba0 Various changes.
Richard M. Stallman <rms@gnu.org>
parents: 10493
diff changeset
1769 ;;;###autoload
7257
3759ad84023b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1770 (defun ps-print-region-with-faces (from to &optional filename)
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
1771 "Generate and print a PostScript image of the region.
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
1772 Like `ps-print-region', but includes font, color, and underline
13807
2042acfaf58b Doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 12769
diff changeset
1773 information in the generated image. This command works only if you
2042acfaf58b Doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 12769
diff changeset
1774 are using a window system, so it has a way to determine color values."
10683
64e6021d0ba0 Various changes.
Richard M. Stallman <rms@gnu.org>
parents: 10493
diff changeset
1775 (interactive (list (point) (mark) (ps-print-preprint current-prefix-arg)))
19773
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
1776 (ps-print-with-faces from to filename t))
7257
3759ad84023b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1777
3759ad84023b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1778
10683
64e6021d0ba0 Various changes.
Richard M. Stallman <rms@gnu.org>
parents: 10493
diff changeset
1779 ;;;###autoload
7257
3759ad84023b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1780 (defun ps-spool-buffer ()
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
1781 "Generate and spool a PostScript image of the buffer.
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
1782 Like `ps-print-buffer' except that the PostScript image is saved in a
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
1783 local buffer to be sent to the printer later.
7257
3759ad84023b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1784
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
1785 Use the command `ps-despool' to send the spooled images to the printer."
7257
3759ad84023b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1786 (interactive)
19445
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
1787 (ps-spool-without-faces (point-min) (point-max)))
7257
3759ad84023b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1788
3759ad84023b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1789
10683
64e6021d0ba0 Various changes.
Richard M. Stallman <rms@gnu.org>
parents: 10493
diff changeset
1790 ;;;###autoload
7257
3759ad84023b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1791 (defun ps-spool-buffer-with-faces ()
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
1792 "Generate and spool a PostScript image of the buffer.
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
1793 Like `ps-spool-buffer', but includes font, color, and underline
13807
2042acfaf58b Doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 12769
diff changeset
1794 information in the generated image. This command works only if you
13828
612d7bd4b5d1 (ps-spool-buffer-with-faces): Fix typo in previous chg.
Richard M. Stallman <rms@gnu.org>
parents: 13807
diff changeset
1795 are using a window system, so it has a way to determine color values.
7257
3759ad84023b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1796
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
1797 Use the command `ps-despool' to send the spooled images to the printer."
7257
3759ad84023b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1798 (interactive)
19445
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
1799 (ps-spool-with-faces (point-min) (point-max)))
7257
3759ad84023b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1800
3759ad84023b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1801
10683
64e6021d0ba0 Various changes.
Richard M. Stallman <rms@gnu.org>
parents: 10493
diff changeset
1802 ;;;###autoload
7257
3759ad84023b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1803 (defun ps-spool-region (from to)
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
1804 "Generate a PostScript image of the region and spool locally.
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
1805 Like `ps-spool-buffer', but spools just the current region.
7257
3759ad84023b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1806
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
1807 Use the command `ps-despool' to send the spooled images to the printer."
7257
3759ad84023b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1808 (interactive "r")
19773
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
1809 (ps-spool-without-faces from to t))
7257
3759ad84023b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1810
3759ad84023b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1811
10683
64e6021d0ba0 Various changes.
Richard M. Stallman <rms@gnu.org>
parents: 10493
diff changeset
1812 ;;;###autoload
7257
3759ad84023b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1813 (defun ps-spool-region-with-faces (from to)
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
1814 "Generate a PostScript image of the region and spool locally.
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
1815 Like `ps-spool-region', but includes font, color, and underline
13807
2042acfaf58b Doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 12769
diff changeset
1816 information in the generated image. This command works only if you
13828
612d7bd4b5d1 (ps-spool-buffer-with-faces): Fix typo in previous chg.
Richard M. Stallman <rms@gnu.org>
parents: 13807
diff changeset
1817 are using a window system, so it has a way to determine color values.
7257
3759ad84023b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1818
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
1819 Use the command `ps-despool' to send the spooled images to the printer."
7257
3759ad84023b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1820 (interactive "r")
19773
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
1821 (ps-spool-with-faces from to t))
7257
3759ad84023b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1822
10683
64e6021d0ba0 Various changes.
Richard M. Stallman <rms@gnu.org>
parents: 10493
diff changeset
1823 ;;;###autoload
7257
3759ad84023b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1824 (defun ps-despool (&optional filename)
3759ad84023b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1825 "Send the spooled PostScript to the printer.
3759ad84023b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1826
23468
969f4c2e38c0 (ps-print-buffer): Doc fix.
Richard M. Stallman <rms@gnu.org>
parents: 23466
diff changeset
1827 Interactively, when you use a prefix argument (C-u), the command
969f4c2e38c0 (ps-print-buffer): Doc fix.
Richard M. Stallman <rms@gnu.org>
parents: 23466
diff changeset
1828 prompts the user for a file name, and saves the spooled PostScript
969f4c2e38c0 (ps-print-buffer): Doc fix.
Richard M. Stallman <rms@gnu.org>
parents: 23466
diff changeset
1829 image in that file instead of sending it to the printer.
7257
3759ad84023b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1830
3759ad84023b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1831 More specifically, the FILENAME argument is treated as follows: if it
3759ad84023b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1832 is nil, send the image to the printer. If FILENAME is a string, save
23468
969f4c2e38c0 (ps-print-buffer): Doc fix.
Richard M. Stallman <rms@gnu.org>
parents: 23466
diff changeset
1833 the PostScript image in a file with that name."
10683
64e6021d0ba0 Various changes.
Richard M. Stallman <rms@gnu.org>
parents: 10493
diff changeset
1834 (interactive (list (ps-print-preprint current-prefix-arg)))
64e6021d0ba0 Various changes.
Richard M. Stallman <rms@gnu.org>
parents: 10493
diff changeset
1835 (ps-do-despool filename))
7257
3759ad84023b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1836
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
1837 ;;;###autoload
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
1838 (defun ps-line-lengths ()
19879
87952270ceeb (ps-emacs-face-kind-p): Function deleted.
Richard M. Stallman <rms@gnu.org>
parents: 19843
diff changeset
1839 "Display the correspondence between a line length and a font size,
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
1840 using the current ps-print setup.
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
1841 Try: pr -t file | awk '{printf \"%3d %s\n\", length($0), $0}' | sort -r | head"
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
1842 (interactive)
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
1843 (ps-line-lengths-internal))
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
1844
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
1845 ;;;###autoload
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
1846 (defun ps-nb-pages-buffer (nb-lines)
19879
87952270ceeb (ps-emacs-face-kind-p): Function deleted.
Richard M. Stallman <rms@gnu.org>
parents: 19843
diff changeset
1847 "Display number of pages to print this buffer, for various font heights.
87952270ceeb (ps-emacs-face-kind-p): Function deleted.
Richard M. Stallman <rms@gnu.org>
parents: 19843
diff changeset
1848 The table depends on the current ps-print setup."
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
1849 (interactive (list (count-lines (point-min) (point-max))))
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
1850 (ps-nb-pages nb-lines))
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
1851
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
1852 ;;;###autoload
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
1853 (defun ps-nb-pages-region (nb-lines)
19879
87952270ceeb (ps-emacs-face-kind-p): Function deleted.
Richard M. Stallman <rms@gnu.org>
parents: 19843
diff changeset
1854 "Display number of pages to print the region, for various font heights.
87952270ceeb (ps-emacs-face-kind-p): Function deleted.
Richard M. Stallman <rms@gnu.org>
parents: 19843
diff changeset
1855 The table depends on the current ps-print setup."
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
1856 (interactive (list (count-lines (mark) (point))))
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
1857 (ps-nb-pages nb-lines))
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
1858
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
1859 ;;;###autoload
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
1860 (defun ps-setup ()
21955
c4de7c7bc14a (ps-header-title-font-size): Doc fix.
Richard M. Stallman <rms@gnu.org>
parents: 21954
diff changeset
1861 "Return the current PostScript-generation setup."
19773
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
1862 (format
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
1863 "
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
1864 \(setq ps-print-color-p %s
23550
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
1865 ps-lpr-command %S
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
1866 ps-lpr-switches %S
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
1867 ps-printer-name %S
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
1868
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
1869 ps-paper-type %S
20331
39baaa9c5980 Some comment and doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 20019
diff changeset
1870 ps-landscape-mode %s
39baaa9c5980 Some comment and doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 20019
diff changeset
1871 ps-number-of-columns %s
39baaa9c5980 Some comment and doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 20019
diff changeset
1872
39baaa9c5980 Some comment and doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 20019
diff changeset
1873 ps-zebra-stripes %s
19787
4ea00387fb08 (ps-setup): ps-zebra-stripe => ps-zebra-stripes.
Richard M. Stallman <rms@gnu.org>
parents: 19773
diff changeset
1874 ps-zebra-stripe-height %s
20331
39baaa9c5980 Some comment and doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 20019
diff changeset
1875 ps-line-number %s
19773
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
1876
23550
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
1877 ps-print-control-characters %S
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
1878
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
1879 ps-print-background-image %S
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
1880
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
1881 ps-print-background-text %S
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
1882
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
1883 ps-print-prologue-header %S
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
1884
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
1885 ps-left-margin %s
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
1886 ps-right-margin %s
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
1887 ps-inter-column %s
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
1888 ps-bottom-margin %s
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
1889 ps-top-margin %s
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
1890 ps-header-offset %s
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
1891 ps-header-line-pad %s
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
1892 ps-print-header %s
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
1893 ps-print-only-one-header %s
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
1894 ps-print-header-frame %s
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
1895 ps-header-lines %s
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
1896 ps-show-n-of-n %s
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
1897 ps-spool-duplex %s
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
1898
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
1899 ps-multibyte-buffer %S
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
1900 ps-font-family %S
19773
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
1901 ps-font-size %s
23550
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
1902 ps-header-font-family %S
19773
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
1903 ps-header-font-size %s
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
1904 ps-header-title-font-size %s)
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
1905 "
19773
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
1906 ps-print-color-p
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
1907 ps-lpr-command
23550
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
1908 (ps-print-quote ps-lpr-switches)
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
1909 ps-printer-name
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
1910 (ps-print-quote ps-paper-type)
19773
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
1911 ps-landscape-mode
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
1912 ps-number-of-columns
19787
4ea00387fb08 (ps-setup): ps-zebra-stripe => ps-zebra-stripes.
Richard M. Stallman <rms@gnu.org>
parents: 19773
diff changeset
1913 ps-zebra-stripes
4ea00387fb08 (ps-setup): ps-zebra-stripe => ps-zebra-stripes.
Richard M. Stallman <rms@gnu.org>
parents: 19773
diff changeset
1914 ps-zebra-stripe-height
19773
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
1915 ps-line-number
23550
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
1916 (ps-print-quote ps-print-control-characters)
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
1917 (ps-print-quote ps-print-background-image)
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
1918 (ps-print-quote ps-print-background-text)
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
1919 (ps-print-quote ps-print-prologue-header)
19773
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
1920 ps-left-margin
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
1921 ps-right-margin
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
1922 ps-inter-column
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
1923 ps-bottom-margin
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
1924 ps-top-margin
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
1925 ps-header-offset
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
1926 ps-header-line-pad
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
1927 ps-print-header
23550
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
1928 ps-print-only-one-header
19773
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
1929 ps-print-header-frame
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
1930 ps-header-lines
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
1931 ps-show-n-of-n
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
1932 ps-spool-duplex
23550
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
1933 (ps-print-quote ps-multibyte-buffer)
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
1934 (ps-print-quote ps-font-family)
19773
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
1935 ps-font-size
23550
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
1936 (ps-print-quote ps-header-font-family)
19773
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
1937 ps-header-font-size
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
1938 ps-header-title-font-size))
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
1939
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
1940 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
1941 ;; Utility functions and variables:
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
1942
23550
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
1943 (defun ps-print-quote (sym)
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
1944 (and sym
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
1945 (if (or (symbolp sym) (listp sym))
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
1946 (format "'%S" sym)
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
1947 sym)))
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
1948
12769
4a905565cfa6 (ps-print-emacs-type): Renamed from emacs-type.
Richard M. Stallman <rms@gnu.org>
parents: 12768
diff changeset
1949 (defvar ps-print-emacs-type
4a905565cfa6 (ps-print-emacs-type): Renamed from emacs-type.
Richard M. Stallman <rms@gnu.org>
parents: 12768
diff changeset
1950 (cond ((string-match "XEmacs" emacs-version) 'xemacs)
4a905565cfa6 (ps-print-emacs-type): Renamed from emacs-type.
Richard M. Stallman <rms@gnu.org>
parents: 12768
diff changeset
1951 ((string-match "Lucid" emacs-version) 'lucid)
4a905565cfa6 (ps-print-emacs-type): Renamed from emacs-type.
Richard M. Stallman <rms@gnu.org>
parents: 12768
diff changeset
1952 ((string-match "Epoch" emacs-version) 'epoch)
4a905565cfa6 (ps-print-emacs-type): Renamed from emacs-type.
Richard M. Stallman <rms@gnu.org>
parents: 12768
diff changeset
1953 (t 'emacs)))
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
1954
12769
4a905565cfa6 (ps-print-emacs-type): Renamed from emacs-type.
Richard M. Stallman <rms@gnu.org>
parents: 12768
diff changeset
1955 (if (or (eq ps-print-emacs-type 'lucid)
4a905565cfa6 (ps-print-emacs-type): Renamed from emacs-type.
Richard M. Stallman <rms@gnu.org>
parents: 12768
diff changeset
1956 (eq ps-print-emacs-type 'xemacs))
11799
4a04c7799790 Miscellaneous fixes for better compatibility with
Karl Heuer <kwzh@gnu.org>
parents: 10738
diff changeset
1957 (if (< emacs-minor-version 12)
4a04c7799790 Miscellaneous fixes for better compatibility with
Karl Heuer <kwzh@gnu.org>
parents: 10738
diff changeset
1958 (setq ps-print-color-p nil))
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
1959 (require 'faces)) ; face-font, face-underline-p,
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
1960 ; x-font-regexp
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
1961
20516
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
1962 ;; Return t if the device (which can be changed during an emacs session)
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
1963 ;; can handle colors.
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
1964 ;; This is function is not yet implemented for GNU emacs.
23091
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
1965 (cond ((and (eq ps-print-emacs-type 'xemacs)
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
1966 (>= emacs-minor-version 12)) ; xemacs
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
1967 (defun ps-color-device ()
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
1968 (eq (device-class) 'color))
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
1969 )
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
1970
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
1971 (t ; emacs
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
1972 (defun ps-color-device ()
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
1973 t)
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
1974 ))
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
1975
20516
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
1976
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
1977 (require 'time-stamp)
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
1978
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
1979 (defvar ps-print-prologue-1
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
1980 "% ISOLatin1Encoding stolen from ps_init.ps in GhostScript 2.6.1.4:
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
1981 /ISOLatin1Encoding where { pop } {
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
1982 % -- The ISO Latin-1 encoding vector isn't known, so define it.
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
1983 % -- The first half is the same as the standard encoding,
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
1984 % -- except for minus instead of hyphen at code 055.
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
1985 /ISOLatin1Encoding
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
1986 StandardEncoding 0 45 getinterval aload pop
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
1987 /minus
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
1988 StandardEncoding 46 82 getinterval aload pop
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
1989 %*** NOTE: the following are missing in the Adobe documentation,
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
1990 %*** but appear in the displayed table:
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
1991 %*** macron at 0225, dieresis at 0230, cedilla at 0233, space at 0240.
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
1992 % 0200 (128)
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
1993 /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
1994 /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
1995 /dotlessi /grave /acute /circumflex /tilde /macron /breve /dotaccent
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
1996 /dieresis /.notdef /ring /cedilla /.notdef /hungarumlaut /ogonek /caron
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
1997 % 0240 (160)
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
1998 /space /exclamdown /cent /sterling
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
1999 /currency /yen /brokenbar /section
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2000 /dieresis /copyright /ordfeminine /guillemotleft
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2001 /logicalnot /hyphen /registered /macron
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2002 /degree /plusminus /twosuperior /threesuperior
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2003 /acute /mu /paragraph /periodcentered
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2004 /cedilla /onesuperior /ordmasculine /guillemotright
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2005 /onequarter /onehalf /threequarters /questiondown
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2006 % 0300 (192)
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2007 /Agrave /Aacute /Acircumflex /Atilde
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2008 /Adieresis /Aring /AE /Ccedilla
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2009 /Egrave /Eacute /Ecircumflex /Edieresis
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2010 /Igrave /Iacute /Icircumflex /Idieresis
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2011 /Eth /Ntilde /Ograve /Oacute
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2012 /Ocircumflex /Otilde /Odieresis /multiply
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2013 /Oslash /Ugrave /Uacute /Ucircumflex
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2014 /Udieresis /Yacute /Thorn /germandbls
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2015 % 0340 (224)
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2016 /agrave /aacute /acircumflex /atilde
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2017 /adieresis /aring /ae /ccedilla
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2018 /egrave /eacute /ecircumflex /edieresis
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2019 /igrave /iacute /icircumflex /idieresis
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2020 /eth /ntilde /ograve /oacute
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2021 /ocircumflex /otilde /odieresis /divide
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2022 /oslash /ugrave /uacute /ucircumflex
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2023 /udieresis /yacute /thorn /ydieresis
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2024 256 packedarray def
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2025 } ifelse
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2026
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2027 /reencodeFontISO { %def
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2028 dup
19445
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2029 length 12 add dict % Make a new font (a new dict the same size
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2030 % as the old one) with room for our new symbols.
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2031
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2032 begin % Make the new font the current dictionary.
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2033
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2034
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2035 { 1 index /FID ne
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2036 { def } { pop pop } ifelse
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2037 } forall % Copy each of the symbols from the old dictionary
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2038 % to the new one except for the font ID.
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2039
21086
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
2040 currentdict /FontType get 0 ne {
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
2041 /Encoding ISOLatin1Encoding def % Override the encoding with
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2042 % the ISOLatin1 encoding.
21086
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
2043 } if
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2044
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2045 % Use the font's bounding box to determine the ascent, descent,
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2046 % and overall height; don't forget that these values have to be
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2047 % transformed using the font's matrix.
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2048
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2049 % ^ (x2 y2)
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2050 % | |
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2051 % | v
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2052 % | +----+ - -
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2053 % | | | ^
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2054 % | | | | Ascent (usually > 0)
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2055 % | | | |
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2056 % (0 0) -> +--+----+-------->
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2057 % | | |
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2058 % | | v Descent (usually < 0)
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2059 % (x1 y1) --> +----+ - -
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2060
21086
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
2061 currentdict /FontType get 0 ne {
23091
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
2062 /FontBBox load aload pop % -- x1 y1 x2 y2
21086
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
2063 FontMatrix transform /Ascent exch def pop
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
2064 FontMatrix transform /Descent exch def pop
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
2065 } {
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
2066 /PrimaryFont FDepVector 0 get def
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
2067 PrimaryFont /FontBBox get aload pop
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
2068 PrimaryFont /FontMatrix get transform /Ascent exch def pop
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
2069 PrimaryFont /FontMatrix get transform /Descent exch def pop
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
2070 } ifelse
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
2071
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2072 /FontHeight Ascent Descent sub def % use `sub' because descent < 0
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2073
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2074 % Define these in case they're not in the FontInfo
19445
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2075 % (also, here they're easier to get to).
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2076 /UnderlinePosition Descent 0.70 mul def
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2077 /OverlinePosition Descent UnderlinePosition sub Ascent add def
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2078 /StrikeoutPosition Ascent 0.30 mul def
23091
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
2079 /LineThickness FontHeight 0.05 mul def
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
2080 /Xshadow FontHeight 0.08 mul def
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
2081 /Yshadow FontHeight -0.09 mul def
19445
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2082 /SpaceBackground Descent neg UnderlinePosition add def
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2083 /XBox Descent neg def
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2084 /YBox LineThickness 0.7 mul def
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2085
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2086 currentdict % Leave the new font on the stack
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2087 end % Stop using the font as the current dictionary.
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2088 definefont % Put the font into the font dictionary
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2089 pop % Discard the returned font.
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2090 } bind def
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2091
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2092 /DefFont { % Font definition
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2093 findfont exch scalefont reencodeFontISO
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2094 } def
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2095
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2096 /F { % Font selection
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2097 findfont
19445
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2098 dup /Ascent get /Ascent exch def
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2099 dup /Descent get /Descent exch def
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2100 dup /FontHeight get /FontHeight exch def
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2101 dup /UnderlinePosition get /UnderlinePosition exch def
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2102 dup /OverlinePosition get /OverlinePosition exch def
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2103 dup /StrikeoutPosition get /StrikeoutPosition exch def
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2104 dup /LineThickness get /LineThickness exch def
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2105 dup /Xshadow get /Xshadow exch def
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2106 dup /Yshadow get /Yshadow exch def
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2107 dup /SpaceBackground get /SpaceBackground exch def
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2108 dup /XBox get /XBox exch def
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2109 dup /YBox get /YBox exch def
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2110 setfont
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2111 } def
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2112
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2113 /FG /setrgbcolor load def
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2114
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2115 /bg false def
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2116 /BG {
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2117 dup /bg exch def
19445
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2118 {mark 4 1 roll ]}
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2119 {[ 1.0 1.0 1.0 ]}
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2120 ifelse
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2121 /bgcolor exch def
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2122 } def
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2123
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2124 % B width C
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2125 % +-----------+
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2126 % | Ascent (usually > 0)
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2127 % A + +
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2128 % | Descent (usually < 0)
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2129 % +-----------+
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2130 % E width D
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2131
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2132 /dobackground { % width --
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2133 currentpoint % -- width x y
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2134 gsave
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2135 newpath
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2136 moveto % A (x y)
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2137 0 Ascent rmoveto % B
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2138 dup 0 rlineto % C
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2139 0 Descent Ascent sub rlineto % D
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2140 neg 0 rlineto % E
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2141 closepath
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2142 bgcolor aload pop setrgbcolor
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2143 fill
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2144 grestore
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2145 } def
7257
3759ad84023b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2146
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2147 /eolbg { % dobackground until right margin
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2148 PrintWidth % -- x-eol
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2149 currentpoint pop % -- cur-x
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2150 sub % -- width until eol
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2151 dobackground
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2152 } def
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2153
19445
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2154 /PLN {PrintLineNumber {doLineNumber}if} def
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2155
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2156 /SL { % Soft Linefeed
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2157 bg { eolbg } if
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2158 0 currentpoint exch pop LineHeight sub moveto
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2159 } def
7257
3759ad84023b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2160
19445
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2161 /HL {SL PLN} def % Hard Linefeed
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2162
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2163 % Some debug
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2164 /dcp { currentpoint exch 40 string cvs print (, ) print = } def
19445
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2165 /dp { print 2 copy exch 40 string cvs print (, ) print = } def
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2166
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2167 /W {
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2168 ( ) stringwidth % Get the width of a space in the current font.
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2169 pop % Discard the Y component.
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2170 mul % Multiply the width of a space
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2171 % by the number of spaces to plot
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2172 bg { dup dobackground } if
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2173 0 rmoveto
19445
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2174 } def
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2175
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2176 /Effect 0 def
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2177 /EF {/Effect exch def} def
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2178
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2179 % stack: string |- --
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2180 % effect: 1 - underline 2 - strikeout 4 - overline
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2181 % 8 - shadow 16 - box 32 - outline
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2182 /S {
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2183 /xx currentpoint dup Descent add /yy exch def
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2184 Ascent add /YY exch def def
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2185 dup stringwidth pop xx add /XX exch def
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2186 Effect 8 and 0 ne {
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2187 /yy yy Yshadow add def
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2188 /XX XX Xshadow add def
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2189 } if
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2190 bg {
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2191 true
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2192 Effect 16 and 0 ne
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2193 {SpaceBackground doBox}
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2194 {xx yy XX YY doRect}
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2195 ifelse
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2196 } if % background
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2197 Effect 16 and 0 ne {false 0 doBox}if % box
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2198 Effect 8 and 0 ne {dup doShadow}if % shadow
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2199 Effect 32 and 0 ne
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2200 {true doOutline} % outline
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2201 {show} % normal text
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2202 ifelse
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2203 Effect 1 and 0 ne {UnderlinePosition Hline}if % underline
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2204 Effect 2 and 0 ne {StrikeoutPosition Hline}if % strikeout
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2205 Effect 4 and 0 ne {OverlinePosition Hline}if % overline
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2206 } bind def
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2207
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2208 % stack: position |- --
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2209 /Hline {
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2210 currentpoint exch pop add dup
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2211 gsave
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2212 newpath
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2213 xx exch moveto
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2214 XX exch lineto
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2215 closepath
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2216 LineThickness setlinewidth stroke
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2217 grestore
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2218 } bind def
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2219
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2220 % stack: fill-or-not delta |- --
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2221 /doBox {
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2222 /dd exch def
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2223 xx XBox sub dd sub yy YBox sub dd sub
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2224 XX XBox add dd add YY YBox add dd add
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2225 doRect
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2226 } bind def
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2227
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2228 % stack: fill-or-not lower-x lower-y upper-x upper-y |- --
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2229 /doRect {
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2230 /rYY exch def
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2231 /rXX exch def
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2232 /ryy exch def
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2233 /rxx exch def
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2234 gsave
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2235 newpath
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2236 rXX rYY moveto
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2237 rxx rYY lineto
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2238 rxx ryy lineto
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2239 rXX ryy lineto
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2240 closepath
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2241 % top of stack: fill-or-not
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2242 {FillBgColor}
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2243 {LineThickness setlinewidth stroke}
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2244 ifelse
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2245 grestore
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2246 } bind def
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2247
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2248 % stack: string |- --
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2249 /doShadow {
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2250 gsave
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2251 Xshadow Yshadow rmoveto
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2252 false doOutline
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2253 grestore
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2254 } bind def
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2255
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2256 /st 1 string def
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2257
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2258 % stack: string fill-or-not |- --
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2259 /doOutline {
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2260 /-fillp- exch def
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2261 /-ox- currentpoint /-oy- exch def def
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2262 gsave
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2263 LineThickness setlinewidth
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2264 {
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2265 st 0 3 -1 roll put
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2266 st dup true charpath
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2267 -fillp- {gsave FillBgColor grestore}if
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2268 stroke stringwidth
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2269 -oy- add /-oy- exch def
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2270 -ox- add /-ox- exch def
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2271 -ox- -oy- moveto
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2272 } forall
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2273 grestore
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2274 -ox- -oy- moveto
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2275 } bind def
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2276
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2277 % stack: --
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2278 /FillBgColor {bgcolor aload pop setrgbcolor fill} bind def
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2279
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2280 /L0 6 /Times-Italic DefFont
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2281
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2282 % stack: --
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2283 /doLineNumber {
22204
e1921cd8a532 (ps-print-version): Doc fix.
Richard M. Stallman <rms@gnu.org>
parents: 22093
diff changeset
2284 /LineNumber where
e1921cd8a532 (ps-print-version): Doc fix.
Richard M. Stallman <rms@gnu.org>
parents: 22093
diff changeset
2285 {
e1921cd8a532 (ps-print-version): Doc fix.
Richard M. Stallman <rms@gnu.org>
parents: 22093
diff changeset
2286 pop
e1921cd8a532 (ps-print-version): Doc fix.
Richard M. Stallman <rms@gnu.org>
parents: 22093
diff changeset
2287 currentfont
e1921cd8a532 (ps-print-version): Doc fix.
Richard M. Stallman <rms@gnu.org>
parents: 22093
diff changeset
2288 gsave
e1921cd8a532 (ps-print-version): Doc fix.
Richard M. Stallman <rms@gnu.org>
parents: 22093
diff changeset
2289 0.0 0.0 0.0 setrgbcolor
e1921cd8a532 (ps-print-version): Doc fix.
Richard M. Stallman <rms@gnu.org>
parents: 22093
diff changeset
2290 /L0 findfont setfont
e1921cd8a532 (ps-print-version): Doc fix.
Richard M. Stallman <rms@gnu.org>
parents: 22093
diff changeset
2291 LineNumber Lines ge
e1921cd8a532 (ps-print-version): Doc fix.
Richard M. Stallman <rms@gnu.org>
parents: 22093
diff changeset
2292 {(end )}
e1921cd8a532 (ps-print-version): Doc fix.
Richard M. Stallman <rms@gnu.org>
parents: 22093
diff changeset
2293 {LineNumber 6 string cvs ( ) strcat}
e1921cd8a532 (ps-print-version): Doc fix.
Richard M. Stallman <rms@gnu.org>
parents: 22093
diff changeset
2294 ifelse
e1921cd8a532 (ps-print-version): Doc fix.
Richard M. Stallman <rms@gnu.org>
parents: 22093
diff changeset
2295 dup stringwidth pop neg 0 rmoveto
e1921cd8a532 (ps-print-version): Doc fix.
Richard M. Stallman <rms@gnu.org>
parents: 22093
diff changeset
2296 show
e1921cd8a532 (ps-print-version): Doc fix.
Richard M. Stallman <rms@gnu.org>
parents: 22093
diff changeset
2297 grestore
e1921cd8a532 (ps-print-version): Doc fix.
Richard M. Stallman <rms@gnu.org>
parents: 22093
diff changeset
2298 setfont
e1921cd8a532 (ps-print-version): Doc fix.
Richard M. Stallman <rms@gnu.org>
parents: 22093
diff changeset
2299 /LineNumber LineNumber 1 add def
e1921cd8a532 (ps-print-version): Doc fix.
Richard M. Stallman <rms@gnu.org>
parents: 22093
diff changeset
2300 } if
19445
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2301 } def
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2302
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2303 % stack: --
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2304 /printZebra {
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2305 gsave
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2306 0.985 setgray
20516
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
2307 /double-zebra ZebraHeight ZebraHeight add def
19445
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2308 /yiter double-zebra LineHeight mul neg def
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2309 /xiter PrintWidth InterColumn add def
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2310 NumberOfColumns {LinesPerColumn doColumnZebra xiter 0 rmoveto}repeat
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2311 grestore
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2312 } def
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2313
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2314 % stack: lines-per-column |- --
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2315 /doColumnZebra {
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2316 gsave
20516
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
2317 dup double-zebra idiv {ZebraHeight doZebra 0 yiter rmoveto}repeat
19445
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2318 double-zebra mod
20516
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
2319 dup 0 le {pop}{dup ZebraHeight gt {pop ZebraHeight}if doZebra}ifelse
19445
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2320 grestore
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2321 } def
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2322
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2323 % stack: zebra-height (in lines) |- --
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2324 /doZebra {
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2325 /zh exch 0.05 sub LineHeight mul def
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2326 gsave
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2327 0 LineHeight 0.65 mul rmoveto
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2328 PrintWidth 0 rlineto
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2329 0 zh neg rlineto
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2330 PrintWidth neg 0 rlineto
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2331 0 zh rlineto
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2332 fill
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2333 grestore
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2334 } def
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2335
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2336 % tx ty rotation xscale yscale xpos ypos BeginBackImage
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2337 /BeginBackImage {
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2338 /-save-image- save def
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2339 /showpage {}def
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2340 translate
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2341 scale
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2342 rotate
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2343 translate
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2344 } def
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2345
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2346 /EndBackImage {
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2347 -save-image- restore
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2348 } def
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2349
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2350 % string fontsize fontname rotation gray xpos ypos ShowBackText
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2351 /ShowBackText {
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2352 gsave
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2353 translate
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2354 setgray
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2355 rotate
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2356 findfont exch dup /-offset- exch -0.25 mul def scalefont setfont
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2357 0 -offset- moveto
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2358 /-saveLineThickness- LineThickness def
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2359 /LineThickness 1 def
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2360 false doOutline
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2361 /LineThickness -saveLineThickness- def
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2362 grestore
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2363 } def
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2364
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2365 /BeginDoc {
23091
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
2366 % ---- Remember space width of the normal text font `f0'.
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
2367 /SpaceWidth /f0 findfont setfont ( ) stringwidth pop def
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2368 % ---- save the state of the document (useful for ghostscript!)
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2369 /docState save def
23666
53776c6e94b8 (ps-print-prologue-1): In BeginDoc procedure, call setpagedevice to
Andrew Innes <andrewi@gnu.org>
parents: 23551
diff changeset
2370 % ---- [andrewi] set PageSize based on chosen dimensions
53776c6e94b8 (ps-print-prologue-1): In BeginDoc procedure, call setpagedevice to
Andrew Innes <andrewi@gnu.org>
parents: 23551
diff changeset
2371 /setpagedevice where {
53776c6e94b8 (ps-print-prologue-1): In BeginDoc procedure, call setpagedevice to
Andrew Innes <andrewi@gnu.org>
parents: 23551
diff changeset
2372 pop
53776c6e94b8 (ps-print-prologue-1): In BeginDoc procedure, call setpagedevice to
Andrew Innes <andrewi@gnu.org>
parents: 23551
diff changeset
2373 1 dict dup
53776c6e94b8 (ps-print-prologue-1): In BeginDoc procedure, call setpagedevice to
Andrew Innes <andrewi@gnu.org>
parents: 23551
diff changeset
2374 /PageSize [ PrintPageWidth LeftMargin RightMargin add add
53776c6e94b8 (ps-print-prologue-1): In BeginDoc procedure, call setpagedevice to
Andrew Innes <andrewi@gnu.org>
parents: 23551
diff changeset
2375 LandscapePageHeight ] put
53776c6e94b8 (ps-print-prologue-1): In BeginDoc procedure, call setpagedevice to
Andrew Innes <andrewi@gnu.org>
parents: 23551
diff changeset
2376 setpagedevice
53776c6e94b8 (ps-print-prologue-1): In BeginDoc procedure, call setpagedevice to
Andrew Innes <andrewi@gnu.org>
parents: 23551
diff changeset
2377 } if
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2378 % ---- [jack] Kludge: my ghostscript window is 21x27.7 instead of 21x29.7
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2379 /JackGhostscript where {
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2380 pop 1 27.7 29.7 div scale
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2381 } if
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2382 LandscapeMode {
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2383 % ---- translate to bottom-right corner of Portrait page
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2384 LandscapePageHeight 0 translate
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2385 90 rotate
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2386 } if
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2387 /ColumnWidth PrintWidth InterColumn add def
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2388 % ---- translate to lower left corner of TEXT
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2389 LeftMargin BottomMargin translate
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2390 % ---- define where printing will start
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2391 /f0 F % this installs Ascent
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2392 /PrintStartY PrintHeight Ascent sub def
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2393 /ColumnIndex 1 def
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2394 } def
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2395
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2396 /EndDoc {
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2397 % ---- on last page but not last column, spit out the page
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2398 ColumnIndex 1 eq not { showpage } if
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2399 % ---- restore the state of the document (useful for ghostscript!)
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2400 docState restore
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2401 } def
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2402
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2403 /BeginDSCPage {
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2404 % ---- when 1st column, save the state of the page
19773
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
2405 ColumnIndex 1 eq { /pageState save def } if
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
2406 % ---- save the state of the column
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
2407 /columnState save def
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
2408 } def
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
2409
21086
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
2410 /PrintHeaderWidth PrintOnlyOneHeader{PrintPageWidth}{PrintWidth}ifelse def
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
2411
19773
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
2412 /BeginPage {
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
2413 % ---- when 1st column, print all background effects
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
2414 ColumnIndex 1 eq {
19445
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2415 0 PrintStartY moveto % move to where printing will start
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2416 Zebra {printZebra}if
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2417 printGlobalBackground
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2418 printLocalBackground
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2419 } if
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2420 PrintHeader {
21086
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
2421 PrintOnlyOneHeader{ColumnIndex 1 eq}{true}ifelse {
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
2422 PrintHeaderFrame {HeaderFrame}if
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
2423 HeaderText
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
2424 } if
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2425 } if
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2426 0 PrintStartY moveto % move to where printing will start
19445
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2427 PLN
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2428 } def
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2429
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2430 /EndPage {
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2431 bg { eolbg } if
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2432 } def
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2433
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2434 /EndDSCPage {
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2435 ColumnIndex NumberOfColumns eq {
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2436 % ---- on last column, spit out the page
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2437 showpage
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2438 % ---- restore the state of the page
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2439 pageState restore
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2440 /ColumnIndex 1 def
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2441 } { % else
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2442 % ---- restore the state of the current column
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2443 columnState restore
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2444 % ---- and translate to the next column
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2445 ColumnWidth 0 translate
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2446 /ColumnIndex ColumnIndex 1 add def
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2447 } ifelse
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2448 } def
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2449
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2450 /SetHeaderLines { % nb-lines --
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2451 /HeaderLines exch def
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2452 % ---- bottom up
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2453 HeaderPad
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2454 HeaderLines 1 sub HeaderLineHeight mul add
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2455 HeaderTitleLineHeight add
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2456 HeaderPad add
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2457 /HeaderHeight exch def
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2458 } def
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2459
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2460 % |---------|
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2461 % | tm |
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2462 % |---------|
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2463 % | header |
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2464 % |-+-------| <-- (x y)
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2465 % | ho |
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2466 % |---------|
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2467 % | text |
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2468 % |-+-------| <-- (0 0)
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2469 % | bm |
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2470 % |---------|
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2471
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2472 /HeaderFrameStart { % -- x y
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2473 0 PrintHeight HeaderOffset add
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2474 } def
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2475
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2476 /HeaderFramePath {
21086
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
2477 PrintHeaderWidth 0 rlineto
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
2478 0 HeaderHeight rlineto
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
2479 PrintHeaderWidth neg 0 rlineto
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
2480 0 HeaderHeight neg rlineto
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2481 } def
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2482
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2483 /HeaderFrame {
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2484 gsave
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2485 0.4 setlinewidth
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2486 % ---- fill a black rectangle (the shadow of the next one)
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2487 HeaderFrameStart moveto
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2488 1 -1 rmoveto
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2489 HeaderFramePath
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2490 0 setgray fill
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2491 % ---- do the next rectangle ...
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2492 HeaderFrameStart moveto
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2493 HeaderFramePath
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2494 gsave 0.9 setgray fill grestore % filled with grey
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2495 gsave 0 setgray stroke grestore % drawn with black
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2496 grestore
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2497 } def
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2498
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2499 /HeaderStart {
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2500 HeaderFrameStart
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2501 exch HeaderPad add exch % horizontal pad
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2502 % ---- bottom up
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2503 HeaderPad add % vertical pad
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2504 HeaderDescent sub
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2505 HeaderLineHeight HeaderLines 1 sub mul add
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2506 } def
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2507
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2508 /strcat {
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2509 dup length 3 -1 roll dup length dup 4 -1 roll add string dup
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2510 0 5 -1 roll putinterval
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2511 dup 4 2 roll exch putinterval
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2512 } def
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2513
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2514 /pagenumberstring {
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2515 PageNumber 32 string cvs
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2516 ShowNofN {
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2517 (/) strcat
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2518 PageCount 32 string cvs strcat
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2519 } if
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2520 } def
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2521
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2522 /HeaderText {
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2523 HeaderStart moveto
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2524
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2525 HeaderLinesRight HeaderLinesLeft % -- rightLines leftLines
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2526
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2527 % ---- hack: `PN 1 and' == `PN 2 modulo'
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2528
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2529 % ---- if duplex and even page number, then exchange left and right
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2530 Duplex PageNumber 1 and 0 eq and { exch } if
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2531
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2532 { % ---- process the left lines
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2533 aload pop
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2534 exch F
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2535 gsave
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2536 dup xcheck { exec } if
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2537 show
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2538 grestore
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2539 0 HeaderLineHeight neg rmoveto
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2540 } forall
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2541
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2542 HeaderStart moveto
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2543
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2544 { % ---- process the right lines
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2545 aload pop
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2546 exch F
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2547 gsave
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2548 dup xcheck { exec } if
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2549 dup stringwidth pop
21086
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
2550 PrintHeaderWidth exch sub HeaderPad 2 mul sub 0 rmoveto
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2551 show
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2552 grestore
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2553 0 HeaderLineHeight neg rmoveto
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2554 } forall
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2555 } def
7257
3759ad84023b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2556
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2557 /ReportFontInfo {
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2558 2 copy
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2559 /t0 3 1 roll DefFont
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2560 /t0 F
10683
64e6021d0ba0 Various changes.
Richard M. Stallman <rms@gnu.org>
parents: 10493
diff changeset
2561 /lh FontHeight def
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2562 /sw ( ) stringwidth pop def
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2563 /aw (01234567890abcdefghijklmnopqrstuvwxyz) dup length exch
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2564 stringwidth pop exch div def
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2565 /t1 12 /Helvetica-Oblique DefFont
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2566 /t1 F
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2567 gsave
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2568 (For ) show
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2569 128 string cvs show
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2570 ( ) show
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2571 32 string cvs show
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2572 ( point, the line height is ) show
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2573 lh 32 string cvs show
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2574 (, the space width is ) show
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2575 sw 32 string cvs show
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2576 (,) show
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2577 grestore
10683
64e6021d0ba0 Various changes.
Richard M. Stallman <rms@gnu.org>
parents: 10493
diff changeset
2578 0 FontHeight neg rmoveto
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2579 gsave
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2580 (and a crude estimate of average character width is ) show
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2581 aw 32 string cvs show
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2582 (.) show
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2583 grestore
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2584 0 FontHeight neg rmoveto
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2585 } def
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2586
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2587 /cm { % cm to point
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2588 72 mul 2.54 div
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2589 } def
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2590
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2591 /ReportAllFontInfo {
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2592 FontDirectory
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2593 { % key = font name value = font dictionary
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2594 pop 10 exch ReportFontInfo
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2595 } forall
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2596 } def
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2597
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2598 % 3 cm 20 cm moveto 10 /Courier ReportFontInfo showpage
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2599 % 3 cm 20 cm moveto ReportAllFontInfo showpage
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2600
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2601 ")
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2602
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2603 (defvar ps-print-prologue-2
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2604 "
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2605 % ---- These lines must be kept together because...
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2606
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2607 /h0 F
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2608 /HeaderTitleLineHeight FontHeight def
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2609
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2610 /h1 F
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2611 /HeaderLineHeight FontHeight def
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2612 /HeaderDescent Descent def
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2613
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2614 % ---- ...because `F' has a side-effect on `FontHeight' and `Descent'
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2615
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2616 ")
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2617
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2618 ;; Start Editing Here:
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2619
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2620 (defvar ps-source-buffer nil)
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2621 (defvar ps-spool-buffer-name "*PostScript*")
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2622 (defvar ps-spool-buffer nil)
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2623
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2624 (defvar ps-output-head nil)
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2625 (defvar ps-output-tail nil)
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2626
22397
31b7f6a60174 Fix spooled file bugs.
Richard M. Stallman <rms@gnu.org>
parents: 22204
diff changeset
2627 (defvar ps-page-postscript 0)
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2628 (defvar ps-page-count 0)
19445
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2629 (defvar ps-showline-count 1)
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2630
20516
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
2631 (defvar ps-control-or-escape-regexp nil)
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
2632
19445
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2633 (defvar ps-background-pages nil)
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2634 (defvar ps-background-all-pages nil)
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2635 (defvar ps-background-text-count 0)
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2636 (defvar ps-background-image-count 0)
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2637
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2638 (defvar ps-current-font 0)
23550
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
2639 (defvar ps-default-color (and ps-print-color-p ps-default-fg)) ; black
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2640 (defvar ps-current-color ps-default-color)
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2641 (defvar ps-current-bg nil)
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2642
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2643 (defvar ps-razchunk 0)
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2644
23550
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
2645 (defvar ps-color-p nil)
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2646 (defvar ps-color-format
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2647 (if (eq ps-print-emacs-type 'emacs)
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2648
21086
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
2649 ;; Emacs understands the %f format; we'll use it to limit color RGB
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
2650 ;; values to three decimals to cut down some on the size of the
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
2651 ;; PostScript output.
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
2652 "%0.3f %0.3f %0.3f"
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
2653
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
2654 ;; Lucid emacsen will have to make do with %s (princ) for floats.
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2655 "%s %s %s"))
7257
3759ad84023b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2656
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2657 ;; These values determine how much print-height to deduct when headers
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2658 ;; are turned on. This is a pretty clumsy way of handling it, but
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2659 ;; it'll do for now.
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2660
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2661 (defvar ps-header-pad 0
21955
c4de7c7bc14a (ps-header-title-font-size): Doc fix.
Richard M. Stallman <rms@gnu.org>
parents: 21954
diff changeset
2662 "Vertical and horizontal space between the header frame and the text.
c4de7c7bc14a (ps-header-title-font-size): Doc fix.
Richard M. Stallman <rms@gnu.org>
parents: 21954
diff changeset
2663 This is in units of points (1/72 inch).")
7257
3759ad84023b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2664
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2665 ;; Define accessors to the dimensions list.
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2666
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2667 (defmacro ps-page-dimensions-get-width (dims) `(nth 0 ,dims))
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2668 (defmacro ps-page-dimensions-get-height (dims) `(nth 1 ,dims))
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2669
19445
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2670 (defvar ps-landscape-page-height nil)
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2671
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2672 (defvar ps-print-width nil)
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2673 (defvar ps-print-height nil)
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2674
20331
39baaa9c5980 Some comment and doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 20019
diff changeset
2675 (defvar ps-height-remaining nil)
39baaa9c5980 Some comment and doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 20019
diff changeset
2676 (defvar ps-width-remaining nil)
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2677
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2678 (defvar ps-print-color-scale nil)
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
2679
19445
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2680
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2681 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2682 ;; Internal Variables
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2683
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2684
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2685 (defvar ps-print-face-extension-alist nil
19773
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
2686 "Alist of symbolic faces *WITH* extension features (box, outline, etc).
19445
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2687 An element of this list has the following form:
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2688
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2689 (FACE . [BITS FG BG])
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2690
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2691 FACE is a symbol denoting a face name
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2692 BITS is a bit vector, where each bit correspond
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2693 to a feature (bold, underline, etc)
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2694 (see documentation for `ps-print-face-map-alist')
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2695 FG foreground color (string or nil)
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2696 BG background color (string or nil)
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2697
19773
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
2698 Don't change this list directly; instead,
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
2699 use `ps-extend-face' and `ps-extend-face-list'.
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
2700 See documentation for `ps-extend-face' for valid extension symbol.")
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
2701
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
2702
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
2703 (defvar ps-print-face-alist nil
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
2704 "Alist of symbolic faces *WITHOUT* extension features (box, outline, etc).
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
2705
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
2706 An element of this list has the same form as an element of
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
2707 `ps-print-face-extension-alist'.
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
2708
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
2709 Don't change this list directly; this list is used by `ps-face-attributes',
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
2710 `ps-map-face' and `ps-build-reference-face-lists'.")
19445
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2711
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2712
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2713 (defconst ps-print-face-map-alist
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2714 '((bold . 1)
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2715 (italic . 2)
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2716 (underline . 4)
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2717 (strikeout . 8)
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2718 (overline . 16)
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2719 (shadow . 32)
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2720 (box . 64)
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2721 (outline . 128))
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2722 "Alist of all features and the corresponding bit mask.
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2723 Each symbol correspond to one bit in a bit vector.")
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2724
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2725
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2726 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
19773
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
2727 ;; Remapping Faces
19445
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2728
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2729
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2730 ;;;###autoload
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2731 (defun ps-extend-face-list (face-extension-list &optional merge-p)
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2732 "Extend face in `ps-print-face-extension-alist'.
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2733
19773
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
2734 If optional MERGE-P is non-nil, extensions in FACE-EXTENSION-LIST are merged
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
2735 with face extension in `ps-print-face-extension-alist'; otherwise, overrides.
19445
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2736
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2737 The elements in FACE-EXTENSION-LIST is like those for `ps-extend-face'.
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2738
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2739 See `ps-extend-face' for documentation."
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2740 (while face-extension-list
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2741 (ps-extend-face (car face-extension-list) merge-p)
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2742 (setq face-extension-list (cdr face-extension-list))))
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2743
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2744
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2745 ;;;###autoload
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2746 (defun ps-extend-face (face-extension &optional merge-p)
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2747 "Extend face in `ps-print-face-extension-alist'.
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2748
21954
73f9f4219198 Some doc fixes, eliminate (require cl).
Richard M. Stallman <rms@gnu.org>
parents: 21801
diff changeset
2749 If optional MERGE-P is non-nil, extensions in FACE-EXTENSION list are merged
19773
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
2750 with face extensions in `ps-print-face-extension-alist'; otherwise, overrides.
19445
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2751
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2752 The elements of FACE-EXTENSION list have the form:
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2753
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2754 (FACE-NAME FOREGROUND BACKGROUND EXTENSION...)
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2755
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2756 FACE-NAME is a face name symbol.
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2757
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2758 FOREGROUND and BACKGROUND may be nil or a string that denotes the
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2759 foreground and background colors respectively.
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2760
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2761 EXTENSION is one of the following symbols:
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2762 bold - use bold font.
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2763 italic - use italic font.
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2764 underline - put a line under text.
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2765 strikeout - like underline, but the line is in middle of text.
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2766 overline - like underline, but the line is over the text.
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2767 shadow - text will have a shadow.
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2768 box - text will be surrounded by a box.
19773
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
2769 outline - print characters as hollow outlines.
19445
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2770
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2771 If EXTENSION is any other symbol, it is ignored."
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2772 (let* ((face-name (nth 0 face-extension))
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2773 (foreground (nth 1 face-extension))
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2774 (background (nth 2 face-extension))
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2775 (ps-face (cdr (assq face-name ps-print-face-extension-alist)))
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2776 (face-vector (or ps-face (vector 0 nil nil)))
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2777 (face-bit (ps-extension-bit face-extension)))
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2778 ;; extend face
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2779 (aset face-vector 0 (if merge-p
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2780 (logior (aref face-vector 0) face-bit)
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2781 face-bit))
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2782 (and foreground (stringp foreground) (aset face-vector 1 foreground))
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2783 (and background (stringp background) (aset face-vector 2 background))
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2784 ;; if face does not exist, insert it
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2785 (or ps-face
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2786 (setq ps-print-face-extension-alist
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2787 (cons (cons face-name face-vector)
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2788 ps-print-face-extension-alist)))))
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2789
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2790
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2791 (defun ps-extension-bit (face-extension)
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2792 (let ((face-bit 0))
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2793 ;; map valid symbol extension to bit vector
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2794 (setq face-extension (cdr (cdr face-extension)))
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2795 (while (setq face-extension (cdr face-extension))
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2796 (setq face-bit (logior face-bit
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2797 (or (cdr (assq (car face-extension)
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2798 ps-print-face-map-alist))
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2799 0))))
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2800 face-bit))
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2801
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2802
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2803 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
20516
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
2804 ;; Adapted from font-lock:
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
2805 ;; Originally face attributes were specified via `font-lock-face-attributes'.
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
2806 ;; Users then changed the default face attributes by setting that variable.
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
2807 ;; However, we try and be back-compatible and respect its value if set except
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
2808 ;; for faces where M-x customize has been used to save changes for the face.
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
2809
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
2810 (defun ps-font-lock-face-attributes ()
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
2811 (and (boundp 'font-lock-mode) (symbol-value 'font-lock-mode)
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
2812 (boundp 'font-lock-face-attributes)
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
2813 (let ((face-attributes font-lock-face-attributes))
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
2814 (while face-attributes
21954
73f9f4219198 Some doc fixes, eliminate (require cl).
Richard M. Stallman <rms@gnu.org>
parents: 21801
diff changeset
2815 (let* ((face-attribute
73f9f4219198 Some doc fixes, eliminate (require cl).
Richard M. Stallman <rms@gnu.org>
parents: 21801
diff changeset
2816 (car (prog1 face-attributes
73f9f4219198 Some doc fixes, eliminate (require cl).
Richard M. Stallman <rms@gnu.org>
parents: 21801
diff changeset
2817 (setq face-attributes (cdr face-attributes)))))
20516
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
2818 (face (car face-attribute)))
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
2819 ;; Rustle up a `defface' SPEC from a
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
2820 ;; `font-lock-face-attributes' entry.
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
2821 (unless (get face 'saved-face)
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
2822 (let ((foreground (nth 1 face-attribute))
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
2823 (background (nth 2 face-attribute))
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
2824 (bold-p (nth 3 face-attribute))
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
2825 (italic-p (nth 4 face-attribute))
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
2826 (underline-p (nth 5 face-attribute))
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
2827 face-spec)
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
2828 (when foreground
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
2829 (setq face-spec (cons ':foreground
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
2830 (cons foreground face-spec))))
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
2831 (when background
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
2832 (setq face-spec (cons ':background
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
2833 (cons background face-spec))))
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
2834 (when bold-p
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
2835 (setq face-spec (append '(:bold t) face-spec)))
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
2836 (when italic-p
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
2837 (setq face-spec (append '(:italic t) face-spec)))
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
2838 (when underline-p
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
2839 (setq face-spec (append '(:underline t) face-spec)))
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
2840 (custom-declare-face face (list (list t face-spec)) nil)
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
2841 )))))))
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
2842
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
2843
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
2844 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
19445
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2845 ;; Internal functions and variables
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2846
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2847
21086
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
2848 (make-local-hook 'ps-print-hook)
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
2849 (make-local-hook 'ps-print-begin-page-hook)
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
2850 (make-local-hook 'ps-print-begin-column-hook)
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
2851
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
2852
19773
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
2853 (defun ps-print-without-faces (from to &optional filename region-p)
20516
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
2854 (ps-spool-without-faces from to region-p)
19445
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2855 (ps-do-despool filename))
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2856
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2857
19773
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
2858 (defun ps-spool-without-faces (from to &optional region-p)
21086
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
2859 (run-hooks 'ps-print-hook)
19773
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
2860 (ps-printing-region region-p)
19445
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2861 (ps-generate (current-buffer) from to 'ps-generate-postscript))
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2862
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2863
19773
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
2864 (defun ps-print-with-faces (from to &optional filename region-p)
20516
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
2865 (ps-spool-with-faces from to region-p)
19445
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2866 (ps-do-despool filename))
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2867
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2868
19773
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
2869 (defun ps-spool-with-faces (from to &optional region-p)
21086
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
2870 (run-hooks 'ps-print-hook)
19773
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
2871 (ps-printing-region region-p)
19445
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2872 (ps-generate (current-buffer) from to 'ps-generate-postscript-with-faces))
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2873
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2874
19773
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
2875 (defsubst ps-count-lines (from to)
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
2876 (+ (count-lines from to)
20516
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
2877 (save-excursion
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
2878 (goto-char to)
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
2879 (if (= (current-column) 0) 1 0))))
19773
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
2880
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
2881
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
2882 (defvar ps-printing-region nil
21955
c4de7c7bc14a (ps-header-title-font-size): Doc fix.
Richard M. Stallman <rms@gnu.org>
parents: 21954
diff changeset
2883 "Variable used to indicate if ps-print is printing a region.
19773
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
2884 If non-nil, it is a cons, the car of which is the line number
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
2885 where the region begins, and its cdr is the total number of lines
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
2886 in the buffer. Formatting functions can use this information
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
2887 to print the original line number (and not the number of lines printed),
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
2888 and to indicate in the header that the printout is of a partial file.")
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
2889
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
2890
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
2891 (defun ps-printing-region (region-p)
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
2892 (setq ps-printing-region
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
2893 (and region-p
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
2894 (cons (ps-count-lines (point-min) (region-beginning))
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
2895 (ps-count-lines (point-min) (point-max))))))
19445
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2896
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
2897
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2898 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2899 ;; Internal functions
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
2900
21999
35efe9eafc6c (ps-alist-position): Renamed from ps-position.
Richard M. Stallman <rms@gnu.org>
parents: 21955
diff changeset
2901 (defsubst ps-font-alist (font-sym)
21086
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
2902 (get font-sym 'fonts))
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
2903
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
2904 (defun ps-font (font-sym font-type)
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
2905 "Font family name for text of `font-type', when generating PostScript."
21999
35efe9eafc6c (ps-alist-position): Renamed from ps-position.
Richard M. Stallman <rms@gnu.org>
parents: 21955
diff changeset
2906 (let* ((font-list (ps-font-alist font-sym))
21086
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
2907 (normal-font (cdr (assq 'normal font-list))))
21954
73f9f4219198 Some doc fixes, eliminate (require cl).
Richard M. Stallman <rms@gnu.org>
parents: 21801
diff changeset
2908 (while (and font-list (not (eq font-type (car (car font-list)))))
73f9f4219198 Some doc fixes, eliminate (require cl).
Richard M. Stallman <rms@gnu.org>
parents: 21801
diff changeset
2909 (setq font-list (cdr font-list)))
73f9f4219198 Some doc fixes, eliminate (require cl).
Richard M. Stallman <rms@gnu.org>
parents: 21801
diff changeset
2910 (or (cdr (car font-list)) normal-font)))
21086
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
2911
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
2912 (defun ps-fonts (font-sym)
21999
35efe9eafc6c (ps-alist-position): Renamed from ps-position.
Richard M. Stallman <rms@gnu.org>
parents: 21955
diff changeset
2913 (mapcar 'cdr (ps-font-alist font-sym)))
21086
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
2914
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
2915 (defun ps-font-number (font-sym font-type)
21999
35efe9eafc6c (ps-alist-position): Renamed from ps-position.
Richard M. Stallman <rms@gnu.org>
parents: 21955
diff changeset
2916 (or (ps-alist-position font-type (ps-font-alist font-sym))
21086
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
2917 0))
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
2918
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
2919 (defsubst ps-line-height (font-sym)
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
2920 "The height of a line, for generating PostScript.
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
2921 This is the value that ps-print uses to determine the height,
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
2922 y-dimension, of the lines of text it has printed, and thus affects the
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
2923 point at which page-breaks are placed.
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
2924 The line-height is *not* the same as the point size of the font."
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
2925 (get font-sym 'line-height))
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
2926
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
2927 (defsubst ps-title-line-height (font-sym)
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
2928 "The height of a `title' line, for generating PostScript.
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
2929 This is the value that ps-print uses to determine the height,
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
2930 y-dimension, of the lines of text it has printed, and thus affects the
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
2931 point at which page-breaks are placed.
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
2932 The title-line-height is *not* the same as the point size of the font."
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
2933 (get font-sym 'title-line-height))
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
2934
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
2935 (defsubst ps-space-width (font-sym)
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
2936 "The width of a space character, for generating PostScript.
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
2937 This value is used in expanding tab characters."
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
2938 (get font-sym 'space-width))
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
2939
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
2940 (defsubst ps-avg-char-width (font-sym)
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
2941 "The average width, in points, of a character, for generating PostScript.
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
2942 This is the value that ps-print uses to determine the length,
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
2943 x-dimension, of the text it has printed, and thus affects the point at
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
2944 which long lines wrap around."
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
2945 (get font-sym 'avg-char-width))
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
2946
23091
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
2947
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
2948 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
23551
385d7c586ad2 Doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 23550
diff changeset
2949 ;; For handling multi-byte characters -- Begin.
23091
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
2950 ;;
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
2951 ;; The following comments apply only to this part (through the next ^L).
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
2952 ;; Author: Kenichi Handa <handa@etl.go.jp>
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
2953 ;; Maintainer: Kenichi Handa <handa@etl.go.jp>
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
2954
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
2955 (eval-and-compile
23550
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
2956 (if (not (string< mule-version "4.0"))
23091
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
2957 (progn
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
2958 (defalias 'ps-mule-next-point '1+)
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
2959 (defalias 'ps-mule-chars-in-string 'length)
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
2960 (defalias 'ps-mule-string-char 'aref)
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
2961 (defsubst ps-mule-next-index (str i) (1+ i)))
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
2962 (defun set-buffer-multibyte (arg)
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
2963 (setq enable-multibyte-characters arg))
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
2964 (defun string-as-unibyte (arg) arg)
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
2965 (defun string-as-multibyte (arg) arg)
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
2966 (defun charset-after (&optional arg)
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
2967 (char-charset (char-after arg)))
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
2968 (defun ps-mule-next-point (arg)
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
2969 (save-excursion (goto-char arg) (forward-char 1) (point)))
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
2970 (defun ps-mule-chars-in-string (string)
23484
d13d8b3b3d69 (ps-mule-chars-in-string): No need to use sref.
Richard M. Stallman <rms@gnu.org>
parents: 23468
diff changeset
2971 (length string))
d13d8b3b3d69 (ps-mule-chars-in-string): No need to use sref.
Richard M. Stallman <rms@gnu.org>
parents: 23468
diff changeset
2972 (defalias 'ps-mule-string-char 'aref)
23091
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
2973 (defun ps-mule-next-index (str i)
23484
d13d8b3b3d69 (ps-mule-chars-in-string): No need to use sref.
Richard M. Stallman <rms@gnu.org>
parents: 23468
diff changeset
2974 (1+ i)))
23091
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
2975 )
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
2976
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
2977 (defvar ps-mule-font-info-database
23550
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
2978 nil
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
2979 "Alist of charsets with the corresponding font information.
23091
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
2980 Each element has the form:
23550
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
2981
23091
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
2982 (CHARSET (FONT-TYPE FONT-SRC FONT-NAME ENCODING BYTES) ...)
23550
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
2983
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
2984 Where
23091
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
2985
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
2986 CHARSET is a charset (symbol) for this font family,
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
2987
23550
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
2988 FONT-TYPE is a font type: normal, bold, italic, or bold-italic.
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
2989
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
2990 FONT-SRC is a font source: builtin, bdf, vflib, or nil.
23091
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
2991
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
2992 If FONT-SRC is builtin, FONT-NAME is a buitin PostScript font name.
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
2993
23550
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
2994 If FONT-SRC is bdf, FONT-NAME is a BDF font file name. To use this font,
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
2995 the external library `bdf' is required.
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
2996
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
2997 If FONT-SRC is vflib, FONT-NAME is the name of a font that VFlib knows.
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
2998 To use this font, the external library `vflib' is required.
23091
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
2999
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3000 If FONT-SRC is nil, a proper ASCII font in the variable
23550
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3001 `ps-font-info-database' is used. This is useful for Latin-1 characters.
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3002
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3003 ENCODING is a coding system to encode a string of characters of CHARSET into a
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3004 proper string matching an encoding of the specified font. ENCODING may be a
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3005 function that does this encoding. In this case, the function is called with
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3006 one argument, the string to encode, and it should return an encoded string.
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3007
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3008 BYTES specifies how many bytes each character has in the encoded byte
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3009 sequence; it should be 1 or 2.
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3010
23551
385d7c586ad2 Doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 23550
diff changeset
3011 All multi-byte characters are printed by fonts specified in this database
23550
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3012 regardless of a font family of ASCII characters. The exception is Latin-1
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3013 characters which are printed by the same font as ASCII characters, thus obey
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3014 font family.
23091
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3015
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3016 See also the variable `ps-font-info-database'.")
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3017
23550
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3018 (defconst ps-mule-font-info-database-latin
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3019 '((latin-iso8859-1
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3020 (normal nil nil iso-latin-1)))
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3021 "Sample setting of `ps-mule-font-info-database' to use latin fonts.")
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3022
23091
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3023 (defconst ps-mule-font-info-database-ps
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3024 '((katakana-jisx0201
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3025 (normal builtin "Ryumin-Light.Katakana" ps-mule-encode-7bit 1)
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3026 (bold builtin "GothicBBB-Medium.Katakana" ps-mule-encode-7bit 1)
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3027 (bold-italic builtin "GothicBBB-Medium.Katakana" ps-mule-encode-7bit 1))
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3028 (latin-jisx0201
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3029 (normat builtin "Ryumin-Light.Hankaku" ps-mule-encode-7bit 1)
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3030 (bold builtin "GothicBBB-Medium.Hankaku" ps-mule-encode-7bit 1))
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3031 (japanese-jisx0208
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3032 (normal builtin "Ryumin-Light-H" ps-mule-encode-7bit 2)
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3033 (bold builtin "GothicBBB-Medium-H" ps-mule-encode-7bit 2))
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3034 (korean-ksc5601
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3035 (normal builtin "Batang-Medium-KSC-H" ps-mule-encode-7bit 2)
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3036 (bold builtin " Gulim-Medium-KSC-H" ps-mule-encode-7bit 2))
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3037 )
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3038 "Sample setting of the `ps-mule-font-info-database' to use builtin PS font.
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3039
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3040 Currently, data for Japanese and Korean PostScript printers are listed.")
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3041
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3042 (defconst ps-mule-font-info-database-bdf
23167
ada869918064 (ps-mule-font-info-database-bdf): The include ASCII
Kenichi Handa <handa@m17n.org>
parents: 23138
diff changeset
3043 '((ascii
ada869918064 (ps-mule-font-info-database-bdf): The include ASCII
Kenichi Handa <handa@m17n.org>
parents: 23138
diff changeset
3044 (normal bdf "etl24-latin1.bdf" nil 1)
ada869918064 (ps-mule-font-info-database-bdf): The include ASCII
Kenichi Handa <handa@m17n.org>
parents: 23138
diff changeset
3045 (bold bdf "etl16b-latin1.bdf" iso-latin-1 1)
ada869918064 (ps-mule-font-info-database-bdf): The include ASCII
Kenichi Handa <handa@m17n.org>
parents: 23138
diff changeset
3046 (italic bdf "etl16i-latin1.bdf" iso-latin-1 1)
ada869918064 (ps-mule-font-info-database-bdf): The include ASCII
Kenichi Handa <handa@m17n.org>
parents: 23138
diff changeset
3047 (bold-italic bdf "etl16bi-latin1.bdf" iso-latin-1 1))
ada869918064 (ps-mule-font-info-database-bdf): The include ASCII
Kenichi Handa <handa@m17n.org>
parents: 23138
diff changeset
3048 (latin-iso8859-1
ada869918064 (ps-mule-font-info-database-bdf): The include ASCII
Kenichi Handa <handa@m17n.org>
parents: 23138
diff changeset
3049 (normal bdf "etl24-latin1.bdf" iso-latin-1 1)
ada869918064 (ps-mule-font-info-database-bdf): The include ASCII
Kenichi Handa <handa@m17n.org>
parents: 23138
diff changeset
3050 (bold bdf "etl16b-latin1.bdf" iso-latin-1 1)
ada869918064 (ps-mule-font-info-database-bdf): The include ASCII
Kenichi Handa <handa@m17n.org>
parents: 23138
diff changeset
3051 (italic bdf "etl16i-latin1.bdf" iso-latin-1 1)
ada869918064 (ps-mule-font-info-database-bdf): The include ASCII
Kenichi Handa <handa@m17n.org>
parents: 23138
diff changeset
3052 (bold-italic bdf "etl16bi-latin1.bdf" iso-latin-1 1))
23091
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3053 (latin-iso8859-2
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3054 (normal bdf "etl24-latin2.bdf" iso-latin-2 1))
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3055 (latin-iso8859-3
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3056 (normal bdf "etl24-latin3.bdf" iso-latin-3 1))
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3057 (latin-iso8859-4
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3058 (normal bdf "etl24-latin4.bdf" iso-latin-4 1))
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3059 (thai-tis620
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3060 (normal bdf "thai-24.bdf" thai-tis620 1))
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3061 (greek-iso8859-7
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3062 (normal bdf "etl24-greek.bdf" greek-iso-8bit 1))
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3063 ;; (arabic-iso8859-6 nil) ; not yet available
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3064 (hebrew-iso8859-8
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3065 (normal bdf "etl24-hebrew.bdf" hebrew-iso-8bit 1))
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3066 (katakana-jisx0201
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3067 (normal bdf "12x24rk.bdf" ps-mule-encode-8bit 1))
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3068 (latin-jisx0201
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3069 (normal bdf "12x24rk.bdf" ps-mule-encode-7bit 1))
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3070 (cyrillic-iso8859-5
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3071 (normal bdf "etl24-cyrillic.bdf" cyrillic-iso-8bit 1))
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3072 (latin-iso8859-9
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3073 (normal bdf "etl24-latin5.bdf" iso-latin-5 1))
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3074 (japanese-jisx0208-1978
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3075 (normal bdf "jiskan24.bdf" ps-mule-encode-7bit 2))
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3076 (chinese-gb2312
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3077 (normal bdf "gb24st.bdf" ps-mule-encode-7bit 2))
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3078 (japanese-jisx0208
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3079 (normal bdf "jiskan24.bdf" ps-mule-encode-7bit 2))
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3080 (korean-ksc5601
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3081 (normal bdf "hanglm24.bdf" ps-mule-encode-7bit 2))
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3082 (japanese-jisx0212
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3083 (normal bdf "jisksp40.bdf" ps-mule-encode-7bit 2))
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3084 (chinese-cns11643-1
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3085 (normal bdf "cns-1-40.bdf" ps-mule-encode-7bit 2))
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3086 (chinese-cns11643-2
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3087 (normal bdf "cns-2-40.bdf" ps-mule-encode-7bit 2))
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3088 (chinese-big5-1
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3089 (normal bdf "taipei24.bdf" chinese-big5 2))
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3090 (chinese-big5-2
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3091 (normal bdf "taipei24.bdf" chinese-big5 2))
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3092 (chinese-sisheng
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3093 (normal bdf "etl24-sisheng.bdf" ps-mule-encode-8bit 1))
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3094 (ipa
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3095 (normal bdf "etl24-ipa.bdf" ps-mule-encode-8bit 1))
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3096 (vietnamese-viscii-lower
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3097 (normal bdf "etl24-viscii.bdf" vietnamese-viscii 1))
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3098 (vietnamese-viscii-upper
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3099 (normal bdf "etl24-viscii.bdf" vietnamese-viscii 1))
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3100 (arabic-digit
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3101 (normal bdf "etl24-arabic0.bdf" ps-mule-encode-7bit 1))
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3102 (arabic-1-column
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3103 (normal bdf "etl24-arabic1.bdf" ps-mule-encode-7bit 1))
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3104 ;; (ascii-right-to-left nil) ; not yet available
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3105 (lao
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3106 (normal bdf "mule-lao-24.bdf" lao 1))
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3107 (arabic-2-column
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3108 (normal bdf "etl24-arabic2.bdf" ps-mule-encode-7bit 1))
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3109 (indian-is13194
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3110 (normal bdf "mule-iscii-24.bdf" ps-mule-encode-7bit 1))
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3111 (indian-1-column
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3112 (normal bdf "mule-indian-1col-24.bdf" ps-mule-encode-7bit 2))
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3113 (tibetan-1-column
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3114 (normal bdf "mule-tibmdx-1col-24.bdf" ps-mule-encode-7bit 2))
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3115 (ethiopic
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3116 (normal bdf "ethiomx24f-uni.bdf" ps-mule-encode-ethiopic 2))
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3117 (chinese-cns11643-3
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3118 (normal bdf "cns-3-40.bdf" ps-mule-encode-7bit 2))
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3119 (chinese-cns11643-4
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3120 (normal bdf "cns-4-40.bdf" ps-mule-encode-7bit 2))
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3121 (chinese-cns11643-5
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3122 (normal bdf "cns-5-40.bdf" ps-mule-encode-7bit 2))
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3123 (chinese-cns11643-6
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3124 (normal bdf "cns-6-40.bdf" ps-mule-encode-7bit 2))
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3125 (chinese-cns11643-7
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3126 (normal bdf "cns-7-40.bdf" ps-mule-encode-7bit 2))
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3127 (indian-2-column
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3128 (normal bdf "mule-indian-24.bdf" ps-mule-encode-7bit 2))
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3129 (tibetan
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3130 (normal bdf "mule-tibmdx-24.bdf" ps-mule-encode-7bit 2)))
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3131 "Sample setting of the `ps-mule-font-info-database' to use BDF fonts.
23550
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3132 BDF (Bitmap Distribution Format) is a format used for distributing X's font
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3133 source file.
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3134
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3135 Current default value list for BDF fonts is included in `intlfonts-1.1' which is
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3136 a collection of X11 fonts for all characters supported by Emacs.
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3137
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3138 Using this list as default value to `ps-mule-font-info-database', all characters
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3139 including ASCII and Latin-1 are printed by BDF fonts.
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3140
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3141 See also `ps-mule-font-info-database-ps-bdf'.")
23167
ada869918064 (ps-mule-font-info-database-bdf): The include ASCII
Kenichi Handa <handa@m17n.org>
parents: 23138
diff changeset
3142
ada869918064 (ps-mule-font-info-database-bdf): The include ASCII
Kenichi Handa <handa@m17n.org>
parents: 23138
diff changeset
3143 (defconst ps-mule-font-info-database-ps-bdf
23550
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3144 (cons (car ps-mule-font-info-database-latin)
23167
ada869918064 (ps-mule-font-info-database-bdf): The include ASCII
Kenichi Handa <handa@m17n.org>
parents: 23138
diff changeset
3145 (cdr (cdr ps-mule-font-info-database-bdf)))
23550
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3146 "Sample setting of the `ps-mule-font-info-database' to use BDF fonts.
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3147
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3148 Current default value list for BDF fonts is included in `intlfonts-1.1' which is
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3149 a collection of X11 fonts for all characters supported by Emacs.
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3150
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3151 Using this list as default value to `ps-mule-font-info-database', all characters
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3152 except ASCII and Latin-1 characters are printed by BDF fonts. ASCII and Latin-1
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3153 characters are printed by PostScript font specified by `ps-font-family' and
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3154 `ps-header-font-family'.
23167
ada869918064 (ps-mule-font-info-database-bdf): The include ASCII
Kenichi Handa <handa@m17n.org>
parents: 23138
diff changeset
3155
ada869918064 (ps-mule-font-info-database-bdf): The include ASCII
Kenichi Handa <handa@m17n.org>
parents: 23138
diff changeset
3156 See also `ps-mule-font-info-database-bdf'.")
23091
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3157
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3158 ;; Two typical encoding functions for PostScript fonts.
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3159
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3160 (defun ps-mule-encode-7bit (string)
23550
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3161 (ps-mule-encode-bit string 0))
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3162
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3163 (defun ps-mule-encode-8bit (string)
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3164 (ps-mule-encode-bit string 128))
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3165
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3166 (defun ps-mule-encode-bit (string delta)
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3167 (let* ((dim (charset-dimension (char-charset (ps-mule-string-char string 0))))
23091
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3168 (len (* (ps-mule-chars-in-string string) dim))
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3169 (str (make-string len 0))
23550
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3170 (i 0)
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3171 (j 0))
23091
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3172 (if (= dim 1)
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3173 (while (< j len)
23550
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3174 (aset str j
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3175 (+ (nth 1 (split-char (ps-mule-string-char string i))) delta))
23091
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3176 (setq i (ps-mule-next-index string i)
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3177 j (1+ j)))
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3178 (while (< j len)
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3179 (let ((split (split-char (ps-mule-string-char string i))))
23550
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3180 (aset str j (+ (nth 1 split) delta))
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3181 (aset str (1+ j) (+ (nth 2 split) delta))
23091
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3182 (setq i (ps-mule-next-index string i)
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3183 j (+ j 2)))))
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3184 str))
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3185
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3186 ;; Special encoding function for Ethiopic.
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3187 (define-ccl-program ccl-encode-ethio-unicode
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3188 `(1
23167
ada869918064 (ps-mule-font-info-database-bdf): The include ASCII
Kenichi Handa <handa@m17n.org>
parents: 23138
diff changeset
3189 ((read r2)
ada869918064 (ps-mule-font-info-database-bdf): The include ASCII
Kenichi Handa <handa@m17n.org>
parents: 23138
diff changeset
3190 (loop
ada869918064 (ps-mule-font-info-database-bdf): The include ASCII
Kenichi Handa <handa@m17n.org>
parents: 23138
diff changeset
3191 (if (r2 == ,leading-code-private-22)
ada869918064 (ps-mule-font-info-database-bdf): The include ASCII
Kenichi Handa <handa@m17n.org>
parents: 23138
diff changeset
3192 ((read r0)
ada869918064 (ps-mule-font-info-database-bdf): The include ASCII
Kenichi Handa <handa@m17n.org>
parents: 23138
diff changeset
3193 (if (r0 == ,(charset-id 'ethiopic))
ada869918064 (ps-mule-font-info-database-bdf): The include ASCII
Kenichi Handa <handa@m17n.org>
parents: 23138
diff changeset
3194 ((read r1 r2)
ada869918064 (ps-mule-font-info-database-bdf): The include ASCII
Kenichi Handa <handa@m17n.org>
parents: 23138
diff changeset
3195 (r1 &= 127) (r2 &= 127)
ada869918064 (ps-mule-font-info-database-bdf): The include ASCII
Kenichi Handa <handa@m17n.org>
parents: 23138
diff changeset
3196 (call ccl-encode-ethio-font)
ada869918064 (ps-mule-font-info-database-bdf): The include ASCII
Kenichi Handa <handa@m17n.org>
parents: 23138
diff changeset
3197 (write r1)
ada869918064 (ps-mule-font-info-database-bdf): The include ASCII
Kenichi Handa <handa@m17n.org>
parents: 23138
diff changeset
3198 (write-read-repeat r2))
ada869918064 (ps-mule-font-info-database-bdf): The include ASCII
Kenichi Handa <handa@m17n.org>
parents: 23138
diff changeset
3199 ((write r2 r0)
ada869918064 (ps-mule-font-info-database-bdf): The include ASCII
Kenichi Handa <handa@m17n.org>
parents: 23138
diff changeset
3200 (repeat))))
ada869918064 (ps-mule-font-info-database-bdf): The include ASCII
Kenichi Handa <handa@m17n.org>
parents: 23138
diff changeset
3201 (write-read-repeat r2))))))
23091
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3202
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3203 (defun ps-mule-encode-ethiopic (string)
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3204 (ccl-execute-on-string (symbol-value 'ccl-encode-ethio-unicode)
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3205 (make-vector 9 nil)
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3206 string))
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3207
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3208 ;; A charset which we are now processing.
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3209 (defvar ps-mule-current-charset nil)
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3210
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3211 (defun ps-mule-get-font-spec (charset font-type)
23550
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3212 "Return FONT-SPEC for printing characters CHARSET with FONT-TYPE.
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3213 FONT-SPEC is a list that has the form:
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3214
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3215 (FONT-SRC FONT-NAME ENCODING BYTES)
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3216
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3217 FONT-SPEC is extracted from `ps-mule-font-info-database'.
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3218
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3219 See the documentation of `ps-mule-font-info-database' for the meaning of each
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3220 element of the list."
23091
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3221 (let ((slot (cdr (assq charset ps-mule-font-info-database))))
23550
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3222 (and slot
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3223 (cdr (or (assq font-type slot)
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3224 (and (eq font-type 'bold-italic)
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3225 (or (assq 'bold slot) (assq 'italic slot)))
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3226 (assq 'normal slot))))))
23091
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3227
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3228 ;; Functions to access each element of FONT-SPEC.
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3229 (defsubst ps-mule-font-spec-src (font-spec) (car font-spec))
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3230 (defsubst ps-mule-font-spec-name (font-spec) (nth 1 font-spec))
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3231 (defsubst ps-mule-font-spec-encoding (font-spec) (nth 2 font-spec))
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3232 (defsubst ps-mule-font-spec-bytes (font-spec) (nth 3 font-spec))
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3233
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3234 (defsubst ps-mule-printable-p (charset)
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3235 "Non-nil if characters in CHARSET is printable."
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3236 (ps-mule-get-font-spec charset 'normal))
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3237
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3238 (defconst ps-mule-external-libraries
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3239 '((builtin nil
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3240 nil nil nil)
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3241 (bdf nil
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3242 bdf-generate-prologue bdf-generate-font bdf-generate-glyphs)
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3243 (pcf nil
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3244 pcf-generate-prologue pcf-generate-font pcf-generate-glyphs)
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3245 (vflib nil
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3246 vflib-generate-prologue vflib-generate-font vflib-generate-glyphs))
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3247 "Alist of information of external libraries to support PostScript printing.
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3248 Each element has the form:
23550
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3249
23091
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3250 (FONT-SRC INITIALIZED-P PROLOGUE-FUNC FONT-FUNC GLYPHS-FUNC)
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3251
23550
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3252 FONT-SRC is the font source: builtin, bdf, pcf, or vflib. Except for `builtin',
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3253 libraries must have the same name as indicated by FONT-SRC. Currently, we only
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3254 have the `bdf' library.
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3255
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3256 INITIALIZED-P indicates if this library is initialized or not.
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3257
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3258 PROLOGUE-FUNC is a function to generate PostScript code which define several
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3259 PostScript procedures that will be called by FONT-FUNC and GLYPHS-FUNC. It is
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3260 called with no argument, and should return a list of strings.
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3261
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3262 FONT-FUNC is a function to generate PostScript code which define a new font. It
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3263 is called with one argument FONT-SPEC, and should return a list of strings.
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3264
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3265 GLYPHS-FUNC is a function to generate PostScript code which define glyphs of
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3266 characters. It is called with three arguments FONT-SPEC, CODE-LIST, and BYTES,
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3267 and should return a list of strings.")
23091
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3268
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3269 (defun ps-mule-init-external-library (font-spec)
23550
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3270 "Initialize external library specified by FONT-SPEC for PostScript printing.
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3271 See the documentation of `ps-mule-get-font-spec' for FONT-SPEC's meaning."
23091
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3272 (let* ((font-src (ps-mule-font-spec-src font-spec))
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3273 (slot (assq font-src ps-mule-external-libraries)))
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3274 (or (not font-src)
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3275 (nth 1 slot)
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3276 (let ((func (nth 2 slot)))
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3277 (if func
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3278 (progn
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3279 (or (featurep font-src) (require font-src))
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3280 (ps-output-prologue (funcall func))))
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3281 (setcar (cdr slot) t)))))
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3282
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3283 ;; Cached glyph information of fonts, alist of:
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3284 ;; (FONT-NAME ((FONT-TYPE-NUMBER . SCALED-FONT-NAME) ...)
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3285 ;; cache CODE0 CODE1 ...)
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3286 (defvar ps-mule-font-cache nil)
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3287
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3288 (defun ps-mule-generate-font (font-spec charset)
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3289 "Generate PostScript codes to define a new font in FONT-SPEC for CHARSET."
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3290 (let* ((font-cache (assoc (ps-mule-font-spec-name font-spec)
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3291 ps-mule-font-cache))
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3292 (font-src (ps-mule-font-spec-src font-spec))
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3293 (font-name (ps-mule-font-spec-name font-spec))
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3294 (func (nth 3 (assq font-src ps-mule-external-libraries)))
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3295 (scaled-font-name
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3296 (if (eq charset 'ascii)
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3297 (format "f%d" ps-current-font)
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3298 (format "f%02x-%d"
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3299 (charset-id charset) ps-current-font))))
23550
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3300 (and func (not font-cache)
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3301 (ps-output-prologue (funcall func charset font-spec)))
23091
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3302 (ps-output-prologue
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3303 (list (format "/%s %f /%s Def%sFontMule\n"
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3304 scaled-font-name ps-font-size font-name
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3305 (if (eq ps-mule-current-charset 'ascii) "Ascii" ""))))
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3306 (if font-cache
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3307 (setcar (cdr font-cache)
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3308 (cons (cons ps-current-font scaled-font-name)
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3309 (nth 1 font-cache)))
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3310 (setq font-cache (list font-name
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3311 (list (cons ps-current-font scaled-font-name))
23550
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3312 'cache)
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3313 ps-mule-font-cache (cons font-cache ps-mule-font-cache)))
23091
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3314 font-cache))
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3315
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3316 (defun ps-mule-generate-glyphs (font-spec code-list)
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3317 "Generate PostScript codes which generate glyphs for CODE-LIST of FONT-SPEC."
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3318 (let* ((font-src (ps-mule-font-spec-src font-spec))
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3319 (func (nth 4 (assq font-src ps-mule-external-libraries))))
23550
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3320 (and func
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3321 (ps-output-prologue
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3322 (funcall func font-spec code-list
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3323 (ps-mule-font-spec-bytes font-spec))))))
23091
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3324
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3325 (defvar ps-last-font nil)
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3326
23550
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3327 (defun ps-mule-prepare-font (font-spec string charset &optional no-setfont)
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3328 "Generate PostScript codes to print STRING of CHARSET by font FONT-SPEC.
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3329
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3330 The generated code is inserted on prologue part except the code that sets the
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3331 current font (using PostScript procedure `FM').
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3332
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3333 If optional arg NO-SETFONT is non-nil, don't generate the code for setting the
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3334 current font."
23091
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3335 (let ((font-cache (assoc (ps-mule-font-spec-name font-spec)
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3336 ps-mule-font-cache)))
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3337 (or (and font-cache (assq ps-current-font (nth 1 font-cache)))
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3338 (setq font-cache (ps-mule-generate-font font-spec charset)))
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3339 (or no-setfont
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3340 (let ((new-font (cdr (assq ps-current-font (nth 1 font-cache)))))
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3341 (or (equal new-font ps-last-font)
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3342 (progn
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3343 (ps-output (format "/%s FM\n" new-font))
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3344 (setq ps-last-font new-font)))))
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3345 (if (nth 4 (assq (ps-mule-font-spec-src font-spec)
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3346 ps-mule-external-libraries))
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3347 ;; We have to generate PostScript codes which define glyphs.
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3348 (let* ((cached-codes (nthcdr 2 font-cache))
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3349 (newcodes nil)
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3350 (bytes (ps-mule-font-spec-bytes font-spec))
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3351 (len (length string))
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3352 (i 0)
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3353 code)
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3354 (while (< i len)
23550
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3355 (setq code (if (= bytes 1)
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3356 (aref string i)
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3357 (+ (* (aref string i) 256) (aref string (1+ i)))))
23091
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3358 (or (memq code cached-codes)
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3359 (progn
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3360 (setq newcodes (cons code newcodes))
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3361 (setcdr cached-codes (cons code (cdr cached-codes)))))
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3362 (setq i (+ i bytes)))
23550
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3363 (and newcodes
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3364 (ps-mule-generate-glyphs font-spec newcodes))))))
23091
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3365
23551
385d7c586ad2 Doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 23550
diff changeset
3366 ;; List of charsets of multi-byte characters in a text being printed.
385d7c586ad2 Doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 23550
diff changeset
3367 ;; If the text doesn't contain any multi-byte characters (i.e. only
23091
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3368 ;; ASCII), the value is nil.
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3369 (defvar ps-mule-charset-list nil)
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3370
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3371 (defvar ps-mule-prologue-generated nil)
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3372
23550
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3373 ;; This is a PostScript code inserted in the header of generated PostScript.
23091
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3374 (defconst ps-mule-prologue
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3375 "%%%% Start of Mule Section
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3376
23550
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3377 %% Working dictionary for general use.
23091
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3378 /MuleDict 10 dict def
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3379
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3380 %% Define already scaled font for non-ASCII character sets.
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3381 /DefFontMule { % fontname size basefont |- --
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3382 findfont exch scalefont definefont pop
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3383 } bind def
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3384
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3385 %% Define already scaled font for ASCII character sets.
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3386 /DefAsciiFontMule { % fontname size basefont |-
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3387 MuleDict begin
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3388 findfont dup /Encoding get /ISOLatin1Encoding exch def
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3389 exch scalefont reencodeFontISO
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3390 end
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3391 } def
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3392
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3393 %% Set the specified non-ASCII font to use. It doesn't install
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3394 %% Ascent, etc.
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3395 /FM { % fontname |- --
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3396 findfont setfont
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3397 } bind def
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3398
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3399 %% Show vacant box for characters which don't have appropriate font.
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3400 /SB { % count column |- --
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3401 SpaceWidth mul /w exch def
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3402 1 exch 1 exch { %for
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3403 pop
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3404 gsave
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3405 0 setlinewidth
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3406 0 Descent rmoveto w 0 rlineto
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3407 0 LineHeight rlineto w neg 0 rlineto closepath stroke
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3408 grestore
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3409 w 0 rmoveto
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3410 } for
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3411 } bind def
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3412
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3413 %% Flag to tell if we are now handling a composite character. This is
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3414 %% defined here because both composite character handler and bitmap font
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3415 %% handler require it.
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3416 /Cmpchar false def
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3417
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3418 %%%% End of Mule Section
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3419
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3420 "
23551
385d7c586ad2 Doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 23550
diff changeset
3421 "PostScript code for printing multi-byte characters.")
23091
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3422
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3423 (defun ps-mule-skip-same-charset (charset)
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3424 "Skip characters of CHARSET following the current point."
23550
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3425 (while (eq (charset-after) charset)
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3426 (forward-char 1)))
23091
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3427
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3428 (defun ps-mule-find-wrappoint (from to char-width)
23550
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3429 "Find the longest sequence which is printable in the current line.
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3430
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3431 The search starts at FROM and goes until TO. It is assumed that all characters
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3432 between FROM and TO belong to a charset in `ps-mule-current-charset'.
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3433
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3434 CHAR-WIDTH is the average width of ASCII characters in the current font.
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3435
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3436 Returns the value:
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3437
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3438 (ENDPOS . RUN-WIDTH)
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3439
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3440 Where ENDPOS is the end position of the sequence and RUN-WIDTH is the width of
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3441 the sequence."
23091
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3442 (let (run-width)
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3443 (if (eq ps-mule-current-charset 'composition)
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3444 ;; We must draw one char by one.
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3445 (let ((ch (char-after from)))
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3446 (setq run-width (* (char-width ch) char-width))
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3447 (if (> run-width ps-width-remaining)
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3448 (setq run-width ps-width-remaining)
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3449 (setq from (ps-mule-next-point from))))
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3450 ;; We assume that all characters in this range have the same width.
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3451 (let ((width (charset-width ps-mule-current-charset)))
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3452 (setq run-width (* (- to from) char-width width))
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3453 (if (> run-width ps-width-remaining)
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3454 (setq from (min
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3455 (+ from (truncate (/ ps-width-remaining char-width)))
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3456 to)
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3457 run-width ps-width-remaining)
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3458 (setq from to))))
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3459 (cons from run-width)))
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3460
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3461 (defun ps-mule-plot-string (from to &optional bg-color)
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3462 "Generate PostScript code for ploting characters in the region FROM and TO.
23550
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3463
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3464 It is assumed that all characters in this region belong to a charset in
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3465 `ps-mule-current-charset'.
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3466
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3467 Optional argument BG-COLOR specifies background color.
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3468
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3469 Returns the value:
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3470
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3471 (ENDPOS . RUN-WIDTH)
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3472
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3473 Where ENDPOS is the end position of the sequence and RUN-WIDTH is the width of
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3474 the sequence."
23091
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3475 (let* ((wrappoint (ps-mule-find-wrappoint
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3476 from to (ps-avg-char-width 'ps-font-for-text)))
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3477 (to (car wrappoint))
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3478 (font-type (car (nth ps-current-font
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3479 (ps-font-alist 'ps-font-for-text))))
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3480 (font-spec (ps-mule-get-font-spec ps-mule-current-charset font-type))
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3481 (string (buffer-substring-no-properties from to)))
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3482 (cond
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3483 ((= from to)
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3484 ;; We can't print any more characters in the current line.
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3485 nil)
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3486
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3487 (font-spec
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3488 ;; We surely have a font for printing this character set.
23550
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3489 (ps-output-string (ps-mule-string-encoding font-spec string))
23091
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3490 (ps-output " S\n"))
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3491
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3492 ((eq ps-mule-current-charset 'latin-iso8859-1)
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3493 ;; Latin-1 can be printed by a normal ASCII font.
23550
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3494 (ps-output-string (ps-mule-string-ascii string))
23091
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3495 (ps-output " S\n"))
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3496
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3497 ((eq ps-mule-current-charset 'composition)
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3498 (let* ((ch (char-after from))
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3499 (width (char-width ch))
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3500 (ch-list (decompose-composite-char ch 'list t)))
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3501 (if (consp (nth 1 ch-list))
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3502 (ps-mule-plot-rule-cmpchar ch-list width font-type)
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3503 (ps-mule-plot-cmpchar ch-list width t font-type))))
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3504
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3505 (t
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3506 ;; No way to print this charset. Just show a vacant box of an
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3507 ;; appropriate width.
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3508 (ps-output (format "%d %d SB\n"
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3509 (length string)
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3510 (if (eq ps-mule-current-charset 'composition)
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3511 (char-width (char-after from))
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3512 (charset-width ps-mule-current-charset))))))
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3513 wrappoint))
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3514
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3515 ;; Composite font support
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3516
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3517 (defvar ps-mule-cmpchar-prologue-generated nil)
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3518
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3519 (defconst ps-mule-cmpchar-prologue
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3520 "%%%% Composite character handler
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3521 /CmpcharWidth 0 def
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3522 /CmpcharRelativeCompose 0 def
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3523 /CmpcharRelativeSkip 0.4 def
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3524
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3525 %% Get a bounding box (relative to currentpoint) of STR.
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3526 /GetPathBox { % str |- --
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3527 gsave
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3528 currentfont /FontType get 3 eq { %ifelse
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3529 stringwidth pop pop
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3530 } {
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3531 currentpoint /y exch def pop
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3532 false charpath flattenpath pathbbox
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3533 y sub /URY exch def pop
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3534 y sub /LLY exch def pop
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3535 } ifelse
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3536 grestore
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3537 } bind def
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3538
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3539 %% Beginning of composite char.
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3540 /BC { % str xoff width |- --
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3541 /Cmpchar true def
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3542 /CmpcharWidth exch def
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3543 currentfont /RelativeCompose known {
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3544 /CmpcharRelativeCompose currentfont /RelativeCompose get def
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3545 } {
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3546 /CmpcharRelativeCompose false def
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3547 } ifelse
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3548 /bgsave bg def /bgcolorsave bgcolor def
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3549 /Effectsave Effect def
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3550 gsave % Reflect effect only at first
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3551 /Effect Effect 1 2 add 4 add 16 add and def
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3552 /f0 findfont setfont ( ) 0 CmpcharWidth getinterval S
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3553 grestore
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3554 /Effect Effectsave 8 32 add and def % enable only shadow and outline
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3555 false BG
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3556 gsave SpaceWidth mul 0 rmoveto dup GetPathBox S grestore
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3557 /y currentpoint exch pop def
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3558 /HIGH URY y add def /LOW LLY y add def
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3559 } bind def
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3560
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3561 %% End of composite char.
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3562 /EC { % -- |- --
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3563 /bg bgsave def /bgcolor bgcolorsave def
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3564 /Effect Effectsave def
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3565 /Cmpchar false def
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3566 CmpcharWidth SpaceWidth mul 0 rmoveto
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3567 } bind def
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3568
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3569 %% Rule base composition
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3570 /RBC { % str xoff gref nref |- --
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3571 /nref exch def /gref exch def
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3572 gsave
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3573 SpaceWidth mul 0 rmoveto
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3574 dup
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3575 GetPathBox
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3576 [ HIGH currentpoint exch pop LOW HIGH LOW add 2 div ] gref get
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3577 [ URY LLY sub LLY neg 0 URY LLY sub 2 div ] nref get
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3578 sub /btm exch def
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3579 /top btm URY LLY sub add def
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3580 top HIGH gt { /HIGH top def } if
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3581 btm LOW lt { /LOW btm def } if
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3582 currentpoint pop btm LLY sub moveto
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3583 S
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3584 grestore
23550
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3585 } bind def
23091
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3586
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3587 %% Relative composition
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3588 /RLC { % str |- --
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3589 gsave
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3590 dup GetPathBox
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3591 CmpcharRelativeCompose type /integertype eq {
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3592 LLY CmpcharRelativeCompose gt { % compose on top
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3593 currentpoint pop HIGH LLY sub CmpcharRelativeSkip add moveto
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3594 /HIGH HIGH URY LLY sub add CmpcharRelativeSkip add def
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3595 } { URY 0 le { % compose under bottom
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3596 currentpoint pop LOW LLY add CmpcharRelativeSkip sub moveto
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3597 /LOW LOW URY LLY sub sub CmpcharRelativeSkip sub def
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3598 } if } ifelse } if
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3599 S
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3600 grestore
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3601 } bind def
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3602 %%%% End of composite character handler
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3603
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3604 "
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3605 "PostScript code for printing composite characters.")
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3606
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3607 (defun ps-mule-plot-rule-cmpchar (ch-rule-list total-width font-type)
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3608 (let* ((leftmost 0.0)
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3609 (rightmost (float (char-width (car ch-rule-list))))
23550
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3610 (the-list (cons '(3 . 3) ch-rule-list))
23091
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3611 (cmpchar-elements nil))
23550
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3612 (while the-list
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3613 (let* ((this (car the-list))
23091
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3614 (gref (car this))
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3615 (nref (cdr this))
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3616 ;; X-axis info (0:left, 1:center, 2:right)
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3617 (gref-x (% gref 3))
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3618 (nref-x (% nref 3))
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3619 ;; Y-axis info (0:top, 1:base, 2:bottom, 3:center)
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3620 (gref-y (if (= gref 4) 3 (/ gref 3)))
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3621 (nref-y (if (= nref 4) 3 (/ nref 3)))
23550
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3622 (width (float (char-width (car (cdr the-list)))))
23091
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3623 left)
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3624 (setq left (+ leftmost
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3625 (/ (* (- rightmost leftmost) gref-x) 2.0)
23550
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3626 (- (/ (* nref-x width) 2.0)))
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3627 cmpchar-elements (cons (list (car (cdr the-list))
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3628 left gref-y nref-y)
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3629 cmpchar-elements)
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3630 leftmost (min left leftmost)
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3631 rightmost (max (+ left width) rightmost)
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3632 the-list (nthcdr 2 the-list))))
23091
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3633 (if (< leftmost 0)
23550
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3634 (let ((the-list cmpchar-elements))
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3635 (while the-list
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3636 (setcar (cdr (car the-list))
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3637 (- (nth 1 (car the-list)) leftmost))
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3638 (setq the-list (cdr the-list)))))
23091
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3639 (ps-mule-plot-cmpchar (nreverse cmpchar-elements)
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3640 total-width nil font-type)))
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3641
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3642 (defun ps-mule-plot-cmpchar (elements total-width relativep font-type)
23550
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3643 (let* ((elt (car elements))
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3644 (ch (if relativep elt (car elt))))
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3645 (ps-output-string (ps-mule-prepare-cmpchar-font ch font-type))
23091
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3646 (ps-output (format " %d %d BC "
23550
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3647 (if relativep 0 (nth 1 elt))
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3648 total-width))
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3649 (while (setq elements (cdr elements))
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3650 (setq elt (car elements)
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3651 ch (if relativep elt (car elt)))
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3652 (ps-output-string (ps-mule-prepare-cmpchar-font ch font-type))
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3653 (ps-output (if relativep
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3654 " RLC "
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3655 (format " %d %d %d RBC "
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3656 (nth 1 elt) (nth 2 elt) (nth 3 elt))))))
23091
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3657 (ps-output "EC\n"))
23550
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3658
23091
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3659 (defun ps-mule-prepare-cmpchar-font (char font-type)
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3660 (let* ((ps-mule-current-charset (char-charset char))
23550
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3661 (font-spec (ps-mule-get-font-spec ps-mule-current-charset font-type)))
23091
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3662 (cond (font-spec
23550
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3663 (ps-mule-string-encoding font-spec (char-to-string char)))
23091
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3664
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3665 ((eq ps-mule-current-charset 'latin-iso8859-1)
23550
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3666 (ps-mule-string-ascii (char-to-string char)))
23091
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3667
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3668 (t
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3669 ;; No font for CHAR.
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3670 (ps-set-font ps-current-font)
23550
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3671 " "))))
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3672
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3673 (defun ps-mule-string-ascii (str)
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3674 (ps-set-font ps-current-font)
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3675 (string-as-unibyte (encode-coding-string str 'iso-latin-1)))
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3676
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3677 (defun ps-mule-string-encoding (font-spec str)
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3678 (let ((encoding (ps-mule-font-spec-encoding font-spec)))
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3679 (cond ((coding-system-p encoding)
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3680 (setq str (encode-coding-string str encoding)))
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3681 ((functionp encoding)
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3682 (setq str (funcall encoding str)))
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3683 (encoding
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3684 (error "Invalid coding system or function: %s" encoding)))
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3685 (setq str (string-as-unibyte str))
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3686 (if (ps-mule-font-spec-src font-spec)
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3687 (ps-mule-prepare-font font-spec str ps-mule-current-charset)
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3688 (ps-set-font ps-current-font))
23091
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3689 str))
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3690
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3691 ;; Bitmap font support
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3692
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3693 (defvar ps-mule-bitmap-prologue-generated nil)
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3694
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3695 (defconst ps-mule-bitmap-prologue
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3696 "%%%% Bitmap font handler
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3697
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3698 /str7 7 string def % working area
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3699
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3700 %% We grow the dictionary one bunch (1024 entries) by one.
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3701 /BitmapDictArray 256 array def
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3702 /BitmapDictLength 1024 def
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3703 /BitmapDictIndex -1 def
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3704
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3705 /NewBitmapDict { % -- |- --
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3706 /BitmapDictIndex BitmapDictIndex 1 add def
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3707 BitmapDictArray BitmapDictIndex BitmapDictLength dict put
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3708 } bind def
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3709
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3710 %% Make at least one dictionary.
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3711 NewBitmapDict
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3712
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3713 /AddBitmap { % gloval-charname bitmap-data |- --
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3714 BitmapDictArray BitmapDictIndex get
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3715 dup length BitmapDictLength ge {
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3716 pop
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3717 NewBitmapDict
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3718 BitmapDictArray BitmapDictIndex get
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3719 } if
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3720 3 1 roll put
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3721 } bind def
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3722
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3723 /GetBitmap { % gloval-charname |- bitmap-data
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3724 0 1 BitmapDictIndex { BitmapDictArray exch get begin } for
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3725 load
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3726 0 1 BitmapDictIndex { pop end } for
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3727 } bind def
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3728
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3729 %% Return a global character name which can be used as a key in the
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3730 %% bitmap dictionary.
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3731 /GlobalCharName { % fontidx code1 code2 |- gloval-charname
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3732 exch 256 mul add exch 65536 mul add 16777216 add 16 str7 cvrs 0 66 put
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3733 str7 cvn
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3734 } bind def
23550
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3735
23091
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3736 %% Character code holder for a 2-byte character.
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3737 /FirstCode -1 def
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3738
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3739 %% Glyph rendering procedure
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3740 /BuildGlyphCommon { % fontdict charname |- --
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3741 1 index /FontDimension get 1 eq { /FirstCode 0 store } if
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3742 NameIndexDict exch get % STACK: fontdict charcode
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3743 FirstCode 0 lt { %ifelse
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3744 %% This is the first byte of a 2-byte character. Just
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3745 %% remember it for the moment.
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3746 /FirstCode exch store
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3747 pop
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3748 0 0 setcharwidth
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3749 } {
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3750 1 index /FontSize get /size exch def
23167
ada869918064 (ps-mule-font-info-database-bdf): The include ASCII
Kenichi Handa <handa@m17n.org>
parents: 23138
diff changeset
3751 1 index /FontSpaceWidthRatio get /ratio exch def
23091
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3752 1 index /FontIndex get exch FirstCode exch
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3753 GlobalCharName GetBitmap /bmp exch def
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3754 %% bmp == [ DWIDTH BBX-WIDTH BBX-HEIGHT BBX-XOFF BBX-YOFF BITMAP ]
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3755 Cmpchar { %ifelse
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3756 /FontMatrix get [ exch { size div } forall ] /mtrx exch def
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3757 bmp 3 get bmp 4 get mtrx transform
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3758 /LLY exch def pop
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3759 bmp 1 get bmp 3 get add bmp 2 get bmp 4 get add mtrx transform
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3760 /URY exch def pop
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3761 } {
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3762 pop
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3763 } ifelse
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3764 /FirstCode -1 store
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3765
23167
ada869918064 (ps-mule-font-info-database-bdf): The include ASCII
Kenichi Handa <handa@m17n.org>
parents: 23138
diff changeset
3766 bmp 0 get SpaceWidthRatio ratio div mul size div 0 % wx wy
23091
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3767 setcharwidth % We can't use setcachedevice here.
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3768
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3769 bmp 1 get 0 gt bmp 2 get 0 gt and {
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3770 bmp 1 get bmp 2 get % width height
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3771 true % polarity
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3772 [ size 0 0 size neg bmp 3 get neg bmp 2 get bmp 4 get add ] % matrix
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3773 bmp 5 1 getinterval cvx % datasrc
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3774 imagemask
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3775 } if
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3776 } ifelse
23550
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3777 } bind def
23091
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3778
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3779 /BuildCharCommon {
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3780 1 index /Encoding get exch get
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3781 1 index /BuildGlyph get exec
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3782 } bind def
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3783
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3784 %% Bitmap font creater
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3785
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3786 %% Common Encoding shared by all bitmap fonts.
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3787 /EncodingCommon 256 array def
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3788 %% Mapping table from character name to character code.
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3789 /NameIndexDict 256 dict def
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3790 0 1 255 { %for
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3791 /idx exch def
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3792 /idxname idx 256 add 16 (XXX) cvrs dup 0 67 put cvn def % `C' == 67
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3793 EncodingCommon idx idxname put
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3794 NameIndexDict idxname idx put
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3795 } for
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3796
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3797 /GlobalFontIndex 0 def
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3798
23167
ada869918064 (ps-mule-font-info-database-bdf): The include ASCII
Kenichi Handa <handa@m17n.org>
parents: 23138
diff changeset
3799 %% fontname dim col fontsize relative-compose baseline-offset fbbx |- --
23091
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3800 /BitmapFont {
23167
ada869918064 (ps-mule-font-info-database-bdf): The include ASCII
Kenichi Handa <handa@m17n.org>
parents: 23138
diff changeset
3801 15 dict begin
23091
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3802 /FontBBox exch def
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3803 /BaselineOffset exch def
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3804 /RelativeCompose exch def
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3805 /FontSize exch def
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3806 /FontBBox [ FontBBox { FontSize div } forall ] def
23167
ada869918064 (ps-mule-font-info-database-bdf): The include ASCII
Kenichi Handa <handa@m17n.org>
parents: 23138
diff changeset
3807 FontBBox 2 get FontBBox 0 get sub exch div
ada869918064 (ps-mule-font-info-database-bdf): The include ASCII
Kenichi Handa <handa@m17n.org>
parents: 23138
diff changeset
3808 /FontSpaceWidthRatio exch def
23091
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3809 /FontDimension exch def
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3810 /FontIndex GlobalFontIndex def
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3811 /FontType 3 def
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3812 /FontMatrix matrix def
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3813 /Encoding EncodingCommon def
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3814 /BuildGlyph { BuildGlyphCommon } def
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3815 /BuildChar { BuildCharCommon } def
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3816 currentdict end
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3817 definefont pop
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3818 /GlobalFontIndex GlobalFontIndex 1 add def
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3819 } bind def
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3820
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3821 %% Define a new bitmap font.
23167
ada869918064 (ps-mule-font-info-database-bdf): The include ASCII
Kenichi Handa <handa@m17n.org>
parents: 23138
diff changeset
3822 %% fontname dim col fontsize relative-compose baseline-offset fbbx |- --
23091
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3823 /NF {
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3824 /fbbx exch def
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3825 %% Convert BDF's FontBoundingBox to PostScript's FontBBox
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3826 [ fbbx 2 get fbbx 3 get
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3827 fbbx 2 get fbbx 0 get add fbbx 3 get fbbx 1 get add ]
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3828 BitmapFont
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3829 } bind def
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3830
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3831 %% Define a glyph for the specified font and character.
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3832 /NG { % fontname charcode bitmap-data |- --
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3833 /bmp exch def
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3834 exch findfont dup /BaselineOffset get bmp 4 get add bmp exch 4 exch put
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3835 /FontIndex get exch
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3836 dup 256 idiv exch 256 mod GlobalCharName
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3837 bmp AddBitmap
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3838 } bind def
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3839 %%%% End of bitmap font handler
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3840
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3841 ")
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3842
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3843 ;; External library support.
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3844
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3845 ;; The following three functions are to be called from external
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3846 ;; libraries which support bitmap fonts (e.g. `bdf') to get
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3847 ;; appropriate PostScript code.
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3848
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3849 (defun ps-mule-generate-bitmap-prologue ()
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3850 (unless ps-mule-bitmap-prologue-generated
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3851 (setq ps-mule-bitmap-prologue-generated t)
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3852 (list ps-mule-bitmap-prologue)))
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3853
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3854 (defun ps-mule-generate-bitmap-font (&rest args)
23167
ada869918064 (ps-mule-font-info-database-bdf): The include ASCII
Kenichi Handa <handa@m17n.org>
parents: 23138
diff changeset
3855 (list (apply 'format "/%s %d %d %f %S %d %S NF\n" args)))
23091
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3856
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3857 (defun ps-mule-generate-bitmap-glyph (font-name code dwidth bbx bitmap)
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3858 (format "/%s %d [ %d %d %d %d %d <%s> ] NG\n"
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3859 font-name code
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3860 dwidth (aref bbx 0) (aref bbx 1) (aref bbx 2) (aref bbx 3)
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3861 bitmap))
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3862
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3863 ;; Mule specific initializers.
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3864
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3865 (defun ps-mule-initialize ()
23551
385d7c586ad2 Doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 23550
diff changeset
3866 "Produce Poscript code in the prologue part for multi-byte characters."
23550
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3867 (setq ps-mule-font-info-database
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3868 (cond ((eq ps-multibyte-buffer 'non-latin-printer)
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3869 ps-mule-font-info-database-ps)
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3870 ((eq ps-multibyte-buffer 'bdf-font)
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3871 ps-mule-font-info-database-bdf)
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3872 ((eq ps-multibyte-buffer 'bdf-font-except-latin)
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3873 ps-mule-font-info-database-ps-bdf)
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3874 (t
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3875 ps-mule-font-info-database-latin))
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3876 ps-mule-current-charset 'ascii
23091
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3877 ps-mule-font-cache nil
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3878 ps-mule-prologue-generated nil
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3879 ps-mule-cmpchar-prologue-generated nil
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3880 ps-mule-bitmap-prologue-generated nil)
23550
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3881 (mapcar `(lambda (x) (setcar (cdr x) nil))
23091
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3882 ps-mule-external-libraries))
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3883
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3884 (defun ps-mule-begin (from to)
23550
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3885 (and (boundp 'enable-multibyte-characters)
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3886 enable-multibyte-characters
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3887 ;; Initialize `ps-mule-charset-list'. If some characters aren't
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3888 ;; printable, warn it.
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3889 (let ((charsets (delete 'ascii (find-charset-region from to))))
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3890 (setq ps-mule-charset-list charsets)
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3891 (save-excursion
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3892 (goto-char from)
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3893 (and (search-forward "\200" to t)
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3894 (setq ps-mule-charset-list
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3895 (cons 'composition ps-mule-charset-list))))
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3896 (while charsets
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3897 (cond
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3898 ((or (eq (car charsets) 'composition)
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3899 (ps-mule-printable-p (car charsets)))
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3900 (setq charsets (cdr charsets)))
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3901 ((y-or-n-p "Font for some characters not found, continue anyway? ")
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3902 (setq charsets nil))
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3903 (t
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3904 (error "Printing cancelled"))))))
23091
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3905
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3906 (if ps-mule-charset-list
23550
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3907 (let ((the-list ps-mule-charset-list)
23091
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3908 font-spec)
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3909 (unless ps-mule-prologue-generated
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3910 (ps-output-prologue ps-mule-prologue)
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3911 (setq ps-mule-prologue-generated t))
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3912 ;; If external functions are necessary, generate prologues for them.
23550
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3913 (while the-list
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3914 (cond ((and (eq (car the-list) 'composition)
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3915 (not ps-mule-cmpchar-prologue-generated))
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3916 (ps-output-prologue ps-mule-cmpchar-prologue)
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3917 (setq ps-mule-cmpchar-prologue-generated t))
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3918 ((setq font-spec (ps-mule-get-font-spec (car the-list) 'normal))
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3919 (ps-mule-init-external-library font-spec)))
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3920 (setq the-list (cdr the-list)))))
23091
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3921
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3922 ;; If ASCII font is also specified in ps-mule-font-info-database,
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3923 ;; use it istead of what specified in ps-font-info-database.
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3924 (let ((font-spec (ps-mule-get-font-spec 'ascii 'normal)))
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3925 (if font-spec
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3926 (progn
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3927 (unless ps-mule-prologue-generated
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3928 (ps-output-prologue ps-mule-prologue)
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3929 (setq ps-mule-prologue-generated t))
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3930 (ps-mule-init-external-library font-spec)
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3931 (let ((font (ps-font-alist 'ps-font-for-text))
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3932 (i 0))
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3933 (while font
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3934 (let ((ps-current-font i))
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3935 ;; Be sure to download a glyph for SPACE in advance.
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3936 (ps-mule-prepare-font
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3937 (ps-mule-get-font-spec 'ascii (car font))
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3938 " " 'ascii 'no-setfont))
23550
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3939 (setq font (cdr font)
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3940 i (1+ i))))))))
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3941
23551
385d7c586ad2 Doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 23550
diff changeset
3942 ;; For handling multi-byte characters -- End.
23550
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
3943 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
23091
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3944
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
3945
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
3946 (defun ps-line-lengths-internal ()
19445
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
3947 "Display the correspondence between a line length and a font size,
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
3948 using the current ps-print setup.
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
3949 Try: pr -t file | awk '{printf \"%3d %s\n\", length($0), $0}' | sort -r | head"
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
3950 (let ((buf (get-buffer-create "*Line-lengths*"))
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
3951 (ifs ps-font-size) ; initial font size
21086
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
3952 (icw (ps-avg-char-width 'ps-font-for-text)) ; initial character width
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
3953 (print-width (progn (ps-get-page-dimensions)
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
3954 ps-print-width))
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
3955 (ps-setup (ps-setup)) ; setup for the current buffer
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
3956 (fs-min 5) ; minimum font size
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
3957 cw-min ; minimum character width
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
3958 nb-cpl-max ; maximum nb of characters per line
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
3959 (fs-max 14) ; maximum font size
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
3960 cw-max ; maximum character width
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
3961 nb-cpl-min ; minimum nb of characters per line
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
3962 fs ; current font size
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
3963 cw ; current character width
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
3964 nb-cpl ; current nb of characters per line
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
3965 )
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
3966 (setq cw-min (/ (* icw fs-min) ifs)
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
3967 nb-cpl-max (floor (/ print-width cw-min))
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
3968 cw-max (/ (* icw fs-max) ifs)
20331
39baaa9c5980 Some comment and doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 20019
diff changeset
3969 nb-cpl-min (floor (/ print-width cw-max))
39baaa9c5980 Some comment and doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 20019
diff changeset
3970 nb-cpl nb-cpl-min)
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
3971 (set-buffer buf)
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
3972 (goto-char (point-max))
20331
39baaa9c5980 Some comment and doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 20019
diff changeset
3973 (or (bolp) (insert "\n"))
39baaa9c5980 Some comment and doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 20019
diff changeset
3974 (insert ps-setup
39baaa9c5980 Some comment and doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 20019
diff changeset
3975 "nb char per line / font size\n")
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
3976 (while (<= nb-cpl nb-cpl-max)
20331
39baaa9c5980 Some comment and doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 20019
diff changeset
3977 (setq cw (/ print-width (float nb-cpl))
39baaa9c5980 Some comment and doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 20019
diff changeset
3978 fs (/ (* ifs cw) icw))
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
3979 (insert (format "%3s %s\n" nb-cpl fs))
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
3980 (setq nb-cpl (1+ nb-cpl)))
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
3981 (insert "\n")
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
3982 (display-buffer buf 'not-this-window)))
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
3983
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
3984 (defun ps-nb-pages (nb-lines)
21955
c4de7c7bc14a (ps-header-title-font-size): Doc fix.
Richard M. Stallman <rms@gnu.org>
parents: 21954
diff changeset
3985 "Display correspondence between font size and the number of pages.
c4de7c7bc14a (ps-header-title-font-size): Doc fix.
Richard M. Stallman <rms@gnu.org>
parents: 21954
diff changeset
3986 The correspondence is based on having NB-LINES lines of text,
c4de7c7bc14a (ps-header-title-font-size): Doc fix.
Richard M. Stallman <rms@gnu.org>
parents: 21954
diff changeset
3987 and on the current ps-print setup."
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
3988 (let ((buf (get-buffer-create "*Nb-Pages*"))
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
3989 (ifs ps-font-size) ; initial font size
21086
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
3990 (ilh (ps-line-height 'ps-font-for-text)) ; initial line height
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
3991 (page-height (progn (ps-get-page-dimensions)
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
3992 ps-print-height))
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
3993 (ps-setup (ps-setup)) ; setup for the current buffer
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
3994 (fs-min 4) ; minimum font size
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
3995 lh-min ; minimum line height
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
3996 nb-lpp-max ; maximum nb of lines per page
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
3997 nb-page-min ; minimum nb of pages
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
3998 (fs-max 14) ; maximum font size
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
3999 lh-max ; maximum line height
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
4000 nb-lpp-min ; minimum nb of lines per page
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
4001 nb-page-max ; maximum nb of pages
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
4002 fs ; current font size
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
4003 lh ; current line height
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
4004 nb-lpp ; current nb of lines per page
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
4005 nb-page ; current nb of pages
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
4006 )
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
4007 (setq lh-min (/ (* ilh fs-min) ifs)
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
4008 nb-lpp-max (floor (/ page-height lh-min))
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
4009 nb-page-min (ceiling (/ (float nb-lines) nb-lpp-max))
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
4010 lh-max (/ (* ilh fs-max) ifs)
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
4011 nb-lpp-min (floor (/ page-height lh-max))
20331
39baaa9c5980 Some comment and doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 20019
diff changeset
4012 nb-page-max (ceiling (/ (float nb-lines) nb-lpp-min))
39baaa9c5980 Some comment and doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 20019
diff changeset
4013 nb-page nb-page-min)
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
4014 (set-buffer buf)
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
4015 (goto-char (point-max))
20331
39baaa9c5980 Some comment and doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 20019
diff changeset
4016 (or (bolp) (insert "\n"))
39baaa9c5980 Some comment and doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 20019
diff changeset
4017 (insert ps-setup
39baaa9c5980 Some comment and doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 20019
diff changeset
4018 (format "%d lines\n" nb-lines)
39baaa9c5980 Some comment and doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 20019
diff changeset
4019 "nb page / font size\n")
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
4020 (while (<= nb-page nb-page-max)
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
4021 (setq nb-lpp (ceiling (/ nb-lines (float nb-page)))
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
4022 lh (/ page-height nb-lpp)
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
4023 fs (/ (* ifs lh) ilh))
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
4024 (insert (format "%s %s\n" nb-page fs))
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
4025 (setq nb-page (1+ nb-page)))
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
4026 (insert "\n")
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
4027 (display-buffer buf 'not-this-window)))
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
4028
21954
73f9f4219198 Some doc fixes, eliminate (require cl).
Richard M. Stallman <rms@gnu.org>
parents: 21801
diff changeset
4029 ;; macros used in `ps-select-font'
73f9f4219198 Some doc fixes, eliminate (require cl).
Richard M. Stallman <rms@gnu.org>
parents: 21801
diff changeset
4030 (defmacro ps-lookup (key) `(cdr (assq ,key font-entry)))
73f9f4219198 Some doc fixes, eliminate (require cl).
Richard M. Stallman <rms@gnu.org>
parents: 21801
diff changeset
4031 (defmacro ps-size-scale (key) `(/ (* (ps-lookup ,key) font-size) size))
73f9f4219198 Some doc fixes, eliminate (require cl).
Richard M. Stallman <rms@gnu.org>
parents: 21801
diff changeset
4032
21086
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
4033 (defun ps-select-font (font-family sym font-size title-font-size)
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
4034 (let ((font-entry (cdr (assq font-family ps-font-info-database))))
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
4035 (or font-entry
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
4036 (error "Don't have data to scale font %s. Known fonts families are %s"
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
4037 font-family
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
4038 (mapcar 'car ps-font-info-database)))
21954
73f9f4219198 Some doc fixes, eliminate (require cl).
Richard M. Stallman <rms@gnu.org>
parents: 21801
diff changeset
4039 (let ((size (ps-lookup 'size)))
73f9f4219198 Some doc fixes, eliminate (require cl).
Richard M. Stallman <rms@gnu.org>
parents: 21801
diff changeset
4040 (put sym 'fonts (ps-lookup 'fonts))
73f9f4219198 Some doc fixes, eliminate (require cl).
Richard M. Stallman <rms@gnu.org>
parents: 21801
diff changeset
4041 (put sym 'space-width (ps-size-scale 'space-width))
73f9f4219198 Some doc fixes, eliminate (require cl).
Richard M. Stallman <rms@gnu.org>
parents: 21801
diff changeset
4042 (put sym 'avg-char-width (ps-size-scale 'avg-char-width))
73f9f4219198 Some doc fixes, eliminate (require cl).
Richard M. Stallman <rms@gnu.org>
parents: 21801
diff changeset
4043 (put sym 'line-height (ps-size-scale 'line-height))
73f9f4219198 Some doc fixes, eliminate (require cl).
Richard M. Stallman <rms@gnu.org>
parents: 21801
diff changeset
4044 (put sym 'title-line-height
73f9f4219198 Some doc fixes, eliminate (require cl).
Richard M. Stallman <rms@gnu.org>
parents: 21801
diff changeset
4045 (/ (* (ps-lookup 'line-height) title-font-size) size)))))
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
4046
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
4047 (defun ps-get-page-dimensions ()
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
4048 (let ((page-dimensions (cdr (assq ps-paper-type ps-page-dimensions-database)))
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
4049 page-width page-height)
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
4050 (cond
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
4051 ((null page-dimensions)
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
4052 (error "`ps-paper-type' must be one of:\n%s"
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
4053 (mapcar 'car ps-page-dimensions-database)))
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
4054 ((< ps-number-of-columns 1)
21086
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
4055 (error "The number of columns %d should be positive"
20331
39baaa9c5980 Some comment and doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 20019
diff changeset
4056 ps-number-of-columns)))
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
4057
21086
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
4058 (ps-select-font ps-font-family 'ps-font-for-text
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
4059 ps-font-size ps-font-size)
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
4060 (ps-select-font ps-header-font-family 'ps-font-for-header
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
4061 ps-header-font-size ps-header-title-font-size)
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
4062
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
4063 (setq page-width (ps-page-dimensions-get-width page-dimensions)
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
4064 page-height (ps-page-dimensions-get-height page-dimensions))
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
4065
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
4066 ;; Landscape mode
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
4067 (if ps-landscape-mode
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
4068 ;; exchange width and height
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
4069 (setq page-width (prog1 page-height (setq page-height page-width))))
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
4070
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
4071 ;; It is used to get the lower right corner (only in landscape mode)
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
4072 (setq ps-landscape-page-height page-height)
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
4073
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
4074 ;; | lm | text | ic | text | ic | text | rm |
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
4075 ;; page-width == lm + n * pw + (n - 1) * ic + rm
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
4076 ;; => pw == (page-width - lm -rm - (n - 1) * ic) / n
20331
39baaa9c5980 Some comment and doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 20019
diff changeset
4077 (setq ps-print-width (/ (- page-width
39baaa9c5980 Some comment and doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 20019
diff changeset
4078 ps-left-margin ps-right-margin
39baaa9c5980 Some comment and doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 20019
diff changeset
4079 (* (1- ps-number-of-columns) ps-inter-column))
39baaa9c5980 Some comment and doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 20019
diff changeset
4080 ps-number-of-columns))
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
4081 (if (<= ps-print-width 0)
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
4082 (error "Bad horizontal layout:
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
4083 page-width == %s
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
4084 ps-left-margin == %s
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
4085 ps-right-margin == %s
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
4086 ps-inter-column == %s
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
4087 ps-number-of-columns == %s
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
4088 | lm | text | ic | text | ic | text | rm |
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
4089 page-width == lm + n * print-width + (n - 1) * ic + rm
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
4090 => print-width == %d !"
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
4091 page-width
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
4092 ps-left-margin
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
4093 ps-right-margin
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
4094 ps-inter-column
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
4095 ps-number-of-columns
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
4096 ps-print-width))
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
4097
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
4098 (setq ps-print-height
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
4099 (- page-height ps-bottom-margin ps-top-margin))
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
4100 (if (<= ps-print-height 0)
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
4101 (error "Bad vertical layout:
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
4102 ps-top-margin == %s
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
4103 ps-bottom-margin == %s
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
4104 page-height == bm + print-height + tm
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
4105 => print-height == %d !"
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
4106 ps-top-margin
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
4107 ps-bottom-margin
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
4108 ps-print-height))
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
4109 ;; If headers are turned on, deduct the height of the header from
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
4110 ;; the print height.
20331
39baaa9c5980 Some comment and doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 20019
diff changeset
4111 (if ps-print-header
21086
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
4112 (setq ps-header-pad (* ps-header-line-pad
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
4113 (ps-title-line-height 'ps-font-for-header))
20331
39baaa9c5980 Some comment and doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 20019
diff changeset
4114 ps-print-height (- ps-print-height
39baaa9c5980 Some comment and doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 20019
diff changeset
4115 ps-header-offset
39baaa9c5980 Some comment and doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 20019
diff changeset
4116 ps-header-pad
21086
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
4117 (ps-title-line-height 'ps-font-for-header)
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
4118 (* (ps-line-height 'ps-font-for-header)
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
4119 (1- ps-header-lines))
20331
39baaa9c5980 Some comment and doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 20019
diff changeset
4120 ps-header-pad)))
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
4121 (if (<= ps-print-height 0)
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
4122 (error "Bad vertical layout:
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
4123 ps-top-margin == %s
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
4124 ps-bottom-margin == %s
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
4125 ps-header-offset == %s
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
4126 ps-header-pad == %s
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
4127 header-height == %s
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
4128 page-height == bm + print-height + tm - ho - hh
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
4129 => print-height == %d !"
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
4130 ps-top-margin
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
4131 ps-bottom-margin
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
4132 ps-header-offset
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
4133 ps-header-pad
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
4134 (+ ps-header-pad
21086
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
4135 (ps-title-line-height 'ps-font-for-header)
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
4136 (* (ps-line-height 'ps-font-for-header)
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
4137 (1- ps-header-lines))
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
4138 ps-header-pad)
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
4139 ps-print-height))))
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
4140
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
4141 (defun ps-print-preprint (&optional filename)
20331
39baaa9c5980 Some comment and doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 20019
diff changeset
4142 (and filename
39baaa9c5980 Some comment and doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 20019
diff changeset
4143 (or (numberp filename)
39baaa9c5980 Some comment and doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 20019
diff changeset
4144 (listp filename))
23550
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
4145 (let* ((name (concat (file-name-nondirectory (or (buffer-file-name)
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
4146 (buffer-name)))
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
4147 ".ps"))
20331
39baaa9c5980 Some comment and doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 20019
diff changeset
4148 (prompt (format "Save PostScript to file: (default %s) " name))
39baaa9c5980 Some comment and doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 20019
diff changeset
4149 (res (read-file-name prompt default-directory name nil)))
23550
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
4150 (while (cond ((not (file-writable-p res))
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
4151 (ding)
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
4152 (setq prompt "is unwritable"))
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
4153 ((file-exists-p res)
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
4154 (setq prompt "exists")
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
4155 (not (y-or-n-p (format "File `%s' exists; overwrite? "
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
4156 res))))
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
4157 (t nil))
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
4158 (setq res (read-file-name
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
4159 (format "File %s; save PostScript to file: " prompt)
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
4160 (file-name-directory res) nil nil
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
4161 (file-name-nondirectory res))))
20331
39baaa9c5980 Some comment and doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 20019
diff changeset
4162 (if (file-directory-p res)
39baaa9c5980 Some comment and doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 20019
diff changeset
4163 (expand-file-name name (file-name-as-directory res))
39baaa9c5980 Some comment and doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 20019
diff changeset
4164 res))))
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
4165
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
4166 ;; The following functions implement a simple list-buffering scheme so
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
4167 ;; that ps-print doesn't have to repeatedly switch between buffers
20516
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
4168 ;; while spooling. The functions `ps-output' and `ps-output-string' build
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
4169 ;; up the lists; the function `ps-flush-output' takes the lists and
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
4170 ;; insert its contents into the spool buffer (*PostScript*).
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
4171
20516
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
4172 (defvar ps-string-escape-codes
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
4173 (let ((table (make-vector 256 nil))
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
4174 (char ?\000))
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
4175 ;; control characters
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
4176 (while (<= char ?\037)
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
4177 (aset table char (format "\\%03o" char))
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
4178 (setq char (1+ char)))
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
4179 ;; printable characters
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
4180 (while (< char ?\177)
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
4181 (aset table char (format "%c" char))
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
4182 (setq char (1+ char)))
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
4183 ;; DEL and 8-bit characters
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
4184 (while (<= char ?\377)
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
4185 (aset table char (format "\\%o" char))
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
4186 (setq char (1+ char)))
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
4187 ;; Override ASCII formatting characters with named escape code:
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
4188 (aset table ?\n "\\n") ; [NL] linefeed
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
4189 (aset table ?\r "\\r") ; [CR] carriage return
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
4190 (aset table ?\t "\\t") ; [HT] horizontal tab
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
4191 (aset table ?\b "\\b") ; [BS] backspace
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
4192 (aset table ?\f "\\f") ; [NP] form feed
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
4193 ;; Escape PostScript escape and string delimiter characters:
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
4194 (aset table ?\\ "\\\\")
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
4195 (aset table ?\( "\\(")
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
4196 (aset table ?\) "\\)")
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
4197 table)
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
4198 "Vector used to map characters to PostScript string escape codes.")
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
4199
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
4200 (defun ps-output-string-prim (string)
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
4201 (insert "(") ;insert start-string delimiter
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
4202 (save-excursion ;insert string
23091
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
4203 (insert (string-as-unibyte string)))
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
4204 ;; Find and quote special characters as necessary for PS
23307
5d6530954ece Skip invisible overlay.
Karl Heuer <kwzh@gnu.org>
parents: 23273
diff changeset
4205 ;; This skips everything except control chars, non-ASCII chars, (, ) and \.
21642
d33cd398d663 (ps-output-string-prim): Use skip-chars-forward.
Richard M. Stallman <rms@gnu.org>
parents: 21571
diff changeset
4206 (while (progn (skip-chars-forward " -'*-[]-~") (not (eobp)))
d33cd398d663 (ps-output-string-prim): Use skip-chars-forward.
Richard M. Stallman <rms@gnu.org>
parents: 21571
diff changeset
4207 (let ((special (following-char)))
23091
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
4208 (delete-char 1)
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
4209 (insert (aref ps-string-escape-codes special))))
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
4210 (goto-char (point-max))
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
4211 (insert ")")) ;insert end-string delimiter
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
4212
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
4213 (defun ps-init-output-queue ()
20331
39baaa9c5980 Some comment and doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 20019
diff changeset
4214 (setq ps-output-head '("")
39baaa9c5980 Some comment and doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 20019
diff changeset
4215 ps-output-tail ps-output-head))
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
4216
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
4217 (defun ps-output (&rest args)
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
4218 (setcdr ps-output-tail args)
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
4219 (while (cdr ps-output-tail)
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
4220 (setq ps-output-tail (cdr ps-output-tail))))
7257
3759ad84023b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4221
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
4222 (defun ps-output-string (string)
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
4223 (ps-output t string))
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
4224
19445
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4225 (defun ps-output-list (the-list)
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4226 (mapcar 'ps-output the-list))
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4227
23091
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
4228 ;; Output strings in the list ARGS in the PostScript prologue part.
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
4229 (defun ps-output-prologue (args)
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
4230 (ps-output 'prologue (if (stringp args) (list args) args)))
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
4231
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
4232 (defun ps-flush-output ()
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
4233 (save-excursion
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
4234 (set-buffer ps-spool-buffer)
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
4235 (goto-char (point-max))
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
4236 (while ps-output-head
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
4237 (let ((it (car ps-output-head)))
23091
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
4238 (cond
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
4239 ((eq t it)
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
4240 (setq ps-output-head (cdr ps-output-head))
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
4241 (ps-output-string-prim (car ps-output-head)))
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
4242 ((eq 'prologue it)
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
4243 (setq ps-output-head (cdr ps-output-head))
23091
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
4244 (save-excursion
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
4245 (search-backward "\nBeginDoc")
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
4246 (forward-char 1)
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
4247 (apply 'insert (car ps-output-head))))
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
4248 (t
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
4249 (insert it))))
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
4250 (setq ps-output-head (cdr ps-output-head))))
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
4251 (ps-init-output-queue))
7257
3759ad84023b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4252
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
4253 (defun ps-insert-file (fname)
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
4254 (ps-flush-output)
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
4255 ;; Check to see that the file exists and is readable; if not, throw
19445
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4256 ;; an error.
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4257 (or (file-readable-p fname)
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
4258 (error "Could not read file `%s'" fname))
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
4259 (save-excursion
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
4260 (set-buffer ps-spool-buffer)
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
4261 (goto-char (point-max))
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
4262 (insert-file fname)))
19879
87952270ceeb (ps-emacs-face-kind-p): Function deleted.
Richard M. Stallman <rms@gnu.org>
parents: 19843
diff changeset
4263
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
4264 ;; These functions insert the arrays that define the contents of the
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
4265 ;; headers.
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
4266
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
4267 (defun ps-generate-header-line (fonttag &optional content)
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
4268 (ps-output " [ " fonttag " ")
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
4269 (cond
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
4270 ;; Literal strings should be output as is -- the string must
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
4271 ;; contain its own PS string delimiters, '(' and ')', if necessary.
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
4272 ((stringp content)
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
4273 (ps-output content))
7257
3759ad84023b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4274
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
4275 ;; Functions are called -- they should return strings; they will be
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
4276 ;; inserted as strings and the PS string delimiters added.
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
4277 ((and (symbolp content) (fboundp content))
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
4278 (ps-output-string (funcall content)))
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
4279
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
4280 ;; Variables will have their contents inserted. They should
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
4281 ;; contain strings, and will be inserted as strings.
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
4282 ((and (symbolp content) (boundp content))
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
4283 (ps-output-string (symbol-value content)))
7257
3759ad84023b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4284
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
4285 ;; Anything else will get turned into an empty string.
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
4286 (t
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
4287 (ps-output-string "")))
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
4288 (ps-output " ]\n"))
7257
3759ad84023b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4289
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
4290 (defun ps-generate-header (name contents)
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
4291 (ps-output "/" name " [\n")
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
4292 (if (> ps-header-lines 0)
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
4293 (let ((count 1))
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
4294 (ps-generate-header-line "/h0" (car contents))
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
4295 (while (and (< count ps-header-lines)
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
4296 (setq contents (cdr contents)))
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
4297 (ps-generate-header-line "/h1" (car contents))
20331
39baaa9c5980 Some comment and doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 20019
diff changeset
4298 (setq count (1+ count)))
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
4299 (ps-output "] def\n"))))
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
4300
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
4301 (defun ps-output-boolean (name bool)
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
4302 (ps-output (format "/%s %s def\n" name (if bool "true" "false"))))
7257
3759ad84023b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4303
19879
87952270ceeb (ps-emacs-face-kind-p): Function deleted.
Richard M. Stallman <rms@gnu.org>
parents: 19843
diff changeset
4304
19445
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4305 (defun ps-background-pages (page-list func)
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4306 (if page-list
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4307 (mapcar
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4308 '(lambda (pages)
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4309 (let ((start (if (consp pages) (car pages) pages))
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4310 (end (if (consp pages) (cdr pages) pages)))
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4311 (and (integerp start) (integerp end) (<= start end)
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4312 (add-to-list 'ps-background-pages (vector start end func)))))
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4313 page-list)
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4314 (setq ps-background-all-pages (cons func ps-background-all-pages))))
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4315
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4316
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4317 (defun ps-get-boundingbox ()
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4318 (save-excursion
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4319 (set-buffer ps-spool-buffer)
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4320 (save-excursion
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4321 (if (re-search-forward
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4322 "^%%BoundingBox:\\s-+\\([0-9.]+\\)\\s-+\\([0-9.]+\\)\\s-+\\([0-9.]+\\)\\s-+\\([0-9.]+\\)"
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4323 nil t)
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4324 (vector (string-to-number ; lower x
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4325 (buffer-substring (match-beginning 1) (match-end 1)))
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4326 (string-to-number ; lower y
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4327 (buffer-substring (match-beginning 2) (match-end 2)))
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4328 (string-to-number ; upper x
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4329 (buffer-substring (match-beginning 3) (match-end 3)))
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4330 (string-to-number ; upper y
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4331 (buffer-substring (match-beginning 4) (match-end 4))))
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4332 (vector 0 0 0 0)))))
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4333
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4334
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4335 ;; Emacs understands the %f format; we'll use it to limit color RGB values
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4336 ;; to three decimals to cut down some on the size of the PostScript output.
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4337 ;; Lucid emacsen will have to make do with %s (princ) for floats.
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4338
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4339 (defvar ps-float-format (if (eq ps-print-emacs-type 'emacs)
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4340 "%0.3f " ; emacs
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4341 "%s ")) ; Lucid emacsen
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4342
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4343
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4344 (defun ps-float-format (value &optional default)
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4345 (let ((literal (or value default)))
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4346 (if literal
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4347 (format (if (numberp literal)
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4348 ps-float-format
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4349 "%s ")
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4350 literal)
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4351 " ")))
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4352
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4353
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4354 (defun ps-background-text ()
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4355 (mapcar
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4356 '(lambda (text)
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4357 (setq ps-background-text-count (1+ ps-background-text-count))
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4358 (ps-output (format "/ShowBackText-%d {\n" ps-background-text-count))
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4359 (ps-output-string (nth 0 text)) ; text
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4360 (ps-output
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4361 "\n"
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4362 (ps-float-format (nth 4 text) 200.0) ; font size
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4363 (format "/%s " (or (nth 3 text) "Times-Roman")) ; font name
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4364 (ps-float-format (nth 6 text)
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4365 "PrintHeight PrintPageWidth atan") ; rotation
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4366 (ps-float-format (nth 5 text) 0.85) ; gray
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4367 (ps-float-format (nth 1 text) "0") ; x position
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4368 (ps-float-format (nth 2 text) "BottomMargin") ; y position
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4369 "\nShowBackText} def\n")
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4370 (ps-background-pages (nthcdr 7 text) ; page list
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4371 (format "ShowBackText-%d\n"
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4372 ps-background-text-count)))
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4373 ps-print-background-text))
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4374
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4375
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4376 (defun ps-background-image ()
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4377 (mapcar
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4378 '(lambda (image)
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4379 (let ((image-file (expand-file-name (nth 0 image))))
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4380 (if (file-readable-p image-file)
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4381 (progn
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4382 (setq ps-background-image-count (1+ ps-background-image-count))
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4383 (ps-output
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4384 (format "/ShowBackImage-%d {\n--back-- " ps-background-image-count)
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4385 (ps-float-format (nth 5 image) 0.0) ; rotation
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4386 (ps-float-format (nth 3 image) 1.0) ; x scale
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4387 (ps-float-format (nth 4 image) 1.0) ; y scale
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4388 (ps-float-format (nth 1 image) ; x position
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4389 "PrintPageWidth 2 div")
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4390 (ps-float-format (nth 2 image) ; y position
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4391 "PrintHeight 2 div BottomMargin add")
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4392 "\nBeginBackImage\n")
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4393 (ps-insert-file image-file)
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4394 ;; coordinate adjustment to centralize image
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4395 ;; around x and y position
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4396 (let ((box (ps-get-boundingbox)))
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4397 (save-excursion
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4398 (set-buffer ps-spool-buffer)
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4399 (save-excursion
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4400 (if (re-search-backward "^--back--" nil t)
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4401 (replace-match
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4402 (format "%s %s"
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4403 (ps-float-format
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4404 (- (+ (/ (- (aref box 2) (aref box 0)) 2.0)
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4405 (aref box 0))))
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4406 (ps-float-format
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4407 (- (+ (/ (- (aref box 3) (aref box 1)) 2.0)
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4408 (aref box 1)))))
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4409 t)))))
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4410 (ps-output "\nEndBackImage} def\n")
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4411 (ps-background-pages (nthcdr 6 image) ; page list
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4412 (format "ShowBackImage-%d\n"
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4413 ps-background-image-count))))))
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4414 ps-print-background-image))
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4415
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4416
19773
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
4417 (defun ps-background (page-number)
19445
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4418 (let (has-local-background)
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4419 (mapcar '(lambda (range)
19773
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
4420 (and (<= (aref range 0) page-number)
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
4421 (<= page-number (aref range 1))
19445
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4422 (if has-local-background
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4423 (ps-output (aref range 2))
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4424 (setq has-local-background t)
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4425 (ps-output "/printLocalBackground {\n"
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4426 (aref range 2)))))
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4427 ps-background-pages)
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4428 (and has-local-background (ps-output "} def\n"))))
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4429
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4430
21800
d4b4f44ce8da (ps-remove-duplicates): New function.
Eli Zaretskii <eliz@gnu.org>
parents: 21642
diff changeset
4431 ;; Return a list of the distinct elements of LIST.
d4b4f44ce8da (ps-remove-duplicates): New function.
Eli Zaretskii <eliz@gnu.org>
parents: 21642
diff changeset
4432 ;; Elements are compared with `equal'.
d4b4f44ce8da (ps-remove-duplicates): New function.
Eli Zaretskii <eliz@gnu.org>
parents: 21642
diff changeset
4433 (defun ps-remove-duplicates (list)
d4b4f44ce8da (ps-remove-duplicates): New function.
Eli Zaretskii <eliz@gnu.org>
parents: 21642
diff changeset
4434 (let (new (tail list))
d4b4f44ce8da (ps-remove-duplicates): New function.
Eli Zaretskii <eliz@gnu.org>
parents: 21642
diff changeset
4435 (while tail
d4b4f44ce8da (ps-remove-duplicates): New function.
Eli Zaretskii <eliz@gnu.org>
parents: 21642
diff changeset
4436 (or (member (car tail) new)
d4b4f44ce8da (ps-remove-duplicates): New function.
Eli Zaretskii <eliz@gnu.org>
parents: 21642
diff changeset
4437 (setq new (cons (car tail) new)))
d4b4f44ce8da (ps-remove-duplicates): New function.
Eli Zaretskii <eliz@gnu.org>
parents: 21642
diff changeset
4438 (setq tail (cdr tail)))
d4b4f44ce8da (ps-remove-duplicates): New function.
Eli Zaretskii <eliz@gnu.org>
parents: 21642
diff changeset
4439 (nreverse new)))
d4b4f44ce8da (ps-remove-duplicates): New function.
Eli Zaretskii <eliz@gnu.org>
parents: 21642
diff changeset
4440
23307
5d6530954ece Skip invisible overlay.
Karl Heuer <kwzh@gnu.org>
parents: 23273
diff changeset
4441
21954
73f9f4219198 Some doc fixes, eliminate (require cl).
Richard M. Stallman <rms@gnu.org>
parents: 21801
diff changeset
4442 ;; Find the first occurrence of ITEM in LIST.
73f9f4219198 Some doc fixes, eliminate (require cl).
Richard M. Stallman <rms@gnu.org>
parents: 21801
diff changeset
4443 ;; Return the index of the matching item, or nil if not found.
73f9f4219198 Some doc fixes, eliminate (require cl).
Richard M. Stallman <rms@gnu.org>
parents: 21801
diff changeset
4444 ;; Elements are compared with `eq'.
21999
35efe9eafc6c (ps-alist-position): Renamed from ps-position.
Richard M. Stallman <rms@gnu.org>
parents: 21955
diff changeset
4445 (defun ps-alist-position (item list)
21954
73f9f4219198 Some doc fixes, eliminate (require cl).
Richard M. Stallman <rms@gnu.org>
parents: 21801
diff changeset
4446 (let ((tail list) (index 0) found)
73f9f4219198 Some doc fixes, eliminate (require cl).
Richard M. Stallman <rms@gnu.org>
parents: 21801
diff changeset
4447 (while tail
21999
35efe9eafc6c (ps-alist-position): Renamed from ps-position.
Richard M. Stallman <rms@gnu.org>
parents: 21955
diff changeset
4448 (if (setq found (eq (car (car tail)) item))
21954
73f9f4219198 Some doc fixes, eliminate (require cl).
Richard M. Stallman <rms@gnu.org>
parents: 21801
diff changeset
4449 (setq tail nil)
73f9f4219198 Some doc fixes, eliminate (require cl).
Richard M. Stallman <rms@gnu.org>
parents: 21801
diff changeset
4450 (setq index (1+ index)
73f9f4219198 Some doc fixes, eliminate (require cl).
Richard M. Stallman <rms@gnu.org>
parents: 21801
diff changeset
4451 tail (cdr tail))))
73f9f4219198 Some doc fixes, eliminate (require cl).
Richard M. Stallman <rms@gnu.org>
parents: 21801
diff changeset
4452 (and found index)))
73f9f4219198 Some doc fixes, eliminate (require cl).
Richard M. Stallman <rms@gnu.org>
parents: 21801
diff changeset
4453
73f9f4219198 Some doc fixes, eliminate (require cl).
Richard M. Stallman <rms@gnu.org>
parents: 21801
diff changeset
4454
7257
3759ad84023b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4455 (defun ps-begin-file ()
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
4456 (ps-get-page-dimensions)
22397
31b7f6a60174 Fix spooled file bugs.
Richard M. Stallman <rms@gnu.org>
parents: 22204
diff changeset
4457 (setq ps-page-postscript 0
19445
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4458 ps-background-text-count 0
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4459 ps-background-image-count 0
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4460 ps-background-pages nil
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4461 ps-background-all-pages nil)
7257
3759ad84023b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4462
20331
39baaa9c5980 Some comment and doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 20019
diff changeset
4463 (ps-output ps-adobe-tag
39baaa9c5980 Some comment and doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 20019
diff changeset
4464 "%%Title: " (buffer-name) ; Take job name from name of
39baaa9c5980 Some comment and doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 20019
diff changeset
4465 ; first buffer printed
39baaa9c5980 Some comment and doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 20019
diff changeset
4466 "\n%%Creator: " (user-full-name)
20516
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
4467 " (using ps-print v" ps-print-version
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
4468 ")\n%%CreationDate: "
19445
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4469 (time-stamp-hh:mm:ss) " " (time-stamp-mon-dd-yyyy)
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4470 "\n%%Orientation: "
20331
39baaa9c5980 Some comment and doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 20019
diff changeset
4471 (if ps-landscape-mode "Landscape" "Portrait")
23550
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
4472 "\n%%DocumentNeededResources: font Times-Roman Times-Italic\n%%+ font "
21086
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
4473 (mapconcat 'identity
21800
d4b4f44ce8da (ps-remove-duplicates): New function.
Eli Zaretskii <eliz@gnu.org>
parents: 21642
diff changeset
4474 (ps-remove-duplicates
21086
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
4475 (append (ps-fonts 'ps-font-for-text)
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
4476 (list (ps-font 'ps-font-for-header 'normal)
21800
d4b4f44ce8da (ps-remove-duplicates): New function.
Eli Zaretskii <eliz@gnu.org>
parents: 21642
diff changeset
4477 (ps-font 'ps-font-for-header 'bold))))
23550
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
4478 "\n%%+ font ")
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
4479 "\n%%Pages: (atend)\n%%Requirements:"
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
4480 (if ps-spool-duplex " duplex\n" "\n"))
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
4481
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
4482 (let ((comments (if (functionp ps-print-prologue-header)
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
4483 (funcall ps-print-prologue-header)
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
4484 ps-print-prologue-header)))
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
4485 (and (stringp comments)
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
4486 (ps-output comments)))
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
4487
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
4488 (ps-output "%%EndComments\n\n%%BeginPrologue\n\n")
7257
3759ad84023b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4489
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
4490 (ps-output-boolean "LandscapeMode" ps-landscape-mode)
20331
39baaa9c5980 Some comment and doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 20019
diff changeset
4491 (ps-output (format "/NumberOfColumns %d def\n" ps-number-of-columns)
39baaa9c5980 Some comment and doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 20019
diff changeset
4492
39baaa9c5980 Some comment and doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 20019
diff changeset
4493 (format "/LandscapePageHeight %s def\n" ps-landscape-page-height)
39baaa9c5980 Some comment and doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 20019
diff changeset
4494 (format "/PrintPageWidth %s def\n"
19445
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4495 (- (* (+ ps-print-width ps-inter-column)
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4496 ps-number-of-columns)
20331
39baaa9c5980 Some comment and doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 20019
diff changeset
4497 ps-inter-column))
39baaa9c5980 Some comment and doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 20019
diff changeset
4498 (format "/PrintWidth %s def\n" ps-print-width)
39baaa9c5980 Some comment and doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 20019
diff changeset
4499 (format "/PrintHeight %s def\n" ps-print-height)
39baaa9c5980 Some comment and doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 20019
diff changeset
4500
39baaa9c5980 Some comment and doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 20019
diff changeset
4501 (format "/LeftMargin %s def\n" ps-left-margin)
39baaa9c5980 Some comment and doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 20019
diff changeset
4502 (format "/RightMargin %s def\n" ps-right-margin) ; not used
39baaa9c5980 Some comment and doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 20019
diff changeset
4503 (format "/InterColumn %s def\n" ps-inter-column)
39baaa9c5980 Some comment and doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 20019
diff changeset
4504
39baaa9c5980 Some comment and doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 20019
diff changeset
4505 (format "/BottomMargin %s def\n" ps-bottom-margin)
39baaa9c5980 Some comment and doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 20019
diff changeset
4506 (format "/TopMargin %s def\n" ps-top-margin) ; not used
39baaa9c5980 Some comment and doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 20019
diff changeset
4507 (format "/HeaderOffset %s def\n" ps-header-offset)
39baaa9c5980 Some comment and doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 20019
diff changeset
4508 (format "/HeaderPad %s def\n" ps-header-pad))
19879
87952270ceeb (ps-emacs-face-kind-p): Function deleted.
Richard M. Stallman <rms@gnu.org>
parents: 19843
diff changeset
4509
21086
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
4510 (ps-output-boolean "PrintHeader" ps-print-header)
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
4511 (ps-output-boolean "PrintOnlyOneHeader" ps-print-only-one-header)
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
4512 (ps-output-boolean "PrintHeaderFrame" ps-print-header-frame)
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
4513 (ps-output-boolean "ShowNofN" ps-show-n-of-n)
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
4514 (ps-output-boolean "Duplex" ps-spool-duplex)
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
4515
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
4516 (let ((line-height (ps-line-height 'ps-font-for-text)))
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
4517 (ps-output (format "/LineHeight %s def\n" line-height)
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
4518 (format "/LinesPerColumn %d def\n"
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
4519 (round (/ (+ ps-print-height
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
4520 (* line-height 0.45))
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
4521 line-height)))))
19445
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4522
19485
eab8baa19dfa (ps-zebra-stripes): Renamed from ps-zebra-stripe.
Richard M. Stallman <rms@gnu.org>
parents: 19446
diff changeset
4523 (ps-output-boolean "Zebra" ps-zebra-stripes)
19445
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4524 (ps-output-boolean "PrintLineNumber" ps-line-number)
22397
31b7f6a60174 Fix spooled file bugs.
Richard M. Stallman <rms@gnu.org>
parents: 22204
diff changeset
4525 (ps-output (format "/ZebraHeight %d def\n" ps-zebra-stripe-height))
19445
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4526
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4527 (ps-background-text)
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4528 (ps-background-image)
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4529 (setq ps-background-all-pages (nreverse ps-background-all-pages)
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4530 ps-background-pages (nreverse ps-background-pages))
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
4531
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
4532 (ps-output ps-print-prologue-1)
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
4533
19445
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4534 (ps-output "/printGlobalBackground {\n")
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4535 (ps-output-list ps-background-all-pages)
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4536 (ps-output "} def\n/printLocalBackground {\n} def\n")
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4537
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
4538 ;; Header fonts
23666
53776c6e94b8 (ps-print-prologue-1): In BeginDoc procedure, call setpagedevice to
Andrew Innes <andrewi@gnu.org>
parents: 23551
diff changeset
4539 (ps-output (format "/h0 %s (%s) cvn DefFont\n" ; /h0 14 /Helvetica-Bold DefFont
21086
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
4540 ps-header-title-font-size (ps-font 'ps-font-for-header
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
4541 'bold))
23666
53776c6e94b8 (ps-print-prologue-1): In BeginDoc procedure, call setpagedevice to
Andrew Innes <andrewi@gnu.org>
parents: 23551
diff changeset
4542 (format "/h1 %s (%s) cvn DefFont\n" ; /h1 12 /Helvetica DefFont
21086
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
4543 ps-header-font-size (ps-font 'ps-font-for-header
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
4544 'normal)))
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
4545
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
4546 (ps-output ps-print-prologue-2)
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
4547
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
4548 ;; Text fonts
21999
35efe9eafc6c (ps-alist-position): Renamed from ps-position.
Richard M. Stallman <rms@gnu.org>
parents: 21955
diff changeset
4549 (let ((font (ps-font-alist 'ps-font-for-text))
21954
73f9f4219198 Some doc fixes, eliminate (require cl).
Richard M. Stallman <rms@gnu.org>
parents: 21801
diff changeset
4550 (i 0))
73f9f4219198 Some doc fixes, eliminate (require cl).
Richard M. Stallman <rms@gnu.org>
parents: 21801
diff changeset
4551 (while font
23666
53776c6e94b8 (ps-print-prologue-1): In BeginDoc procedure, call setpagedevice to
Andrew Innes <andrewi@gnu.org>
parents: 23551
diff changeset
4552 (ps-output (format "/f%d %s (%s) cvn DefFont\n"
21954
73f9f4219198 Some doc fixes, eliminate (require cl).
Richard M. Stallman <rms@gnu.org>
parents: 21801
diff changeset
4553 i
73f9f4219198 Some doc fixes, eliminate (require cl).
Richard M. Stallman <rms@gnu.org>
parents: 21801
diff changeset
4554 ps-font-size
73f9f4219198 Some doc fixes, eliminate (require cl).
Richard M. Stallman <rms@gnu.org>
parents: 21801
diff changeset
4555 (ps-font 'ps-font-for-text (car (car font)))))
73f9f4219198 Some doc fixes, eliminate (require cl).
Richard M. Stallman <rms@gnu.org>
parents: 21801
diff changeset
4556 (setq font (cdr font)
73f9f4219198 Some doc fixes, eliminate (require cl).
Richard M. Stallman <rms@gnu.org>
parents: 21801
diff changeset
4557 i (1+ i))))
20331
39baaa9c5980 Some comment and doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 20019
diff changeset
4558
23167
ada869918064 (ps-mule-font-info-database-bdf): The include ASCII
Kenichi Handa <handa@m17n.org>
parents: 23138
diff changeset
4559 (let ((font-entry (cdr (assq ps-font-family ps-font-info-database))))
ada869918064 (ps-mule-font-info-database-bdf): The include ASCII
Kenichi Handa <handa@m17n.org>
parents: 23138
diff changeset
4560 (ps-output (format "/SpaceWidthRatio %f def\n"
ada869918064 (ps-mule-font-info-database-bdf): The include ASCII
Kenichi Handa <handa@m17n.org>
parents: 23138
diff changeset
4561 (/ (ps-lookup 'space-width) (ps-lookup 'size)))))
ada869918064 (ps-mule-font-info-database-bdf): The include ASCII
Kenichi Handa <handa@m17n.org>
parents: 23138
diff changeset
4562
23091
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
4563 (ps-mule-initialize)
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
4564
23666
53776c6e94b8 (ps-print-prologue-1): In BeginDoc procedure, call setpagedevice to
Andrew Innes <andrewi@gnu.org>
parents: 23551
diff changeset
4565 (ps-output "%%EndPrologue\n%%BeginSetup\nBeginDoc\n%%EndSetup\n\n")))
7257
3759ad84023b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4566
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
4567 (defun ps-header-dirpart ()
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
4568 (let ((fname (buffer-file-name)))
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
4569 (if fname
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
4570 (if (string-equal (buffer-name) (file-name-nondirectory fname))
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
4571 (file-name-directory fname)
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
4572 fname)
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
4573 "")))
7257
3759ad84023b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4574
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
4575 (defun ps-get-buffer-name ()
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
4576 (cond
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
4577 ;; Indulge Jim this little easter egg:
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
4578 ((string= (buffer-name) "ps-print.el")
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
4579 "Hey, Cool! It's ps-print.el!!!")
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
4580 ;; Indulge Jack this other little easter egg:
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
4581 ((string= (buffer-name) "sokoban.el")
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
4582 "Super! C'est sokoban.el!")
19445
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4583 (t (concat
19773
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
4584 (and ps-printing-region "Subset of: ")
19445
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4585 (buffer-name)
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4586 (and (buffer-modified-p) " (unsaved)")))))
7257
3759ad84023b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4587
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
4588 (defun ps-begin-job ()
22397
31b7f6a60174 Fix spooled file bugs.
Richard M. Stallman <rms@gnu.org>
parents: 22204
diff changeset
4589 (save-excursion
31b7f6a60174 Fix spooled file bugs.
Richard M. Stallman <rms@gnu.org>
parents: 22204
diff changeset
4590 (set-buffer ps-spool-buffer)
31b7f6a60174 Fix spooled file bugs.
Richard M. Stallman <rms@gnu.org>
parents: 22204
diff changeset
4591 (goto-char (point-max))
31b7f6a60174 Fix spooled file bugs.
Richard M. Stallman <rms@gnu.org>
parents: 22204
diff changeset
4592 (and (re-search-backward "^%%Trailer$" nil t)
31b7f6a60174 Fix spooled file bugs.
Richard M. Stallman <rms@gnu.org>
parents: 22204
diff changeset
4593 (delete-region (match-beginning 0) (point-max))))
31b7f6a60174 Fix spooled file bugs.
Richard M. Stallman <rms@gnu.org>
parents: 22204
diff changeset
4594 (setq ps-showline-count (if ps-printing-region (car ps-printing-region) 1)
31b7f6a60174 Fix spooled file bugs.
Richard M. Stallman <rms@gnu.org>
parents: 22204
diff changeset
4595 ps-page-count 0
20516
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
4596 ps-control-or-escape-regexp
23091
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
4597 (if ps-mule-charset-list
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
4598 (cond ((eq ps-print-control-characters '8-bit)
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
4599 "[^\040-\176]")
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
4600 ((eq ps-print-control-characters 'control-8-bit)
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
4601 (string-as-multibyte "[^\040-\176\240-\377]"))
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
4602 ((eq ps-print-control-characters 'control)
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
4603 (string-as-multibyte "[^\040-\176\200-\377]"))
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
4604 (t (string-as-multibyte "[^\000-\011\013\015-\377")))
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
4605 (cond ((eq ps-print-control-characters '8-bit)
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
4606 (string-as-unibyte "[\000-\037\177-\377]"))
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
4607 ((eq ps-print-control-characters 'control-8-bit)
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
4608 (string-as-unibyte "[\000-\037\177-\237]"))
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
4609 ((eq ps-print-control-characters 'control)
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
4610 "[\000-\037\177]")
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
4611 (t "[\t\n\f]")))))
7257
3759ad84023b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4612
21086
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
4613 (defmacro ps-page-number ()
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
4614 `(1+ (/ (1- ps-page-count) ps-number-of-columns)))
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
4615
7257
3759ad84023b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4616 (defun ps-end-file ()
22093
5818374d88e7 (ps-file-end): Put Trailer and Pages before EndDoc.
Richard M. Stallman <rms@gnu.org>
parents: 21999
diff changeset
4617 (ps-output "\n%%Trailer\n%%Pages: "
22397
31b7f6a60174 Fix spooled file bugs.
Richard M. Stallman <rms@gnu.org>
parents: 22204
diff changeset
4618 (format "%d" ps-page-postscript)
22093
5818374d88e7 (ps-file-end): Put Trailer and Pages before EndDoc.
Richard M. Stallman <rms@gnu.org>
parents: 21999
diff changeset
4619 "\n\nEndDoc\n\n%%EOF\n"))
19445
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4620
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4621
7257
3759ad84023b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4622 (defun ps-next-page ()
3759ad84023b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4623 (ps-end-page)
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
4624 (ps-flush-output)
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
4625 (ps-begin-page))
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
4626
21086
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
4627 (defun ps-header-page ()
22397
31b7f6a60174 Fix spooled file bugs.
Richard M. Stallman <rms@gnu.org>
parents: 22204
diff changeset
4628 ;; set total line and page number when printing has finished
31b7f6a60174 Fix spooled file bugs.
Richard M. Stallman <rms@gnu.org>
parents: 22204
diff changeset
4629 ;; (see `ps-generate')
21086
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
4630 (if (prog1
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
4631 (zerop (mod ps-page-count ps-number-of-columns))
21954
73f9f4219198 Some doc fixes, eliminate (require cl).
Richard M. Stallman <rms@gnu.org>
parents: 21801
diff changeset
4632 (setq ps-page-count (1+ ps-page-count)))
19773
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
4633 ;; Print only when a new real page begins.
22397
31b7f6a60174 Fix spooled file bugs.
Richard M. Stallman <rms@gnu.org>
parents: 22204
diff changeset
4634 (progn
31b7f6a60174 Fix spooled file bugs.
Richard M. Stallman <rms@gnu.org>
parents: 22204
diff changeset
4635 (setq ps-page-postscript (1+ ps-page-postscript))
31b7f6a60174 Fix spooled file bugs.
Richard M. Stallman <rms@gnu.org>
parents: 22204
diff changeset
4636 (ps-output (format "\n%%%%Page: %d %d\n"
31b7f6a60174 Fix spooled file bugs.
Richard M. Stallman <rms@gnu.org>
parents: 22204
diff changeset
4637 ps-page-postscript ps-page-postscript))
31b7f6a60174 Fix spooled file bugs.
Richard M. Stallman <rms@gnu.org>
parents: 22204
diff changeset
4638 (ps-output "/Lines 0 def\n/PageCount 0 def\nBeginDSCPage\n")
31b7f6a60174 Fix spooled file bugs.
Richard M. Stallman <rms@gnu.org>
parents: 22204
diff changeset
4639 (ps-background ps-page-postscript)
21086
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
4640 (run-hooks 'ps-print-begin-page-hook))
19773
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
4641 ;; Print when any other page begins.
22397
31b7f6a60174 Fix spooled file bugs.
Richard M. Stallman <rms@gnu.org>
parents: 22204
diff changeset
4642 (ps-output "/Lines 0 def\n/PageCount 0 def\nBeginDSCPage\n")
21086
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
4643 (run-hooks 'ps-print-begin-column-hook)))
19773
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
4644
20331
39baaa9c5980 Some comment and doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 20019
diff changeset
4645 (defun ps-begin-page ()
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
4646 (ps-get-page-dimensions)
20331
39baaa9c5980 Some comment and doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 20019
diff changeset
4647 (setq ps-width-remaining ps-print-width
23091
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
4648 ps-height-remaining ps-print-height
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
4649 ps-mule-current-charset 'ascii)
7257
3759ad84023b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4650
19773
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
4651 (ps-header-page)
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
4652
19445
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4653 (ps-output (format "/LineNumber %d def\n" ps-showline-count)
21086
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
4654 (format "/PageNumber %d def\n" (if ps-print-only-one-header
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
4655 (ps-page-number)
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
4656 ps-page-count)))
7257
3759ad84023b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4657
16870
4a5fa29f79d6 (ps-print-version): Fix value.
Richard M. Stallman <rms@gnu.org>
parents: 16361
diff changeset
4658 (when ps-print-header
4a5fa29f79d6 (ps-print-version): Fix value.
Richard M. Stallman <rms@gnu.org>
parents: 16361
diff changeset
4659 (ps-generate-header "HeaderLinesLeft" ps-left-header)
4a5fa29f79d6 (ps-print-version): Fix value.
Richard M. Stallman <rms@gnu.org>
parents: 16361
diff changeset
4660 (ps-generate-header "HeaderLinesRight" ps-right-header)
4a5fa29f79d6 (ps-print-version): Fix value.
Richard M. Stallman <rms@gnu.org>
parents: 16361
diff changeset
4661 (ps-output (format "%d SetHeaderLines\n" ps-header-lines)))
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
4662
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
4663 (ps-output "BeginPage\n")
19445
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4664 (ps-set-font ps-current-font)
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4665 (ps-set-bg ps-current-bg)
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4666 (ps-set-color ps-current-color))
7257
3759ad84023b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4667
3759ad84023b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4668 (defun ps-end-page ()
19773
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
4669 (ps-output "EndPage\nEndDSCPage\n"))
7257
3759ad84023b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4670
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
4671 (defun ps-dummy-page ()
21086
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
4672 (ps-header-page)
19773
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
4673 (ps-output "/PrintHeader false def
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
4674 BeginPage
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
4675 EndPage
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
4676 EndDSCPage\n"))
19879
87952270ceeb (ps-emacs-face-kind-p): Function deleted.
Richard M. Stallman <rms@gnu.org>
parents: 19843
diff changeset
4677
7257
3759ad84023b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4678 (defun ps-next-line ()
19445
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4679 (setq ps-showline-count (1+ ps-showline-count))
21086
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
4680 (let ((lh (ps-line-height 'ps-font-for-text)))
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
4681 (if (< ps-height-remaining lh)
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
4682 (ps-next-page)
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
4683 (setq ps-width-remaining ps-print-width
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
4684 ps-height-remaining (- ps-height-remaining lh))
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
4685 (ps-output "HL\n"))))
7257
3759ad84023b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4686
3759ad84023b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4687 (defun ps-continue-line ()
21086
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
4688 (let ((lh (ps-line-height 'ps-font-for-text)))
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
4689 (if (< ps-height-remaining lh)
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
4690 (ps-next-page)
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
4691 (setq ps-width-remaining ps-print-width
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
4692 ps-height-remaining (- ps-height-remaining lh))
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
4693 (ps-output "SL\n"))))
7257
3759ad84023b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4694
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
4695 (defun ps-find-wrappoint (from to char-width)
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
4696 (let ((avail (truncate (/ ps-width-remaining char-width)))
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
4697 (todo (- to from)))
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
4698 (if (< todo avail)
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
4699 (cons to (* todo char-width))
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
4700 (cons (+ from avail) ps-width-remaining))))
7257
3759ad84023b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4701
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
4702 (defun ps-basic-plot-string (from to &optional bg-color)
21086
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
4703 (let* ((wrappoint (ps-find-wrappoint from to
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
4704 (ps-avg-char-width 'ps-font-for-text)))
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
4705 (to (car wrappoint))
23091
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
4706 (string (buffer-substring-no-properties from to))
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
4707 (font-spec
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
4708 (ps-mule-get-font-spec
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
4709 'ascii
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
4710 (car (nth ps-current-font (ps-font-alist 'ps-font-for-text))))))
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
4711 (and font-spec
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
4712 (ps-mule-prepare-font font-spec string 'ascii))
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
4713 (ps-output-string string)
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
4714 (ps-output " S\n")
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
4715 wrappoint))
7257
3759ad84023b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4716
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
4717 (defun ps-basic-plot-whitespace (from to &optional bg-color)
21086
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
4718 (let* ((wrappoint (ps-find-wrappoint from to
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
4719 (ps-space-width 'ps-font-for-text)))
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
4720 (to (car wrappoint)))
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
4721 (ps-output (format "%d W\n" (- to from)))
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
4722 wrappoint))
7257
3759ad84023b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4723
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
4724 (defun ps-plot (plotfunc from to &optional bg-color)
7257
3759ad84023b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4725 (while (< from to)
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
4726 (let* ((wrappoint (funcall plotfunc from to bg-color))
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
4727 (plotted-to (car wrappoint))
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
4728 (plotted-width (cdr wrappoint)))
20331
39baaa9c5980 Some comment and doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 20019
diff changeset
4729 (setq from plotted-to
39baaa9c5980 Some comment and doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 20019
diff changeset
4730 ps-width-remaining (- ps-width-remaining plotted-width))
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
4731 (if (< from to)
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
4732 (ps-continue-line))))
7257
3759ad84023b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4733 (if ps-razzle-dazzle
3759ad84023b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4734 (let* ((q-todo (- (point-max) (point-min)))
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
4735 (q-done (- (point) (point-min)))
7257
3759ad84023b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4736 (chunkfrac (/ q-todo 8))
20516
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
4737 (chunksize (min chunkfrac 1000)))
7257
3759ad84023b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4738 (if (> (- q-done ps-razchunk) chunksize)
20331
39baaa9c5980 Some comment and doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 20019
diff changeset
4739 (progn
7257
3759ad84023b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4740 (setq ps-razchunk q-done)
20331
39baaa9c5980 Some comment and doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 20019
diff changeset
4741 (message "Formatting...%3d%%"
39baaa9c5980 Some comment and doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 20019
diff changeset
4742 (if (< q-todo 100)
39baaa9c5980 Some comment and doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 20019
diff changeset
4743 (/ (* 100 q-done) q-todo)
39baaa9c5980 Some comment and doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 20019
diff changeset
4744 (/ q-done (/ q-todo 100)))
39baaa9c5980 Some comment and doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 20019
diff changeset
4745 ))))))
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
4746
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
4747 (defun ps-set-font (font)
23091
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
4748 (setq ps-last-font (format "f%d" (setq ps-current-font font)))
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
4749 (ps-output (format "/%s F\n" ps-last-font)))
7257
3759ad84023b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4750
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
4751 (defun ps-set-bg (color)
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
4752 (if (setq ps-current-bg color)
20331
39baaa9c5980 Some comment and doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 20019
diff changeset
4753 (ps-output (format ps-color-format
39baaa9c5980 Some comment and doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 20019
diff changeset
4754 (nth 0 color) (nth 1 color) (nth 2 color))
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
4755 " true BG\n")
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
4756 (ps-output "false BG\n")))
7257
3759ad84023b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4757
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
4758 (defun ps-set-color (color)
19773
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
4759 (setq ps-current-color (or color ps-default-fg))
20331
39baaa9c5980 Some comment and doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 20019
diff changeset
4760 (ps-output (format ps-color-format
39baaa9c5980 Some comment and doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 20019
diff changeset
4761 (nth 0 ps-current-color)
11799
4a04c7799790 Miscellaneous fixes for better compatibility with
Karl Heuer <kwzh@gnu.org>
parents: 10738
diff changeset
4762 (nth 1 ps-current-color) (nth 2 ps-current-color))
4a04c7799790 Miscellaneous fixes for better compatibility with
Karl Heuer <kwzh@gnu.org>
parents: 10738
diff changeset
4763 " FG\n"))
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
4764
19445
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4765
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4766 (defvar ps-current-effect 0)
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4767
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4768
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4769 (defun ps-plot-region (from to font &optional fg-color bg-color effects)
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
4770 (if (not (equal font ps-current-font))
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
4771 (ps-set-font font))
19879
87952270ceeb (ps-emacs-face-kind-p): Function deleted.
Richard M. Stallman <rms@gnu.org>
parents: 19843
diff changeset
4772
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
4773 ;; Specify a foreground color only if one's specified and it's
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
4774 ;; different than the current.
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
4775 (if (not (equal fg-color ps-current-color))
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
4776 (ps-set-color fg-color))
19879
87952270ceeb (ps-emacs-face-kind-p): Function deleted.
Richard M. Stallman <rms@gnu.org>
parents: 19843
diff changeset
4777
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
4778 (if (not (equal bg-color ps-current-bg))
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
4779 (ps-set-bg bg-color))
19879
87952270ceeb (ps-emacs-face-kind-p): Function deleted.
Richard M. Stallman <rms@gnu.org>
parents: 19843
diff changeset
4780
19445
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4781 ;; Specify effects (underline, overline, box, etc)
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4782 (cond
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4783 ((not (integerp effects))
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4784 (ps-output "0 EF\n")
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4785 (setq ps-current-effect 0))
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4786 ((/= effects ps-current-effect)
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4787 (ps-output (number-to-string effects) " EF\n")
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4788 (setq ps-current-effect effects)))
7257
3759ad84023b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4789
23091
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
4790 (setq ps-mule-current-charset 'ascii)
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
4791
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
4792 ;; Starting at the beginning of the specified region...
7257
3759ad84023b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4793 (save-excursion
3759ad84023b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4794 (goto-char from)
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
4795
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
4796 ;; ...break the region up into chunks separated by tabs, linefeeds,
19445
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4797 ;; pagefeeds, control characters, and plot each chunk.
7257
3759ad84023b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4798 (while (< from to)
20516
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
4799 (if (re-search-forward ps-control-or-escape-regexp to t)
23551
385d7c586ad2 Doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 23550
diff changeset
4800 ;; region with some control characters or some multi-byte characters
21086
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
4801 (let* ((match-point (match-beginning 0))
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
4802 (match (char-after match-point)))
23091
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
4803 (when (< from match-point)
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
4804 (unless (eq ps-mule-current-charset 'ascii)
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
4805 (ps-set-font ps-current-font)
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
4806 (setq ps-mule-current-charset 'ascii))
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
4807 (ps-plot 'ps-basic-plot-string from match-point bg-color))
20516
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
4808 (cond
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
4809 ((= match ?\t) ; tab
23167
ada869918064 (ps-mule-font-info-database-bdf): The include ASCII
Kenichi Handa <handa@m17n.org>
parents: 23138
diff changeset
4810 (let ((linestart (line-beginning-position)))
20516
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
4811 (forward-char -1)
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
4812 (setq from (+ linestart (current-column)))
23091
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
4813 (when (re-search-forward "[ \t]+" to t)
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
4814 (unless (eq ps-mule-current-charset 'ascii)
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
4815 (ps-set-font ps-current-font)
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
4816 (setq ps-mule-current-charset 'ascii))
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
4817 (ps-plot 'ps-basic-plot-whitespace
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
4818 from (+ linestart (current-column))
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
4819 bg-color))))
20516
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
4820
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
4821 ((= match ?\n) ; newline
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
4822 (ps-next-line))
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
4823
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
4824 ((= match ?\f) ; form feed
21086
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
4825 ;; do not skip page if previous character is NEWLINE and
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
4826 ;; it is a beginning of page.
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
4827 (or (and (= (char-after (1- match-point)) ?\n)
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
4828 (= ps-height-remaining ps-print-height))
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
4829 (ps-next-page)))
23091
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
4830
23551
385d7c586ad2 Doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 23550
diff changeset
4831 ((> match 255) ; a multi-byte character
23091
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
4832 (let ((charset (char-charset match)))
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
4833 (or (eq charset 'composition)
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
4834 (ps-mule-skip-same-charset charset))
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
4835 (setq ps-mule-current-charset charset)
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
4836 (ps-plot 'ps-mule-plot-string match-point (point) bg-color)))
20516
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
4837 ; characters from ^@ to ^_ and
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
4838 (t ; characters from 127 to 255
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
4839 (ps-control-character match)))
19445
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4840 (setq from (point)))
23551
385d7c586ad2 Doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 23550
diff changeset
4841 ;; region without control characters nor multi-byte characters
23091
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
4842 (when (not (eq ps-mule-current-charset 'ascii))
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
4843 (ps-set-font ps-current-font)
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
4844 (setq ps-mule-current-charset 'ascii))
19445
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4845 (ps-plot 'ps-basic-plot-string from to bg-color)
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4846 (setq from to)))))
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4847
20516
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
4848 (defvar ps-string-control-codes
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
4849 (let ((table (make-vector 256 nil))
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
4850 (char ?\000))
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
4851 ;; control character
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
4852 (while (<= char ?\037)
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
4853 (aset table char (format "^%c" (+ char ?@)))
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
4854 (setq char (1+ char)))
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
4855 ;; printable character
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
4856 (while (< char ?\177)
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
4857 (aset table char (format "%c" char))
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
4858 (setq char (1+ char)))
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
4859 ;; DEL
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
4860 (aset table char "^?")
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
4861 ;; 8-bit character
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
4862 (while (<= (setq char (1+ char)) ?\377)
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
4863 (aset table char (format "\\%o" char)))
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
4864 table)
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
4865 "Vector used to map characters to a printable string.")
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
4866
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
4867 (defun ps-control-character (char)
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
4868 (let* ((str (aref ps-string-control-codes char))
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
4869 (from (1- (point)))
19445
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4870 (len (length str))
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4871 (to (+ from len))
21086
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
4872 (char-width (ps-avg-char-width 'ps-font-for-text))
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
4873 (wrappoint (ps-find-wrappoint from to char-width)))
19445
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4874 (if (< (car wrappoint) to)
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4875 (ps-continue-line))
21086
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
4876 (setq ps-width-remaining (- ps-width-remaining (* len char-width)))
19445
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4877 (ps-output-string str)
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4878 (ps-output " S\n")))
7257
3759ad84023b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4879
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
4880 (defun ps-color-value (x-color-value)
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
4881 ;; Scale 16-bit X-COLOR-VALUE to PostScript color value in [0, 1] interval.
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
4882 (/ x-color-value ps-print-color-scale))
7257
3759ad84023b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4883
23550
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
4884
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
4885 (cond ((eq ps-print-emacs-type 'emacs) ; emacs
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
4886
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
4887 (defun ps-color-values (x-color)
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
4888 (if (fboundp 'x-color-values)
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
4889 (x-color-values x-color)
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
4890 (error "No available function to determine X color values.")))
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
4891 )
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
4892 ; xemacs
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
4893 ; lucid
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
4894 (t ; epoch
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
4895 (defun ps-color-values (x-color)
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
4896 (cond ((fboundp 'x-color-values)
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
4897 (x-color-values x-color))
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
4898 ((and (fboundp 'color-instance-rgb-components)
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
4899 (ps-color-device))
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
4900 (color-instance-rgb-components
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
4901 (if (color-instance-p x-color)
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
4902 x-color
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
4903 (make-color-instance
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
4904 (if (color-specifier-p x-color)
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
4905 (color-name x-color)
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
4906 x-color)))))
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
4907 (t (error "No available function to determine X color values."))))
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
4908 ))
11799
4a04c7799790 Miscellaneous fixes for better compatibility with
Karl Heuer <kwzh@gnu.org>
parents: 10738
diff changeset
4909
19445
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4910
19773
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
4911 (defun ps-face-attributes (face)
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
4912 "Return face attribute vector.
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
4913
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
4914 If FACE is not in `ps-print-face-extension-alist' or in
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
4915 `ps-print-face-alist', insert it on `ps-print-face-alist' and
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
4916 return the attribute vector.
19445
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4917
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4918 If FACE is not a valid face name, it is used default face."
19773
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
4919 (cdr (or (assq face ps-print-face-extension-alist)
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
4920 (assq face ps-print-face-alist)
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
4921 (let* ((the-face (if (facep face) face 'default))
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
4922 (new-face (ps-screen-to-bit-face the-face)))
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
4923 (or (and (eq the-face 'default)
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
4924 (assq the-face ps-print-face-alist))
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
4925 (setq ps-print-face-alist (cons new-face ps-print-face-alist)))
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
4926 new-face))))
19445
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4927
11799
4a04c7799790 Miscellaneous fixes for better compatibility with
Karl Heuer <kwzh@gnu.org>
parents: 10738
diff changeset
4928
4a04c7799790 Miscellaneous fixes for better compatibility with
Karl Heuer <kwzh@gnu.org>
parents: 10738
diff changeset
4929 (defun ps-face-attribute-list (face-or-list)
4a04c7799790 Miscellaneous fixes for better compatibility with
Karl Heuer <kwzh@gnu.org>
parents: 10738
diff changeset
4930 (if (listp face-or-list)
19445
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4931 ;; list of faces
20516
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
4932 (let ((effects 0)
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
4933 foreground background face-attr)
11799
4a04c7799790 Miscellaneous fixes for better compatibility with
Karl Heuer <kwzh@gnu.org>
parents: 10738
diff changeset
4934 (while face-or-list
20516
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
4935 (setq face-attr (ps-face-attributes (car face-or-list))
19445
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4936 effects (logior effects (aref face-attr 0)))
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4937 (or foreground (setq foreground (aref face-attr 1)))
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4938 (or background (setq background (aref face-attr 2)))
11799
4a04c7799790 Miscellaneous fixes for better compatibility with
Karl Heuer <kwzh@gnu.org>
parents: 10738
diff changeset
4939 (setq face-or-list (cdr face-or-list)))
19445
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4940 (vector effects foreground background))
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4941 ;; simple face
11799
4a04c7799790 Miscellaneous fixes for better compatibility with
Karl Heuer <kwzh@gnu.org>
parents: 10738
diff changeset
4942 (ps-face-attributes face-or-list)))
4a04c7799790 Miscellaneous fixes for better compatibility with
Karl Heuer <kwzh@gnu.org>
parents: 10738
diff changeset
4943
19445
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4944
21086
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
4945 (defconst ps-font-type (vector nil 'bold 'italic 'bold-italic))
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
4946
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
4947
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
4948 (defun ps-plot-with-face (from to face)
21086
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
4949 (cond
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
4950 ((null face) ; print text with null face
19445
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4951 (ps-plot-region from to 0))
21086
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
4952 ((eq face 'emacs--invisible--face)) ; skip invisible text!!!
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
4953 (t ; otherwise, text has a valid face
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
4954 (let* ((face-bit (ps-face-attribute-list face))
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
4955 (effect (aref face-bit 0))
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
4956 (foreground (aref face-bit 1))
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
4957 (background (aref face-bit 2))
23550
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
4958 (fg-color (if (and ps-color-p foreground)
21086
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
4959 (mapcar 'ps-color-value
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
4960 (ps-color-values foreground))
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
4961 ps-default-color))
23550
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
4962 (bg-color (and ps-color-p background
21086
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
4963 (mapcar 'ps-color-value
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
4964 (ps-color-values background)))))
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
4965 (ps-plot-region
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
4966 from to
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
4967 (ps-font-number 'ps-font-for-text
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
4968 (or (aref ps-font-type (logand effect 3))
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
4969 face))
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
4970 fg-color bg-color (lsh effect -2)))))
19445
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
4971 (goto-char to))
7257
3759ad84023b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4972
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
4973
23091
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
4974 (cond ((eq ps-print-emacs-type 'emacs) ; emacs
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
4975
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
4976 (defun ps-face-bold-p (face)
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
4977 (or (face-bold-p face)
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
4978 (memq face ps-bold-faces)))
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
4979
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
4980 (defun ps-face-italic-p (face)
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
4981 (or (face-italic-p face)
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
4982 (memq face ps-italic-faces)))
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
4983 )
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
4984 ; xemacs
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
4985 ; lucid
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
4986 (t ; epoch
23550
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
4987 (defun ps-xemacs-face-kind-p (face kind kind-regex kind-list)
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
4988 (let* ((frame-font (or (face-font-instance face)
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
4989 (face-font-instance 'default)))
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
4990 (kind-cons (and frame-font
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
4991 (assq kind
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
4992 (font-instance-properties frame-font))))
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
4993 (kind-spec (cdr-safe kind-cons))
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
4994 (case-fold-search t))
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
4995 (or (and kind-spec (string-match kind-regex kind-spec))
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
4996 ;; Kludge-compatible:
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
4997 (memq face kind-list))))
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
4998
23091
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
4999 (defun ps-face-bold-p (face)
23550
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
5000 (ps-xemacs-face-kind-p face 'WEIGHT_NAME "bold\\|demibold"
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
5001 ps-bold-faces))
23091
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
5002
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
5003 (defun ps-face-italic-p (face)
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
5004 (or (ps-xemacs-face-kind-p face 'ANGLE_NAME "i\\|o" ps-italic-faces)
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
5005 (ps-xemacs-face-kind-p face 'SLANT "i\\|o" ps-italic-faces)))
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
5006 ))
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
5007
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
5008
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
5009 (defun ps-face-underlined-p (face)
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
5010 (or (face-underline-p face)
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
5011 (memq face ps-underlined-faces)))
7257
3759ad84023b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5012
19773
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
5013
11799
4a04c7799790 Miscellaneous fixes for better compatibility with
Karl Heuer <kwzh@gnu.org>
parents: 10738
diff changeset
5014 ;; Ensure that face-list is fbound.
4a04c7799790 Miscellaneous fixes for better compatibility with
Karl Heuer <kwzh@gnu.org>
parents: 10738
diff changeset
5015 (or (fboundp 'face-list) (defalias 'face-list 'list-faces))
7257
3759ad84023b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5016
19773
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
5017
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
5018 (defun ps-build-reference-face-lists ()
20516
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
5019 ;; Ensure that face database is updated with faces on
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
5020 ;; `font-lock-face-attributes' (obsolete stuff)
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
5021 (ps-font-lock-face-attributes)
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
5022 ;; Now, rebuild reference face lists
19773
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
5023 (setq ps-print-face-alist nil)
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
5024 (if ps-auto-font-detect
19773
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
5025 (mapcar 'ps-map-face (face-list))
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
5026 (mapcar 'ps-set-face-bold ps-bold-faces)
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
5027 (mapcar 'ps-set-face-italic ps-italic-faces)
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
5028 (mapcar 'ps-set-face-underline ps-underlined-faces))
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
5029 (setq ps-build-face-reference nil))
7257
3759ad84023b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5030
19773
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
5031
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
5032 (defun ps-set-face-bold (face)
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
5033 (ps-set-face-attribute face 1))
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
5034
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
5035 (defun ps-set-face-italic (face)
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
5036 (ps-set-face-attribute face 2))
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
5037
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
5038 (defun ps-set-face-underline (face)
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
5039 (ps-set-face-attribute face 4))
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
5040
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
5041
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
5042 (defun ps-set-face-attribute (face effect)
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
5043 (let ((face-bit (cdr (ps-map-face face))))
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
5044 (aset face-bit 0 (logior (aref face-bit 0) effect))))
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
5045
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
5046
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
5047 (defun ps-map-face (face)
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
5048 (let* ((face-map (ps-screen-to-bit-face face))
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
5049 (ps-face-bit (cdr (assq (car face-map) ps-print-face-alist))))
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
5050 (if ps-face-bit
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
5051 ;; if face exists, merge both
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
5052 (let ((face-bit (cdr face-map)))
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
5053 (aset ps-face-bit 0 (logior (aref ps-face-bit 0) (aref face-bit 0)))
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
5054 (or (aref ps-face-bit 1) (aset ps-face-bit 1 (aref face-bit 1)))
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
5055 (or (aref ps-face-bit 2) (aset ps-face-bit 2 (aref face-bit 2))))
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
5056 ;; if face does not exist, insert it
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
5057 (setq ps-print-face-alist (cons face-map ps-print-face-alist)))
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
5058 face-map))
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
5059
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
5060
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
5061 (defun ps-screen-to-bit-face (face)
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
5062 (cons face
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
5063 (vector (logior (if (ps-face-bold-p face) 1 0) ; bold
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
5064 (if (ps-face-italic-p face) 2 0) ; italic
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
5065 (if (ps-face-underlined-p face) 4 0)) ; underline
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
5066 (face-foreground face)
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
5067 (face-background face))))
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
5068
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
5069
23550
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
5070 (cond ((not (eq ps-print-emacs-type 'emacs))
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
5071 ; xemacs
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
5072 ; lucid
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
5073 ; epoch
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
5074 (defun ps-mapper (extent list)
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
5075 (nconc list (list (list (extent-start-position extent) 'push extent)
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
5076 (list (extent-end-position extent) 'pull extent)))
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
5077 nil)
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
5078
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
5079 (defun ps-extent-sorter (a b)
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
5080 (< (extent-priority a) (extent-priority b)))
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
5081 ))
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
5082
11799
4a04c7799790 Miscellaneous fixes for better compatibility with
Karl Heuer <kwzh@gnu.org>
parents: 10738
diff changeset
5083
4a04c7799790 Miscellaneous fixes for better compatibility with
Karl Heuer <kwzh@gnu.org>
parents: 10738
diff changeset
5084 (defun ps-print-ensure-fontified (start end)
20516
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
5085 (and (boundp 'lazy-lock-mode) (symbol-value 'lazy-lock-mode)
23550
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
5086 (lazy-lock-fontify-region start end)))
11799
4a04c7799790 Miscellaneous fixes for better compatibility with
Karl Heuer <kwzh@gnu.org>
parents: 10738
diff changeset
5087
7257
3759ad84023b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5088 (defun ps-generate-postscript-with-faces (from to)
19445
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
5089 ;; Some initialization...
20516
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
5090 (setq ps-current-effect 0)
19445
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
5091
10683
64e6021d0ba0 Various changes.
Richard M. Stallman <rms@gnu.org>
parents: 10493
diff changeset
5092 ;; Build the reference lists of faces if necessary.
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
5093 (if (or ps-always-build-face-reference
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
5094 ps-build-face-reference)
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
5095 (progn
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
5096 (message "Collecting face information...")
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
5097 (ps-build-reference-face-lists)))
10683
64e6021d0ba0 Various changes.
Richard M. Stallman <rms@gnu.org>
parents: 10493
diff changeset
5098 ;; Set the color scale. We do it here instead of in the defvar so
64e6021d0ba0 Various changes.
Richard M. Stallman <rms@gnu.org>
parents: 10493
diff changeset
5099 ;; that ps-print can be dumped into emacs. This expression can't be
64e6021d0ba0 Various changes.
Richard M. Stallman <rms@gnu.org>
parents: 10493
diff changeset
5100 ;; evaluated at dump-time because X isn't initialized.
23550
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
5101 (setq ps-color-p (and ps-print-color-p (ps-color-device))
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
5102 ps-print-color-scale (if ps-color-p
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
5103 (float (car (ps-color-values "white")))
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
5104 1.0))
10683
64e6021d0ba0 Various changes.
Richard M. Stallman <rms@gnu.org>
parents: 10493
diff changeset
5105 ;; Generate some PostScript.
7257
3759ad84023b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5106 (save-restriction
3759ad84023b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5107 (narrow-to-region from to)
23550
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
5108 (ps-print-ensure-fontified from to)
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
5109 (let ((face 'default)
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
5110 (position to))
19445
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
5111 (cond
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
5112 ((or (eq ps-print-emacs-type 'lucid)
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
5113 (eq ps-print-emacs-type 'xemacs))
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
5114 ;; Build the list of extents...
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
5115 (let ((a (cons 'dummy nil))
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
5116 record type extent extent-list)
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
5117 (map-extents 'ps-mapper nil from to a)
20331
39baaa9c5980 Some comment and doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 20019
diff changeset
5118 (setq a (sort (cdr a) 'car-less-than-car)
39baaa9c5980 Some comment and doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 20019
diff changeset
5119 extent-list nil)
19445
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
5120
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
5121 ;; Loop through the extents...
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
5122 (while a
20331
39baaa9c5980 Some comment and doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 20019
diff changeset
5123 (setq record (car a)
39baaa9c5980 Some comment and doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 20019
diff changeset
5124
39baaa9c5980 Some comment and doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 20019
diff changeset
5125 position (car record)
39baaa9c5980 Some comment and doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 20019
diff changeset
5126 record (cdr record)
39baaa9c5980 Some comment and doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 20019
diff changeset
5127
39baaa9c5980 Some comment and doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 20019
diff changeset
5128 type (car record)
39baaa9c5980 Some comment and doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 20019
diff changeset
5129 record (cdr record)
39baaa9c5980 Some comment and doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 20019
diff changeset
5130
39baaa9c5980 Some comment and doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 20019
diff changeset
5131 extent (car record))
19445
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
5132
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
5133 ;; Plot up to this record.
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
5134 ;; XEmacs 19.12: for some reason, we're getting into a
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
5135 ;; situation in which some of the records have
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
5136 ;; positions less than 'from'. Since we've narrowed
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
5137 ;; the buffer, this'll generate errors. This is a
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
5138 ;; hack, but don't call ps-plot-with-face unless from >
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
5139 ;; point-min.
20331
39baaa9c5980 Some comment and doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 20019
diff changeset
5140 (and (>= from (point-min)) (<= position (point-max))
39baaa9c5980 Some comment and doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 20019
diff changeset
5141 (ps-plot-with-face from position face))
19445
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
5142
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
5143 (cond
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
5144 ((eq type 'push)
23550
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
5145 (and (extent-face extent)
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
5146 (setq extent-list (sort (cons extent extent-list)
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
5147 'ps-extent-sorter))))
19445
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
5148
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
5149 ((eq type 'pull)
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
5150 (setq extent-list (sort (delq extent extent-list)
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
5151 'ps-extent-sorter))))
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
5152
23550
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
5153 (setq face (if extent-list
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
5154 (extent-face (car extent-list))
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
5155 'default)
20331
39baaa9c5980 Some comment and doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 20019
diff changeset
5156 from position
39baaa9c5980 Some comment and doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 20019
diff changeset
5157 a (cdr a)))))
19445
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
5158
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
5159 ((eq ps-print-emacs-type 'emacs)
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
5160 (let ((property-change from)
23091
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
5161 (overlay-change from)
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
5162 (save-buffer-invisibility-spec buffer-invisibility-spec)
23307
5d6530954ece Skip invisible overlay.
Karl Heuer <kwzh@gnu.org>
parents: 23273
diff changeset
5163 (buffer-invisibility-spec nil))
19445
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
5164 (while (< from to)
23550
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
5165 (and (< property-change to) ; Don't search for property change
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
5166 ; unless previous search succeeded.
23550
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
5167 (setq property-change (next-property-change from nil to)))
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
5168 (and (< overlay-change to) ; Don't search for overlay change
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
5169 ; unless previous search succeeded.
23550
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
5170 (setq overlay-change (min (next-overlay-change from) to)))
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
5171 (setq position (min property-change overlay-change))
19445
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
5172 ;; The code below is not quite correct,
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
5173 ;; because a non-nil overlay invisible property
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
5174 ;; which is inactive according to the current value
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
5175 ;; of buffer-invisibility-spec nonetheless overrides
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
5176 ;; a face text property.
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
5177 (setq face
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
5178 (cond ((let ((prop (get-text-property from 'invisible)))
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
5179 ;; Decide whether this invisible property
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
5180 ;; really makes the text invisible.
23091
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
5181 (if (eq save-buffer-invisibility-spec t)
19445
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
5182 (not (null prop))
23091
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
5183 (or (memq prop save-buffer-invisibility-spec)
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
5184 (assq prop save-buffer-invisibility-spec))))
21086
12ecaaaea144 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20953
diff changeset
5185 'emacs--invisible--face)
19445
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
5186 ((get-text-property from 'face))
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
5187 (t 'default)))
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
5188 (let ((overlays (overlays-at from))
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
5189 (face-priority -1)) ; text-property
23550
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
5190 (while (and overlays
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
5191 (not (eq face 'emacs--invisible--face)))
19445
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
5192 (let* ((overlay (car overlays))
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
5193 (overlay-invisible (overlay-get overlay 'invisible))
23550
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
5194 (overlay-priority (or (overlay-get overlay 'priority)
19445
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
5195 0)))
23550
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
5196 (and (> overlay-priority face-priority)
23091
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
5197 (setq face
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
5198 (cond ((if (eq save-buffer-invisibility-spec t)
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
5199 (not (null overlay-invisible))
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
5200 (or (memq overlay-invisible
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
5201 save-buffer-invisibility-spec)
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
5202 (assq overlay-invisible
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
5203 save-buffer-invisibility-spec)))
23307
5d6530954ece Skip invisible overlay.
Karl Heuer <kwzh@gnu.org>
parents: 23273
diff changeset
5204 'emacs--invisible--face)
23550
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
5205 ((overlay-get overlay 'face))
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
5206 (t face))
20331
39baaa9c5980 Some comment and doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 20019
diff changeset
5207 face-priority overlay-priority)))
19445
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
5208 (setq overlays (cdr overlays))))
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
5209 ;; Plot up to this record.
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
5210 (ps-plot-with-face from position face)
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
5211 (setq from position)))))
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
5212 (ps-plot-with-face from to face))))
7257
3759ad84023b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5213
3759ad84023b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5214 (defun ps-generate-postscript (from to)
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
5215 (ps-plot-region from to 0 nil))
7257
3759ad84023b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5216
3759ad84023b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5217 (defun ps-generate (buffer from to genfunc)
19445
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
5218 (save-excursion
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
5219 (let ((from (min to from))
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
5220 (to (max to from))
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
5221 ;; This avoids trouble if chars with read-only properties
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
5222 ;; are copied into ps-spool-buffer.
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
5223 (inhibit-read-only t))
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
5224 (save-restriction
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
5225 (narrow-to-region from to)
20516
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
5226 (and ps-razzle-dazzle
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
5227 (message "Formatting...%3d%%" (setq ps-razchunk 0)))
20331
39baaa9c5980 Some comment and doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 20019
diff changeset
5228 (setq ps-source-buffer buffer
39baaa9c5980 Some comment and doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 20019
diff changeset
5229 ps-spool-buffer (get-buffer-create ps-spool-buffer-name))
19445
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
5230 (ps-init-output-queue)
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
5231 (let (safe-marker completed-safely needs-begin-file)
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
5232 (unwind-protect
10683
64e6021d0ba0 Various changes.
Richard M. Stallman <rms@gnu.org>
parents: 10493
diff changeset
5233 (progn
64e6021d0ba0 Various changes.
Richard M. Stallman <rms@gnu.org>
parents: 10493
diff changeset
5234 (set-buffer ps-spool-buffer)
22397
31b7f6a60174 Fix spooled file bugs.
Richard M. Stallman <rms@gnu.org>
parents: 22204
diff changeset
5235 (set-buffer-multibyte nil)
23138
14e74d2a49cb (ps-print-control-characters): Doc-string modified.
Kenichi Handa <handa@m17n.org>
parents: 23091
diff changeset
5236
19445
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
5237 ;; Get a marker and make it point to the current end of the
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
5238 ;; buffer, If an error occurs, we'll delete everything from
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
5239 ;; the end of this marker onwards.
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
5240 (setq safe-marker (make-marker))
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
5241 (set-marker safe-marker (point-max))
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
5242
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
5243 (goto-char (point-min))
20331
39baaa9c5980 Some comment and doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 20019
diff changeset
5244 (or (looking-at (regexp-quote ps-adobe-tag))
39baaa9c5980 Some comment and doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 20019
diff changeset
5245 (setq needs-begin-file t))
19445
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
5246 (save-excursion
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
5247 (set-buffer ps-source-buffer)
23550
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
5248 (and needs-begin-file (ps-begin-file))
23091
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
5249 (ps-mule-begin from to)
19445
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
5250 (ps-begin-job)
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
5251 (ps-begin-page))
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
5252 (set-buffer ps-source-buffer)
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
5253 (funcall genfunc from to)
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
5254 (ps-end-page)
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
5255
20331
39baaa9c5980 Some comment and doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 20019
diff changeset
5256 (and ps-spool-duplex (= (mod ps-page-count 2) 1)
39baaa9c5980 Some comment and doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 20019
diff changeset
5257 (ps-dummy-page))
22397
31b7f6a60174 Fix spooled file bugs.
Richard M. Stallman <rms@gnu.org>
parents: 22204
diff changeset
5258 (ps-end-file)
19445
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
5259 (ps-flush-output)
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
5260
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
5261 ;; Back to the PS output buffer to set the page count
22397
31b7f6a60174 Fix spooled file bugs.
Richard M. Stallman <rms@gnu.org>
parents: 22204
diff changeset
5262 (let ((total-lines (if ps-printing-region
31b7f6a60174 Fix spooled file bugs.
Richard M. Stallman <rms@gnu.org>
parents: 22204
diff changeset
5263 (cdr ps-printing-region)
31b7f6a60174 Fix spooled file bugs.
Richard M. Stallman <rms@gnu.org>
parents: 22204
diff changeset
5264 (ps-count-lines (point-min) (point-max))))
31b7f6a60174 Fix spooled file bugs.
Richard M. Stallman <rms@gnu.org>
parents: 22204
diff changeset
5265 (total-pages (if ps-print-only-one-header
31b7f6a60174 Fix spooled file bugs.
Richard M. Stallman <rms@gnu.org>
parents: 22204
diff changeset
5266 (ps-page-number)
31b7f6a60174 Fix spooled file bugs.
Richard M. Stallman <rms@gnu.org>
parents: 22204
diff changeset
5267 ps-page-count)))
31b7f6a60174 Fix spooled file bugs.
Richard M. Stallman <rms@gnu.org>
parents: 22204
diff changeset
5268 (set-buffer ps-spool-buffer)
31b7f6a60174 Fix spooled file bugs.
Richard M. Stallman <rms@gnu.org>
parents: 22204
diff changeset
5269 (goto-char (point-min))
31b7f6a60174 Fix spooled file bugs.
Richard M. Stallman <rms@gnu.org>
parents: 22204
diff changeset
5270 (while (re-search-forward "^/Lines 0 def\n/PageCount 0 def$"
31b7f6a60174 Fix spooled file bugs.
Richard M. Stallman <rms@gnu.org>
parents: 22204
diff changeset
5271 nil t)
31b7f6a60174 Fix spooled file bugs.
Richard M. Stallman <rms@gnu.org>
parents: 22204
diff changeset
5272 (replace-match (format "/Lines %d def\n/PageCount %d def"
31b7f6a60174 Fix spooled file bugs.
Richard M. Stallman <rms@gnu.org>
parents: 22204
diff changeset
5273 total-lines total-pages) t)))
19445
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
5274
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
5275 ;; Setting this variable tells the unwind form that the
20331
39baaa9c5980 Some comment and doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 20019
diff changeset
5276 ;; the PostScript was generated without error.
19445
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
5277 (setq completed-safely t))
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
5278
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
5279 ;; Unwind form: If some bad mojo occurred while generating
20331
39baaa9c5980 Some comment and doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 20019
diff changeset
5280 ;; PostScript, delete all the PostScript that was generated.
19445
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
5281 ;; This protects the previously spooled files from getting
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
5282 ;; corrupted.
20331
39baaa9c5980 Some comment and doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 20019
diff changeset
5283 (and (markerp safe-marker) (not completed-safely)
39baaa9c5980 Some comment and doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 20019
diff changeset
5284 (progn
39baaa9c5980 Some comment and doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 20019
diff changeset
5285 (set-buffer ps-spool-buffer)
39baaa9c5980 Some comment and doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 20019
diff changeset
5286 (delete-region (marker-position safe-marker) (point-max))))))
19445
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
5287
20516
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
5288 (and ps-razzle-dazzle (message "Formatting...done"))))))
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
5289
23091
25c95d9da0af Multi-byte buffer handling.
Kenichi Handa <handa@m17n.org>
parents: 22751
diff changeset
5290
20516
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
5291 ;; Permit dynamic evaluation at print time of `ps-lpr-switches'.
7257
3759ad84023b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5292 (defun ps-do-despool (filename)
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
5293 (if (or (not (boundp 'ps-spool-buffer))
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
5294 (not (symbol-value 'ps-spool-buffer)))
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
5295 (message "No spooled PostScript to print")
7257
3759ad84023b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5296 (if filename
3759ad84023b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5297 (save-excursion
20516
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
5298 (and ps-razzle-dazzle (message "Saving..."))
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
5299 (set-buffer ps-spool-buffer)
7257
3759ad84023b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5300 (setq filename (expand-file-name filename))
21571
add6627452a5 (ps-do-despool): Bind coding-system-for-write to
Eli Zaretskii <eliz@gnu.org>
parents: 21086
diff changeset
5301 (let ((coding-system-for-write 'raw-text-unix))
add6627452a5 (ps-do-despool): Bind coding-system-for-write to
Eli Zaretskii <eliz@gnu.org>
parents: 21086
diff changeset
5302 (write-region (point-min) (point-max) filename))
20516
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
5303 (and ps-razzle-dazzle (message "Wrote %s" filename)))
7257
3759ad84023b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5304 ;; Else, spool to the printer
20516
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
5305 (and ps-razzle-dazzle (message "Printing..."))
7257
3759ad84023b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5306 (save-excursion
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
5307 (set-buffer ps-spool-buffer)
22751
75c35003c69f (ps-do-despool): Bind ps-printer-name to printer-name if the former is
Andrew Innes <andrewi@gnu.org>
parents: 22680
diff changeset
5308 (let* ((coding-system-for-write 'raw-text-unix)
75c35003c69f (ps-do-despool): Bind ps-printer-name to printer-name if the former is
Andrew Innes <andrewi@gnu.org>
parents: 22680
diff changeset
5309 (ps-printer-name (or ps-printer-name printer-name))
75c35003c69f (ps-do-despool): Bind ps-printer-name to printer-name if the former is
Andrew Innes <andrewi@gnu.org>
parents: 22680
diff changeset
5310 (ps-lpr-switches
23138
14e74d2a49cb (ps-print-control-characters): Doc-string modified.
Kenichi Handa <handa@m17n.org>
parents: 23091
diff changeset
5311 (append (and (stringp ps-printer-name)
14e74d2a49cb (ps-print-control-characters): Doc-string modified.
Kenichi Handa <handa@m17n.org>
parents: 23091
diff changeset
5312 (list (concat "-P" ps-printer-name)))
14e74d2a49cb (ps-print-control-characters): Doc-string modified.
Kenichi Handa <handa@m17n.org>
parents: 23091
diff changeset
5313 ps-lpr-switches)))
22680
3cf03f32956c (ps-printer-name): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 22596
diff changeset
5314 (if (and (memq system-type '(ms-dos windows-nt))
23550
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
5315 (stringp ps-printer-name))
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
5316 (write-region (point-min) (point-max) ps-printer-name t 0)
14190
395b22713872 (ps-do-despool): On MS-DOS, allow both the usual and
Richard M. Stallman <rms@gnu.org>
parents: 14169
diff changeset
5317 (apply 'call-process-region
395b22713872 (ps-do-despool): On MS-DOS, allow both the usual and
Richard M. Stallman <rms@gnu.org>
parents: 14169
diff changeset
5318 (point-min) (point-max) ps-lpr-command nil
20516
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
5319 (and (fboundp 'start-process) 0)
14190
395b22713872 (ps-do-despool): On MS-DOS, allow both the usual and
Richard M. Stallman <rms@gnu.org>
parents: 14169
diff changeset
5320 nil
20516
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
5321 (ps-flatten-list ; dynamic evaluation
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
5322 (mapcar 'ps-eval-switch ps-lpr-switches))))))
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
5323 (and ps-razzle-dazzle (message "Printing...done")))
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
5324 (kill-buffer ps-spool-buffer)))
7257
3759ad84023b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5325
20516
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
5326 ;; Dynamic evaluation
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
5327 (defun ps-eval-switch (arg)
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
5328 (cond ((stringp arg) arg)
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
5329 ((functionp arg) (apply arg nil))
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
5330 ((symbolp arg) (symbol-value arg))
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
5331 ((consp arg) (apply (car arg) (cdr arg)))
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
5332 (t nil)))
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
5333
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
5334 ;; `ps-flatten-list' is defined here (copied from "message.el" and
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
5335 ;; enhanced to handle dotted pairs as well) until we can get some
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
5336 ;; sensible autoloads, or `flatten-list' gets put somewhere decent.
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
5337
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
5338 ;; (ps-flatten-list '((a . b) c (d . e) (f g h) i . j))
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
5339 ;; => (a b c d e f g h i j)
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
5340
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
5341 (defun ps-flatten-list (&rest list)
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
5342 (ps-flatten-list-1 list))
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
5343
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
5344 (defun ps-flatten-list-1 (list)
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
5345 (cond ((null list) nil)
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
5346 ((consp list) (append (ps-flatten-list-1 (car list))
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
5347 (ps-flatten-list-1 (cdr list))))
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
5348 (t (list list))))
d33438261904 Some comment, doc and bug fixes.
Richard M. Stallman <rms@gnu.org>
parents: 20332
diff changeset
5349
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
5350 (defun ps-kill-emacs-check ()
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
5351 (let (ps-buffer)
20331
39baaa9c5980 Some comment and doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 20019
diff changeset
5352 (and (setq ps-buffer (get-buffer ps-spool-buffer-name))
39baaa9c5980 Some comment and doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 20019
diff changeset
5353 (buffer-modified-p ps-buffer)
39baaa9c5980 Some comment and doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 20019
diff changeset
5354 (y-or-n-p "Unprinted PostScript waiting; print now? ")
39baaa9c5980 Some comment and doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 20019
diff changeset
5355 (ps-despool))
39baaa9c5980 Some comment and doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 20019
diff changeset
5356 (and (setq ps-buffer (get-buffer ps-spool-buffer-name))
39baaa9c5980 Some comment and doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 20019
diff changeset
5357 (buffer-modified-p ps-buffer)
39baaa9c5980 Some comment and doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 20019
diff changeset
5358 (not (yes-or-no-p "Unprinted PostScript waiting; exit anyway? "))
39baaa9c5980 Some comment and doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 20019
diff changeset
5359 (error "Unprinted PostScript"))))
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
5360
23550
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
5361 (cond ((fboundp 'add-hook)
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
5362 (funcall 'add-hook 'kill-emacs-hook 'ps-kill-emacs-check))
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
5363 (kill-emacs-hook
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
5364 (message "Won't override existing `kill-emacs-hook'"))
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
5365 (t
d8a958630c9d User option for multibyte buffer handling and doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 23484
diff changeset
5366 (setq kill-emacs-hook 'ps-kill-emacs-check)))
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
5367
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
5368 ;;; Sample Setup Code:
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
5369
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
5370 ;; This stuff is for anybody that's brave enough to look this far,
19445
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
5371 ;; and able to figure out how to use it. It isn't really part of
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
5372 ;; ps-print, but I'll leave it here in hopes it might be useful:
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
5373
11799
4a04c7799790 Miscellaneous fixes for better compatibility with
Karl Heuer <kwzh@gnu.org>
parents: 10738
diff changeset
5374 ;; WARNING!!! The following code is *sample* code only. Don't use it
4a04c7799790 Miscellaneous fixes for better compatibility with
Karl Heuer <kwzh@gnu.org>
parents: 10738
diff changeset
5375 ;; unless you understand what it does!
4a04c7799790 Miscellaneous fixes for better compatibility with
Karl Heuer <kwzh@gnu.org>
parents: 10738
diff changeset
5376
19445
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
5377 (defmacro ps-prsc ()
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
5378 `(if (eq ps-print-emacs-type 'emacs) [f22] 'f22))
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
5379 (defmacro ps-c-prsc ()
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
5380 `(if (eq ps-print-emacs-type 'emacs) [C-f22] '(control f22)))
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
5381 (defmacro ps-s-prsc ()
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
5382 `(if (eq ps-print-emacs-type 'emacs) [S-f22] '(shift f22)))
10683
64e6021d0ba0 Various changes.
Richard M. Stallman <rms@gnu.org>
parents: 10493
diff changeset
5383
19773
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
5384 ;; A hook to bind to `rmail-mode-hook' to locally bind prsc and set the
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
5385 ;; `ps-left-headers' specially for mail messages.
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
5386 (defun ps-rmail-mode-hook ()
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
5387 (local-set-key (ps-prsc) 'ps-rmail-print-message-from-summary)
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
5388 (setq ps-header-lines 3
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
5389 ps-left-header
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
5390 ;; The left headers will display the message's subject, its
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
5391 ;; author, and the name of the folder it was in.
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
5392 '(ps-article-subject ps-article-author buffer-name)))
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
5393
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
5394 ;; See `ps-gnus-print-article-from-summary'. This function does the
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
5395 ;; same thing for rmail.
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
5396 (defun ps-rmail-print-message-from-summary ()
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
5397 (interactive)
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
5398 (ps-print-message-from-summary 'rmail-summary-buffer "RMAIL"))
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
5399
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
5400 ;; Used in `ps-rmail-print-article-from-summary',
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
5401 ;; `ps-gnus-print-article-from-summary' and `ps-vm-print-message-from-summary'.
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
5402 (defun ps-print-message-from-summary (summary-buffer summary-default)
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
5403 (let ((ps-buf (or (and (boundp summary-buffer)
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
5404 (symbol-value summary-buffer))
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
5405 summary-default)))
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
5406 (and (get-buffer ps-buf)
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
5407 (save-excursion
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
5408 (set-buffer ps-buf)
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
5409 (ps-spool-buffer-with-faces)))))
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
5410
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
5411 ;; Look in an article or mail message for the Subject: line. To be
19445
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
5412 ;; placed in `ps-left-headers'.
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
5413 (defun ps-article-subject ()
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
5414 (save-excursion
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
5415 (goto-char (point-min))
15620
7844c0f756d0 (ps-article-subject): Don't die if no subject header.
Karl Heuer <kwzh@gnu.org>
parents: 15163
diff changeset
5416 (if (re-search-forward "^Subject:[ \t]+\\(.*\\)$" nil t)
17588
0054114145ca change all buffer-substring to buffer-substring-no-properties.
Simon Marshall <simon@gnu.org>
parents: 17440
diff changeset
5417 (buffer-substring-no-properties (match-beginning 1) (match-end 1))
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
5418 "Subject ???")))
7257
3759ad84023b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5419
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
5420 ;; Look in an article or mail message for the From: line. Sorta-kinda
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
5421 ;; understands RFC-822 addresses and can pull the real name out where
19445
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
5422 ;; it's provided. To be placed in `ps-left-headers'.
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
5423 (defun ps-article-author ()
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
5424 (save-excursion
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
5425 (goto-char (point-min))
15621
6be6d1990543 (ps-article-author, ps-info-file, ps-info-node): Don't die if header is missing.
Karl Heuer <kwzh@gnu.org>
parents: 15620
diff changeset
5426 (if (re-search-forward "^From:[ \t]+\\(.*\\)$" nil t)
19445
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
5427 (let ((fromstring (buffer-substring-no-properties (match-beginning 1)
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
5428 (match-end 1))))
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
5429 (cond
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
5430
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
5431 ;; Try first to match addresses that look like
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
5432 ;; thompson@wg2.waii.com (Jim Thompson)
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
5433 ((string-match ".*[ \t]+(\\(.*\\))" fromstring)
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
5434 (substring fromstring (match-beginning 1) (match-end 1)))
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
5435
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
5436 ;; Next try to match addresses that look like
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
5437 ;; Jim Thompson <thompson@wg2.waii.com>
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
5438 ((string-match "\\(.*\\)[ \t]+<.*>" fromstring)
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
5439 (substring fromstring (match-beginning 1) (match-end 1)))
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
5440
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
5441 ;; Couldn't find a real name -- show the address instead.
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
5442 (t fromstring)))
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
5443 "From ???")))
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
5444
19773
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
5445 ;; A hook to bind to `gnus-article-prepare-hook'. This will set the
19445
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
5446 ;; `ps-left-headers' specially for gnus articles. Unfortunately,
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
5447 ;; `gnus-article-mode-hook' is called only once, the first time the *Article*
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
5448 ;; buffer enters that mode, so it would only work for the first time
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
5449 ;; we ran gnus. The second time, this hook wouldn't get set up. The
19445
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
5450 ;; only alternative is `gnus-article-prepare-hook'.
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
5451 (defun ps-gnus-article-prepare-hook ()
20331
39baaa9c5980 Some comment and doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 20019
diff changeset
5452 (setq ps-header-lines 3
39baaa9c5980 Some comment and doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 20019
diff changeset
5453 ps-left-header
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
5454 ;; The left headers will display the article's subject, its
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
5455 ;; author, and the newsgroup it was in.
20331
39baaa9c5980 Some comment and doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 20019
diff changeset
5456 '(ps-article-subject ps-article-author gnus-newsgroup-name)))
7257
3759ad84023b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5457
19773
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
5458 ;; A hook to bind to `vm-mode-hook' to locally bind prsc and set the
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
5459 ;; `ps-left-headers' specially for mail messages.
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
5460 (defun ps-vm-mode-hook ()
10683
64e6021d0ba0 Various changes.
Richard M. Stallman <rms@gnu.org>
parents: 10493
diff changeset
5461 (local-set-key (ps-prsc) 'ps-vm-print-message-from-summary)
20331
39baaa9c5980 Some comment and doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 20019
diff changeset
5462 (setq ps-header-lines 3
39baaa9c5980 Some comment and doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 20019
diff changeset
5463 ps-left-header
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
5464 ;; The left headers will display the message's subject, its
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
5465 ;; author, and the name of the folder it was in.
20331
39baaa9c5980 Some comment and doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 20019
diff changeset
5466 '(ps-article-subject ps-article-author buffer-name)))
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
5467
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
5468 ;; Every now and then I forget to switch from the *Summary* buffer to
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
5469 ;; the *Article* before hitting prsc, and a nicely formatted list of
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
5470 ;; article subjects shows up at the printer. This function, bound to
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
5471 ;; prsc for the gnus *Summary* buffer means I don't have to switch
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
5472 ;; buffers first.
19445
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
5473 ;; sb: Updated for Gnus 5.
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
5474 (defun ps-gnus-print-article-from-summary ()
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
5475 (interactive)
19773
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
5476 (ps-print-message-from-summary 'gnus-article-buffer "*Article*"))
19445
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
5477
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
5478 ;; See `ps-gnus-print-article-from-summary'. This function does the
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
5479 ;; same thing for vm.
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
5480 (defun ps-vm-print-message-from-summary ()
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
5481 (interactive)
19773
24853e0e38d6 Some comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19485
diff changeset
5482 (ps-print-message-from-summary 'vm-mail-buffer ""))
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
5483
19445
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
5484 ;; A hook to bind to bind to `gnus-summary-setup-buffer' to locally bind
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
5485 ;; prsc.
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
5486 (defun ps-gnus-summary-setup ()
10683
64e6021d0ba0 Various changes.
Richard M. Stallman <rms@gnu.org>
parents: 10493
diff changeset
5487 (local-set-key (ps-prsc) 'ps-gnus-print-article-from-summary))
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
5488
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
5489 ;; Look in an article or mail message for the Subject: line. To be
19445
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
5490 ;; placed in `ps-left-headers'.
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
5491 (defun ps-info-file ()
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
5492 (save-excursion
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
5493 (goto-char (point-min))
15621
6be6d1990543 (ps-article-author, ps-info-file, ps-info-node): Don't die if header is missing.
Karl Heuer <kwzh@gnu.org>
parents: 15620
diff changeset
5494 (if (re-search-forward "File:[ \t]+\\([^, \t\n]*\\)" nil t)
17588
0054114145ca change all buffer-substring to buffer-substring-no-properties.
Simon Marshall <simon@gnu.org>
parents: 17440
diff changeset
5495 (buffer-substring-no-properties (match-beginning 1) (match-end 1))
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
5496 "File ???")))
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
5497
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
5498 ;; Look in an article or mail message for the Subject: line. To be
19445
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
5499 ;; placed in `ps-left-headers'.
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
5500 (defun ps-info-node ()
7257
3759ad84023b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5501 (save-excursion
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
5502 (goto-char (point-min))
15621
6be6d1990543 (ps-article-author, ps-info-file, ps-info-node): Don't die if header is missing.
Karl Heuer <kwzh@gnu.org>
parents: 15620
diff changeset
5503 (if (re-search-forward "Node:[ \t]+\\([^,\t\n]*\\)" nil t)
17588
0054114145ca change all buffer-substring to buffer-substring-no-properties.
Simon Marshall <simon@gnu.org>
parents: 17440
diff changeset
5504 (buffer-substring-no-properties (match-beginning 1) (match-end 1))
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
5505 "Node ???")))
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
5506
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
5507 (defun ps-info-mode-hook ()
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
5508 (setq ps-left-header
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
5509 ;; The left headers will display the node name and file name.
20331
39baaa9c5980 Some comment and doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 20019
diff changeset
5510 '(ps-info-node ps-info-file)))
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
5511
11799
4a04c7799790 Miscellaneous fixes for better compatibility with
Karl Heuer <kwzh@gnu.org>
parents: 10738
diff changeset
5512 ;; WARNING! The following function is a *sample* only, and is *not*
4a04c7799790 Miscellaneous fixes for better compatibility with
Karl Heuer <kwzh@gnu.org>
parents: 10738
diff changeset
5513 ;; meant to be used as a whole unless you understand what the effects
19445
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
5514 ;; will be! (In fact, this is a copy of Jim's setup for ps-print --
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
5515 ;; I'd be very surprised if it was useful to *anybody*, without
11799
4a04c7799790 Miscellaneous fixes for better compatibility with
Karl Heuer <kwzh@gnu.org>
parents: 10738
diff changeset
5516 ;; modification.)
4a04c7799790 Miscellaneous fixes for better compatibility with
Karl Heuer <kwzh@gnu.org>
parents: 10738
diff changeset
5517
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
5518 (defun ps-jts-ps-setup ()
10683
64e6021d0ba0 Various changes.
Richard M. Stallman <rms@gnu.org>
parents: 10493
diff changeset
5519 (global-set-key (ps-prsc) 'ps-spool-buffer-with-faces) ;f22 is prsc
64e6021d0ba0 Various changes.
Richard M. Stallman <rms@gnu.org>
parents: 10493
diff changeset
5520 (global-set-key (ps-s-prsc) 'ps-spool-region-with-faces)
64e6021d0ba0 Various changes.
Richard M. Stallman <rms@gnu.org>
parents: 10493
diff changeset
5521 (global-set-key (ps-c-prsc) 'ps-despool)
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
5522 (add-hook 'gnus-article-prepare-hook 'ps-gnus-article-prepare-hook)
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
5523 (add-hook 'gnus-summary-mode-hook 'ps-gnus-summary-setup)
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
5524 (add-hook 'vm-mode-hook 'ps-vm-mode-hook)
10683
64e6021d0ba0 Various changes.
Richard M. Stallman <rms@gnu.org>
parents: 10493
diff changeset
5525 (add-hook 'vm-mode-hooks 'ps-vm-mode-hook)
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
5526 (add-hook 'Info-mode-hook 'ps-info-mode-hook)
20331
39baaa9c5980 Some comment and doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 20019
diff changeset
5527 (setq ps-spool-duplex t
39baaa9c5980 Some comment and doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 20019
diff changeset
5528 ps-print-color-p nil
39baaa9c5980 Some comment and doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 20019
diff changeset
5529 ps-lpr-command "lpr"
39baaa9c5980 Some comment and doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 20019
diff changeset
5530 ps-lpr-switches '("-Jjct,duplex_long"))
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
5531 'ps-jts-ps-setup)
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
5532
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
5533 ;; WARNING! The following function is a *sample* only, and is *not*
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
5534 ;; meant to be used as a whole unless it corresponds to your needs.
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
5535 ;; (In fact, this is a copy of Jack's setup for ps-print --
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
5536 ;; I would not be that surprised if it was useful to *anybody*,
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
5537 ;; without modification.)
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
5538
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
5539 (defun ps-jack-setup ()
19445
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
5540 (setq ps-print-color-p nil
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
5541 ps-lpr-command "lpr"
20331
39baaa9c5980 Some comment and doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 20019
diff changeset
5542 ps-lpr-switches nil
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
5543
19445
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
5544 ps-paper-type 'a4
94a54fbffb3e A lot of comment and doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 19011
diff changeset
5545 ps-landscape-mode t
16361
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
5546 ps-number-of-columns 2
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
5547
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
5548 ps-left-margin (/ (* 72 1.0) 2.54) ; 1.0 cm
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
5549 ps-right-margin (/ (* 72 1.0) 2.54) ; 1.0 cm
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
5550 ps-inter-column (/ (* 72 1.0) 2.54) ; 1.0 cm
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
5551 ps-bottom-margin (/ (* 72 1.5) 2.54) ; 1.5 cm
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
5552 ps-top-margin (/ (* 72 1.5) 2.54) ; 1.5 cm
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
5553 ps-header-offset (/ (* 72 1.0) 2.54) ; 1.0 cm
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
5554 ps-header-line-pad .15
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
5555 ps-print-header t
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
5556 ps-print-header-frame t
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
5557 ps-header-lines 2
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
5558 ps-show-n-of-n t
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
5559 ps-spool-duplex nil
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
5560
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
5561 ps-font-family 'Courier
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
5562 ps-font-size 5.5
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
5563 ps-header-font-family 'Helvetica
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
5564 ps-header-font-size 6
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
5565 ps-header-title-font-size 8)
032601b9959b (ps-print-prologue-1): Fix bug in postscript comment lines.
Richard M. Stallman <rms@gnu.org>
parents: 16186
diff changeset
5566 'ps-jack-setup)
7257
3759ad84023b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5567
3759ad84023b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5568 (provide 'ps-print)
10738
e7d5b119b583 (ps-print-version): Add caveat about version number.
Richard M. Stallman <rms@gnu.org>
parents: 10683
diff changeset
5569
10492
a0f38717d82d *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 7257
diff changeset
5570 ;;; ps-print.el ends here