home *** CD-ROM | disk | FTP | other *** search
- Path: 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
-
-
- 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 */
-