Article View: comp.text.tex
Article #10707True HPLJ 4 DVI-Driver, it works !
From: H. Wenk
Date: Sun, 24 Jan 1993 15:05
Date: Sun, 24 Jan 1993 15:05
160 lines
5753 bytes
5753 bytes
Path: convex.rz.uni-duesseldorf.de!wenk
Date: 24 Jan 93 14:58:37 GMT
Message-ID: <wenk.727887517@convex.rz.uni-duesseldorf.de>
Newsgroups: comp.text.tex
Distribution: world
Subject: True HPLJ 4 DVI-Driver, it works !
Keywords: dvi,HPLJ4,PCL5
After searching for a Laserjet 4 dvi-driver on the net for a
while i performed the few neccessary patches in the dvi2lj package
myself ( a rather trivial task, once you have access to the
HPLJ4 technical reference manual :-) ).
Thomas Eickermann ( ike@thphy.uni-duesseldorf.de )
Here are the patches:
*** ../dvi2lj.orig/README Sun Apr 21 15:05:42 1991
--- ./README Sun Jan 24 13:54:56 1993
***************
*** 12,17 ****
--- 12,20 ----
Dviljp and dvilj are similar to dvilj2p and dvilj2 but they sup-
port only 128 character fonts. They may be used for Laserjet
clones which do not support 256 character fonts.
+
+ Dvilj4 converts TeX-output .dvi files into HP PCL5 commands using
+ 600 DPI pixelfonts. The output can be printed on a HP Laserjet 4.
Dvi3812 converts TeX-output .dvi files into PMP files, the native
command language of the IBM 3812 page printer.
*** ../dvi2lj.orig/Makefile Sun May 5 22:44:02 1991
--- ./Makefile Sun Jan 24 14:03:16 1993
***************
*** 26,31 ****
--- 26,34 ----
dvilj2p: dvi2xx.c ${OBJS} $(HFILES)
cc ${CFLAGS} -DLJ2P -o $@ dvi2xx.c ${OBJS} ${LFLAGS}
+ dvilj4: dvi2xx.c ${OBJS} $(HFILES)
+ cc ${CFLAGS} -DLJ4 -DLJ -o $@ dvi2xx.c ${OBJS} ${LFLAGS}
+
dvilj: dvi2xx.c ${OBJS} $(HFILES)
cc ${CFLAGS} -DLJ -DSEVENBIT -o $@ dvi2xx.c ${OBJS} ${LFLAGS}
*** ../dvi2lj.orig/dvi2xx.c Sun May 5 22:41:34 1991
--- ./dvi2xx.c Sun Jan 24 14:00:39 1993
***************
*** 53,58 ****
--- 53,60 ----
* better positioning of rules
* 30.1.89 (0.48) bug fixed for files containing >32 fonts (thanks A. Brosig),
* different font assignment heuristic
+ * 13.1.92 -DLJ4 600dpi support added by Thomas Eickermann
+ *
* fixes in 3812-mode: 14.juli 87 positioning of rastered characters
* better positioning of rules
* general fixes
***************
*** 203,211 ****
--- 205,219 ----
#else
#define PRINTER "HP LaserJet"
#endif LJ2P
+ #ifdef LJ4
+ #define RESOLUTION 600
+ #define hconvRESOLUTION 600
+ #define vconvRESOLUTION 600
+ #else
#define RESOLUTION 300
#define hconvRESOLUTION 300
#define vconvRESOLUTION 300
+ #endif LJ4
#ifdef LJ2P
#define CHAR_WIDTH_LARGE 16384 /* limit for loading into printer font */
#define CHAR_HEIGTH_LARGE 16384 /* y_offset reaches the same size! */
***************
*** 578,583 ****
--- 586,594 ----
#ifdef LJ
if (ResetPrinter)
EMIT(outfp, "\033E");
+ #ifdef LJ4
+ EMIT(outfp, "\033&u600D\033*t600");
+ #endif
if (Landscape)
EMIT(outfp, "\033&l1O\033*rF");
if (pagesize>0)
***************
*** 1645,1666 ****
/* open font dict before first char, set active font */
INT_ASCII(cnv_buffer,fontptr->plusid);
EMIT(outfp, "\033*c%sD\033)s26W", cnv_buffer);
- /* EMITB(20, "\0\032\0\1\0\0\0\310\0\377\0\377\0\1\1\025\0\4\0\4");*/
#ifdef SEVENBIT
EMITB(6, "\0\032\0\1\0\0");
#else
EMITB(6, "\0\032\0\2\0\0");
#endif
EMITWORD( fontptr->max_yoff);
EMITWORD( fontptr->max_width);
EMITWORD( fontptr->max_height);
! /* EMITC((char)(Landscape==TRUE)); */
! EMITC((char)0);
! EMITB(7, "\1\1\25\0\4\0\4");
EMITB(6, "\0\0\0\0\0\0");
! EMIT(outfp, "\033*c4F");
#endif
}
if ( fontptr != prevfont ) { /* because this isn't done on pass 0 */
#ifdef LJ
--- 1656,1684 ----
/* open font dict before first char, set active font */
INT_ASCII(cnv_buffer,fontptr->plusid);
+ #ifdef LJ4
+ EMIT(outfp, "\033*c%sD\033)s68W", cnv_buffer);
+ EMITB(6, "\0\104\024\2\0\0");
+ #else
EMIT(outfp, "\033*c%sD\033)s26W", cnv_buffer);
#ifdef SEVENBIT
EMITB(6, "\0\032\0\1\0\0");
#else
EMITB(6, "\0\032\0\2\0\0");
#endif
+ #endif /* LJ 4 */
EMITWORD( fontptr->max_yoff);
EMITWORD( fontptr->max_width);
EMITWORD( fontptr->max_height);
! EMITB(8, "\0\1\1\25\0\4\0\4");
EMITB(6, "\0\0\0\0\0\0");
! #ifdef LJ4
! EMITB(22,"\0\0\0\0\0\0\0\0\0\0\0\0\0\377\0\0\0\0\0\0\0\0");
! EMITB(16," ");
! EMITB(4 ,"\2\130\2\130");
#endif
+ EMIT(outfp, "\033*c4F"); /* Make soft font temporary */
+ #endif
}
if ( fontptr != prevfont ) { /* because this isn't done on pass 0 */
#ifdef LJ
***************
*** 1905,1911 ****
--- 1923,1933 ----
#endif
#ifdef LJ
+ #ifdef LJ4
+ EMIT(outfp, "\033*t600R\033*r1A");
+ #else
EMIT(outfp, "\033*t300R\033*r1A");
+ #endif
#endif
{ /* read pixel from file */
Technical Details
Message-ID:
<wenk.727887517@convex.rz.uni-duesseldorf.de>Path:
arc1-ca.pugleaf.net!sparky!uunet!pmafire!news.dell.com!swrinde!cs.utexas.edu!zaphod.mps.ohio-state.edu!darwin.sura.net!newsserver.jvnc.net!yale.edu!ira.uka.de!Germany.EU.net!unidus.rz.uni-duesseldorf.de!convex.rz.uni-duesseldorf.de!wenkShow Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!sparky!uunet!pmafire!news.dell.com!swrinde!cs.utexas.edu!zaphod.mps.ohio-state.edu!darwin.sura.net!newsserver.jvnc.net!yale.edu!ira.uka.de!Germany.EU.net!unidus.rz.uni-duesseldorf.de!convex.rz.uni-duesseldorf.de!wenk From: wenk@convex.rz.uni-duesseldorf.de (H. Wenk) Newsgroups: comp.text.tex Subject: True HPLJ 4 DVI-Driver, it works ! Date: 24 Jan 1993 16:05:39 +0100 Organization: Heinrich-Heine-Universitaet Duesseldorf Lines: 160 Distribution: world Message-ID: <wenk.727887517@convex.rz.uni-duesseldorf.de> NNTP-Posting-Host: convex.rz.uni-duesseldorf.de Keywords: dvi,HPLJ4,PCL5