summaryrefslogtreecommitdiff
path: root/Build
diff options
context:
space:
mode:
authorJoachim Schrod <jschrod@acm.org>2007-07-03 18:08:24 +0000
committerJoachim Schrod <jschrod@acm.org>2007-07-03 18:08:24 +0000
commit39d27398f02282c9111c5f679afb15e3d6798762 (patch)
treeaee8ba08b1c8379f096b34d7dbadb0d3f7cf0367 /Build
parent95373b09c88da7661e3af62adaf5c6884eaf7dbb (diff)
Output reset sequence as specified in the HP PCL/PJL reference manuals.
git-svn-id: svn://tug.org/texlive/trunk@4541 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build')
-rw-r--r--Build/source/texk/dviljk/ChangeLog3
-rw-r--r--Build/source/texk/dviljk/dvi2xx.c24
2 files changed, 21 insertions, 6 deletions
diff --git a/Build/source/texk/dviljk/ChangeLog b/Build/source/texk/dviljk/ChangeLog
index 78d467af42d..ad362e9d98c 100644
--- a/Build/source/texk/dviljk/ChangeLog
+++ b/Build/source/texk/dviljk/ChangeLog
@@ -5,6 +5,9 @@
(main): Enforce the kpathsea program name to be "dvilj", we don't
want different search paths for the dviljk variations.
+ Output reset sequence as specified in the HP PCL/PJL reference
+ manuals.
+
(DoSpecial): Search for include files with kpathsea, both via
DVILJINPUTS and TEXINPUTS.
Add special hpfile-verbatim, to include PCL files verbatim,
diff --git a/Build/source/texk/dviljk/dvi2xx.c b/Build/source/texk/dviljk/dvi2xx.c
index d44400909fe..233a08c4ce5 100644
--- a/Build/source/texk/dviljk/dvi2xx.c
+++ b/Build/source/texk/dviljk/dvi2xx.c
@@ -275,17 +275,29 @@ char *argv[];
#endif
#ifdef LJ
- if (ResetPrinter)
- EMIT1("\033E");
# ifdef LJ4
- EMIT2("\033%%-12345X@PJL SET RESOLUTION=%d\012",RESOLUTION);
- EMIT1("@PJL SET PAGEPROTECT=OFF\012");
- EMIT1("@PJL ENTER LANGUAGE=PCL\012");
- if (econoMode && LJ6)
+ /* According to the PCL (p. 4-2) and PJL (p. 4-3) reference manuals, it is
+ critical that the UEL escape sequence (\e%-12345X) comes before the
+ reset sequence (\eE). According to PJL Reference Manual (p. 4-3) the
+ correct order is (1) UEL, (2) PJL commands, (3) Reset and PCL job, (4)
+ Reset, (5) UEL. */
+ if (ResetPrinter) {
+ EMIT1("\033%%-12345X"); /* UEL: Universal Exit Language */
+ EMIT2("@PJL SET RESOLUTION=%d\012",RESOLUTION);
+ EMIT1("@PJL SET PAGEPROTECT=OFF\012");
+ if (econoMode && LJ6)
EMIT1("@PJL SET ECONOMODE=ON\012");
+ /* The PJL ENTER LANGUAGE command must be the last PJL command before
+ PCL output starts. */
+ EMIT1("@PJL ENTER LANGUAGE=PCL\012");
+ EMIT1("\033E");
+ }
EMIT3("\033&u%dD\033*t%dR",RESOLUTION,RESOLUTION);
if (econoMode && !LJ6)
EMIT1("\033*v1T");
+# else
+ if (ResetPrinter)
+ EMIT1("\033E");
# endif
# ifdef LJ2P
if (DuplexMode)