home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1993 #3 / NN_1993_3.iso / spool / comp / text / tex / 15376 < prev    next >
Encoding:
Internet Message Format  |  1993-01-24  |  5.5 KB

  1. 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
  2. From: wenk@convex.rz.uni-duesseldorf.de (H. Wenk)
  3. Newsgroups: comp.text.tex
  4. Subject: True HPLJ 4 DVI-Driver, it works !
  5. Date: 24 Jan 1993 16:05:39 +0100
  6. Organization: Heinrich-Heine-Universitaet Duesseldorf
  7. Lines: 160
  8. Distribution: world
  9. Message-ID: <wenk.727887517@convex.rz.uni-duesseldorf.de>
  10. NNTP-Posting-Host: convex.rz.uni-duesseldorf.de
  11. Keywords: dvi,HPLJ4,PCL5
  12.  
  13.  
  14. Path: convex.rz.uni-duesseldorf.de!wenk
  15. Date: 24 Jan 93 14:58:37 GMT
  16. Message-ID: <wenk.727887517@convex.rz.uni-duesseldorf.de>
  17. Newsgroups: comp.text.tex
  18. Distribution: world
  19. Subject: True HPLJ 4 DVI-Driver, it works !
  20. Keywords: dvi,HPLJ4,PCL5
  21.  
  22.  
  23.  
  24. After searching for a Laserjet 4 dvi-driver on the net for a
  25. while i performed the few neccessary patches in the dvi2lj package
  26. myself ( a rather trivial task, once you have access to the
  27. HPLJ4 technical reference manual  :-) ).
  28.  
  29. Thomas Eickermann ( ike@thphy.uni-duesseldorf.de )
  30.  
  31.  
  32. Here are the patches:
  33.  
  34. *** ../dvi2lj.orig/README    Sun Apr 21 15:05:42 1991
  35. --- ./README    Sun Jan 24 13:54:56 1993
  36. ***************
  37. *** 12,17 ****
  38. --- 12,20 ----
  39.          Dviljp and dvilj are similar to dvilj2p and dvilj2  but they sup-
  40.          port  only 128  character  fonts.  They  may be used for Laserjet
  41.          clones which do not support 256 character fonts.
  42. +        Dvilj4 converts TeX-output .dvi files into HP PCL5 commands using
  43. +        600 DPI pixelfonts. The output can be printed on a HP Laserjet 4.
  44.    
  45.          Dvi3812 converts TeX-output .dvi files into PMP files, the native
  46.          command language of the IBM 3812 page printer.
  47. *** ../dvi2lj.orig/Makefile    Sun May  5 22:44:02 1991
  48. --- ./Makefile    Sun Jan 24 14:03:16 1993
  49. ***************
  50. *** 26,31 ****
  51. --- 26,34 ----
  52.   dvilj2p: dvi2xx.c ${OBJS} $(HFILES)
  53.       cc ${CFLAGS} -DLJ2P -o $@ dvi2xx.c ${OBJS} ${LFLAGS}
  54.   
  55. + dvilj4: dvi2xx.c ${OBJS} $(HFILES)
  56. +     cc ${CFLAGS} -DLJ4 -DLJ -o $@ dvi2xx.c ${OBJS} ${LFLAGS}
  57.   dvilj: dvi2xx.c ${OBJS} $(HFILES)
  58.       cc ${CFLAGS} -DLJ -DSEVENBIT -o $@ dvi2xx.c ${OBJS} ${LFLAGS}
  59.   
  60. *** ../dvi2lj.orig/dvi2xx.c    Sun May  5 22:41:34 1991
  61. --- ./dvi2xx.c    Sun Jan 24 14:00:39 1993
  62. ***************
  63. *** 53,58 ****
  64. --- 53,60 ----
  65.    *            better positioning of rules
  66.    * 30.1.89 (0.48) bug fixed for files containing >32 fonts (thanks A. Brosig),
  67.    *                different font assignment heuristic
  68. +  * 13.1.92      -DLJ4 600dpi support added by Thomas Eickermann
  69. +  *
  70.    * fixes in 3812-mode:  14.juli 87  positioning of rastered characters
  71.    *            better positioning of rules
  72.    * general fixes
  73. ***************
  74. *** 203,211 ****
  75. --- 205,219 ----
  76.   #else
  77.   #define  PRINTER       "HP LaserJet"
  78.   #endif LJ2P
  79. + #ifdef LJ4
  80. + #define  RESOLUTION    600
  81. + #define  hconvRESOLUTION   600
  82. + #define  vconvRESOLUTION   600
  83. + #else
  84.   #define  RESOLUTION    300
  85.   #define  hconvRESOLUTION   300
  86.   #define  vconvRESOLUTION   300
  87. + #endif LJ4
  88.   #ifdef LJ2P
  89.   #define  CHAR_WIDTH_LARGE  16384     /* limit for loading into printer font */
  90.   #define  CHAR_HEIGTH_LARGE 16384         /* y_offset reaches the same size! */
  91. ***************
  92. *** 578,583 ****
  93. --- 586,594 ----
  94.   #ifdef LJ
  95.       if (ResetPrinter)
  96.           EMIT(outfp, "\033E");
  97. + #ifdef LJ4
  98. +     EMIT(outfp, "\033&u600D\033*t600");
  99. + #endif
  100.       if (Landscape)
  101.           EMIT(outfp, "\033&l1O\033*rF");
  102.       if (pagesize>0)
  103. ***************
  104. *** 1645,1666 ****
  105.   
  106.           /* open font dict before first char, set active font */
  107.           INT_ASCII(cnv_buffer,fontptr->plusid);
  108.           EMIT(outfp, "\033*c%sD\033)s26W", cnv_buffer);
  109. - /*      EMITB(20, "\0\032\0\1\0\0\0\310\0\377\0\377\0\1\1\025\0\4\0\4");*/
  110.   #ifdef SEVENBIT
  111.           EMITB(6, "\0\032\0\1\0\0");   
  112.   #else
  113.           EMITB(6, "\0\032\0\2\0\0");   
  114.   #endif
  115.           EMITWORD( fontptr->max_yoff);
  116.           EMITWORD( fontptr->max_width);
  117.           EMITWORD( fontptr->max_height);
  118. ! /*        EMITC((char)(Landscape==TRUE));  */
  119. !         EMITC((char)0);
  120. !         EMITB(7, "\1\1\25\0\4\0\4");
  121.           EMITB(6, "\0\0\0\0\0\0");
  122. !         EMIT(outfp, "\033*c4F");
  123.   #endif
  124.       }
  125.       if ( fontptr != prevfont ) {   /* because this isn't done on pass 0 */
  126.   #ifdef LJ
  127. --- 1656,1684 ----
  128.   
  129.           /* open font dict before first char, set active font */
  130.           INT_ASCII(cnv_buffer,fontptr->plusid);
  131. + #ifdef LJ4
  132. +         EMIT(outfp, "\033*c%sD\033)s68W", cnv_buffer);
  133. +         EMITB(6, "\0\104\024\2\0\0");   
  134. + #else
  135.           EMIT(outfp, "\033*c%sD\033)s26W", cnv_buffer);
  136.   #ifdef SEVENBIT
  137.           EMITB(6, "\0\032\0\1\0\0");   
  138.   #else
  139.           EMITB(6, "\0\032\0\2\0\0");   
  140.   #endif
  141. + #endif /* LJ 4 */
  142.           EMITWORD( fontptr->max_yoff);
  143.           EMITWORD( fontptr->max_width);
  144.           EMITWORD( fontptr->max_height);
  145. !         EMITB(8, "\0\1\1\25\0\4\0\4");
  146.           EMITB(6, "\0\0\0\0\0\0");
  147. ! #ifdef LJ4
  148. !     EMITB(22,"\0\0\0\0\0\0\0\0\0\0\0\0\0\377\0\0\0\0\0\0\0\0");
  149. !     EMITB(16,"                ");
  150. !     EMITB(4 ,"\2\130\2\130"); 
  151.   #endif
  152. +         EMIT(outfp, "\033*c4F"); /* Make soft font temporary */
  153. + #endif
  154.       }
  155.       if ( fontptr != prevfont ) {   /* because this isn't done on pass 0 */
  156.   #ifdef LJ
  157. ***************
  158. *** 1905,1911 ****
  159. --- 1923,1933 ----
  160.   #endif
  161.   
  162.   #ifdef LJ
  163. + #ifdef LJ4
  164. +     EMIT(outfp, "\033*t600R\033*r1A");
  165. + #else
  166.       EMIT(outfp, "\033*t300R\033*r1A");
  167. + #endif
  168.   #endif
  169.   
  170.                                               { /* read pixel from file */
  171.