Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
DVILJ(1)			    TeX Live				DVILJ(1)

NAME
     dvilj4,  dvilj4l,	dvilj2p,  dvilj  - convert a TeX DVI file to PCL, for HP
     LaserJet printers

SYNOPSIS
      dvilj [--Dnumber] [-ccopies] [-dmode] [-D] [-E] [-eoutputfile]
	    [-ffrompage] [-g] [-hheaderfile] [-l] [-Mflag] [-mmag] [-ppages]
	    [-q] [-r] [-ttopage] [-spagesize] [-v] [-Vmode] [-w] [-xxoff(mm)]
	    [-yyoff(mm)] [-Xxoff(dots)] [-Yyoff(dots)] [-z] [filename]

DESCRIPTION
     dvilj and siblings convert TeX-output ".dvi" files into PCL  (the	Hewlett-
     Packard  Printer  Control	Language) commands suitable for printing on a HP
     LaserJet+, HP LaserJet IIP (using dvilj2p), HP LaserJet 4	(using	dvilj4),
     and fully compatible printers.

     dvilj4  also  provides  support  for  the	builtin Intellifont and TrueType
     fonts; TFM and VF files are provided in the  distribution.   Virtual  fonts
     are  not  supported directly by dvilj, so you must run dvicopy(1) first, or
     otherwise expand the virtual fonts

     All programs are generated from one source file dvi2xx.c. They are  usually
     called  via  a  shell  script or as a line printer filter. One such script,
     dvihp(1), is included in the distribution. It provides command-line options
     similar to those of dvips(1).

OPTIONS
     --Dnumber
	 Debug according to the bits of number; see the kpathsea(3)  manual  for
	 values. Also turns on general verbosity.

     -cnumber
	 Print each page number times (including original)

     -dnumber
	 print	in  duplex  mode.  The	option	-d1 means long edge binding, -d2
	 stands for short edge binding. This option is only selectable in dvilj4
	 and dvilj2p.

     -D[-12]
	 Double-sided printing - see below; -D1 prints odd sides  only,  -D2  is
	 for  even  pages,  a  trailing  -  suppresses printing of empty padding
	 pages.

     -E  Switch printer into econo mode (dvilj4 only).

     -eoutfile
	 Send output to outfile instead of the basename  of  dvi  file	extended
	 with  ".lj".  If  outfile  is - (as in "-e-") the output is directed to
	 standard output and can be directly piped into a spooler.

     -fpagenum
	 Print pages with TeX page numbers greater than or equal to pagenum.

     -g  Go mode: do not reset printer at start of job.

     -hheaderfile
	 Copy headerfile to output before translation of the DVI file.	Used  to
	 send arbitrary commands to the laserprinter.

     -l  Print output in landscape mode; supported only by dvilj2p and dvilj4.

     -Mflag
	 Do  (not)  call  mktexpk(1) to generate fonts on demand. -M1 and -M are
	 equivalent. -M0 enables invoking mktexpk(1). (This is the  same  as  in
	 dvips(1).)  The  default  behavior  (i.e., if no -M option is given) is
	 chosen at compile-time; as distributed, mktexpk is enabled.

     -mmagnification
	 Specify the magnification to use. The following are available:

	   -m#usermag e.g., #900
	   -m0 equivalent to -m#1000
	   -mh equivalent to -m#1095
	   -m1 equivalent to -m#1200
	   -mq equivalent to -m#1250
	   -m2 equivalent to -m#1440
	   -m3 equivalent to -m#1728
	   -m4 equivalent to -m#2074
	   -m5 equivalent to -m#2488

     -ppagecount
	 Print pagecount pages after the starting page.

     -q  Quiet operation: omit final statistics, etc.

     -r  Toggle page reversal.

     -spagesize
	 Specify the page size:

	   -s1: Executive (7.25" x 10.5")
	   -s2: Letter (8.5" x 11")
	   -s3: Legal (8.5" x 14")
	   -s6: Ledger (11" x 17")
	   -s25: A5 paper (148mm x 210mm)
	   -s26: A4 paper (210mm x 297mm)
	   -s27: A3 (297mm x 420mm)
	   -s45: JIS B5 paper (182mm x 257mm)
	   -s46: JIS B4 paper (250mm x 354mm)
	   -s71: Hagaki postcard (100mm x 148mm)
	   -s72: Oufuku-Hagaki postcard (200mm x 148mm)
	   -s80: Monarch Envelope (3 7/8" x 7 1/2")
	   -s81: Commercial Envelope 10 (4 1/8" x 9 1/2")
	   -s90: International DL (110mm x 220mm)
	   -s91: International C5 (162mm x 229mm)
	   -s100: International B5 (176mm x 250mm)

	 These values are from the PCL 5 technical reference manual. If  the  -s
	 commandline  option  is omitted, no clipping is performed at the bottom
	 of the page. (But printing below the paper bottom  should  not  disturb
	 any  correctly  behaving PCL printer.) Please remember that the correct
	 paper tray must be installed for selected paper size, so use  this  op-
	 tion only if you have full control over your print destination.

     -tpagenum
	 Print pages with TeX page numbers less than or equal to pagenum.

     -v  Verbose mode: list fonts used, etc.

     -Vmode
	 Compatibility	mode.  As  mode, use "K" for Kyocera, "B" for Brother, 6
	 for LJ6 printers.

     -w  Omit warnings.

     -xoffset
	 Global x-offset in mm on output page relative to 1 inch/1 inch origin.

     -yoffset
	 Global y-offset in mm on output page relative to 1 inch/1 inch origin.

     -Xoffset
	 Global x-offset in dots on output page (overrides 1  inch/1  inch  ori-
	 gin).

     -Yoffset
	 Global  y-offset  in  dots on output page (overrides 1 inch/1 inch ori-
	 gin).

     -z  Print a test page with the page counter at end of job.

OPERANDS
     If no operands are specified a brief usage message is displayed.

     filename
	 The DVI file name that shall be converted by dvilj. It must  always  be
	 seekable.

	 The  output file name is constructed from filename. Either an extension
	 ".dvi" is replaced by ".lj", or the extension ".lj" is appended.

	 If filename is -, the DVI file is read from standard input and the  re-
	 sulting  PCL  document  is written to standard output. (Please remember
	 that the DVI file must be seekable, even if it's stdin.)

SUPPORTED TeX \special COMMANDS
     "\special" commands supported by dvilj have the generic syntax

       \special{key1=value key1="value with space"}
       \special{key3 = value key4 = 'note optional spaces around equal sign'}

     I.e., specials are a sequence of key/value pairs,	separated  by  an  equal
     sign. Spaces around the equal sign are ignored. The value is either a space
     separated	word,  or  a quoted string. Both double and single quotes can be
     used, alternatively. There is no support for quoting  quote  characters  in
     values;  if you want both double and single quotes in one value, you're out
     of luck.

     The following key/value combinations are valid:

     hpfile=file
	 Insert file at the current position. file is searched with kpathsea(3),
	 see below.

	 The file content must be valid for this printer, i.e., it  should  con-
	 tain  PCL escape sequences or HP-GL/2 commands. If the file is a graph-
	 ics file, this typically means that the upper left corner of the graph-
	 ics is placed at the current position.

	 PCL absolute positioning escape sequences in file are rewritten  to  be
	 relative  positioning commands; the lowest appearing coordinate is used
	 as reference.

     hpfile_verbatim=file
	 Insert file verbatim at the current position, without	any  changes  of
	 the file content. file is searched with kpathsea(3), see below.

	 This is mostly used to keep absolute positions in PCL files.

     psfile=file llx=x0 lly=y0 urx=x1 ury=y1 rwi=s
	 Convert  PostScript  file  file  to  HP PCL, by Ghostscript with device
	 "ljetplus", and insert the resulting graphics file at the current posi-
	 tion, rewriting absolute position escape sequences.  file  is	searched
	 with kpathsea(3), see below.

	 The  accompanying  key/value pairs are mandatory, they can be specified
	 in an arbitrary order. Values x0, x1,	y0,  y1,  and  s  are  integers.
	 (x0,y0) is the lower left corner, (x1,y1) the upper right corner of the
	 image.

	 Please  note:	The specific semantics of this special is not known.  In
	 particular, the rwi parameter is some scale factor; but even looking at
	 the source code it is not quite clear what  the  special's  author  in-
	 tended  to  implement	here. In addition, it is unclear what dimensions
	 are used to specify the corners, PostScript points or PCL dots.

	 If you happen to know the psfile semantics, or if you	spent  the  work
	 analyzing  them,  please inform us at tex-k@tug.org, so that we can up-
	 date this man page with the relevant information.

     dvilj-psfile-syntax=syntax
	 where syntax is either "dvilj" or "ignore". This is a very crude way to
	 tell the driver what to do with psfile specials.

	 If the value is "ignore", all psfile specials that are processed after-
	 wards are  ignored,  until  the  next	dvilj-psfile-syntax  special  is
	 processed.

	 If  the  value  is "dvilj", psfiles specials are processed as explained
	 above, until the next dvilj-psfile-syntax special is processed.

	 An obvious, planned, extension is the value "dvips", but this	has  not
	 been implemented yet.

	 That  special	is not as simple as it sounds at first. Since its seman-
	 tics is defined by processing order, it is only of use if it is  placed
	 on the same page as the psfile special. Having it once in a file (e.g.,
	 on the first page) does not help if you print just one page of the doc-
	 ument -- dvilj does not do prescanning of first-page specials like some
	 other drivers do. (Patches would be welcome, of course.)

     comment=arbitrary text
     comment arbitrary text
	 This  causes  the  rest of the special to be ignored; it may be used to
	 add meta-information to a DVI file.

	 With the first form, the comment may appear anywhere  in  the	special.
	 When it appears first, the processing of this special is terminated and
	 all other text behind is ignored.

	 The  second  form is a speciality that has been introduced for compati-
	 bility with other drivers. If the first keyword of the special is  com-
	 ment  and has no value, it is taken as a valid comment syntax, too; the
	 rest of the special is ignored.

     orientation=po
	 Position the page on the physical paper. The value po may be one of the
	 following values:

	   0  for portrait
	   1  for landscape
	   2  for reverse portrait
	   3  for reverse landscape

     defpoint=n(x,y)
	 Define the point number n. This point can be referred to later in other
	 special commands to specify areas that shall be filled with  some  pat-
	 tern. n must be between 0 and 79.

	 x  and  y  are the position of that point and have the form "?pt" where
	 "?" is a floating point number. The positions are relative to	the  DVI
	 page  origin;	i.e.,  coordinates  increase  moving right and down, the
	 point of origin is (1in,1in) in the upper left corner, altered  by  op-
	 tions -x, -y, -X, and -Y, but not by \hoffset and \voffset.

	 x  and  y  can be omitted, i.e., the values 3 or "4(,)" are valid. Then
	 the current page position is used as position for point n.

     resetpoints="all"
	 This undefines all points again.

     gray=gray_scale
     grey=gray_scale
	 This sets the fill mode for the next fill special,  the  area	will  be
	 filled with gray color. (grey is an alias for gray.) Any pattern speci-
	 fication is reset.

	 gray_scale  is  the  percentage of gray that shall be used here; with 0
	 meaning white and 100 meaning black.

	 Caveat: That special is actually  a  misnomer.  PCL  names  these  gray
	 scales  shading  patterns  and  they are created by placing dots in the
	 area. The gray scale selects how far spread the dots are. In the  lower
	 ranges,  this	doesn't  look  very gray on close sight, but more like a
	 dotted background. Furthermore, the gray scales are not as fine-grained
	 as the value range 0..100 might make you believe. In reality, there are
	 only 8 different gray patterns available:

	    1 -  2%
	    3 - 10%
	   11 - 20%
	   21 - 35%
	   36 - 55%
	   56 - 80%
	   81 - 99%
	   100%

	 One of these patterns is selected according to the gray_scale value.

     pattern=pat
	 This sets the fill mode for the next fill special,  the  area	will  be
	 filled with a pattern. Any gray color specification is reset.

	 pat is one of the following values:

	   1  horizontal lines
	   2  vertical lines
	   3  diagonal lines, from lower left corner to upper right corner
	   4  diagonal lines, from upper right corner to lower left corner
	   5  crossed lines, vertically
	   6  crossed lines, diagonally

     fill=a/b
	 Fill the area between the points a and b, according to the current fill
	 mode.

	 Point	a  must  be  the upper left corner and point b must be the lower
	 left corner of the rectangle. Otherwise the result is garbage.

	 The default fill mode is 10% gray color filling.

     filename
	 This is a legacy special, its use is depreciated.  If	the  special  is
	 just  one  word  that names an existing file, that file is verbatim in-
	 cluded. Contrary to  other  file  inclusion  means,  the  file  is  not
	 searched with kpathsea(3). You are not supposed to use this special and
	 we won't fix any problems with it.

     It should be noted that the special parser does sometimes accept constructs
     that  are not valid as in the documentation above. Then, the output is most
     often damaged in some way.

   Searching for Included Files
     Proper file include specials search the file with kpathsea(3).  The  search
     path  is configured by variable "DVILJINPUTS" and, if the file is not found
     in that search path, by variable "TEXINPUTS".

     Search via "DVILJINPUTS" covers the use case that one has common  site-wide
     graphics  that  shall  be	included in documents, e.g., scanned signatures.
     Search via "TEXINPUTS" covers the use case that one has graphics as part of
     ones current document.

     "dvilj" is used as the ".PROGRAM" name in texmf.cnf, for all  driver  vari-
     ants, independent of the actual program name.

   Unknown Specials and "TEX_HUSH" configuration
     Kpathsea(3)  has  the concept of warning suppression with the configuration
     variable "TEX_HUSH", please refer to its Info node TeX support /  Suppress-
     ing warnings. That variable holds a colon-separated identifiers that speci-
     fies the to-be-suppressed warnings.

     If "special" is among the listed values, dvilj does not output warnings any
     more  about  specials  that it doesn't know about. But if there is a recog-
     nized special and if that special has an invalid parameter, then a  warning
     is output nevertheless, independent of the content of "TEX_HUSH".

DOUBLE PAGE PRINTING
     If the printer has a duplex unit installed, duplex printing can be demanded
     with the -d option.

     Otherwise,  the  command line option -D causes the printer to print in dou-
     blepage mode, that is, roughly speaking, printing first the even pages  and
     then  the odd pages of a document. If -D is used to print both even and odd
     pages (-D is used without the optional 1 or 2) the  following  will  happen
     after  half  of  the pages is printed: LJ: the printer stops, shows message
     "FEED" and switches on manual feed led.  The printer continues when  either
     the  printed  pages  are  fed  into the manual page feeder, or the operator
     pushes the continue button (after placing first the printed pages into  the
     paper tray).

     If  -D1  was  specified only odd pages will be printed, -D2 can be used for
     even pages. A trailing "-" (as in -D-, -D1- or -D2-) suppresses printing of
     empty pages which are generated for padding otherwise.

     The driver allows the -D option for both print-directions (front-to-back or
     back-to-front printing). It tries to be clever in	certain  cases:  when  a
     document  has an odd number of pages it inserts in the right place an empty
     page when a document starts with page 0 the driver inserts  an  empty  page
     after  the 0-page when a piece of a document is printed that starts with an
     even page-number it prints this page at the backside of the first	page  to
     ensure  that  the	odd  sides  are  always  on the frontside. The 0-page is
     treated like an odd page.

     The doubleside option works for all LJs, not only for the new D model  with
     does  doubleside-printing	(actually,  I  don't  know whether it makes much
     sense on the new LJ II D at all).

     Caveat on the doubleside-option: When it is  used	frequently  or	on  very
     large  files, it might become necessary to clean the printer much more fre-
     quently.

     The command line option -pX can be used to abort printing after the  output
     of  X  pages  (can  lead to strange results together with -D). I personally
     dislike this option. The secure way of printing a part of a document is us-
     ing -f (from) and -t (to).

ENVIRONMENT
     dvilj uses the same environment variables and algorithms for  finding  font
     files  as TeX and its friends do. See the documentation for the kpathsea(3)
     library for details. (Repeating it here is too cumbersome.)

     "DVILJFONTS"
	 If set, overrides all other font paths.

     "DVILJMAKEPK"
	 If set, overrides mktexpk(1) as the name of the command to  execute  to
	 create a PK file if one isn't found.

     "DVILJSIZES"
	 May  be  set  to indicate which sizes of fonts are available. It should
	 consist of a list of numbers separated by colons. If  the  list  begins
	 with a colon, the system default sizes are used, as well. Sizes are ex-
	 pressed in dots per inch; decimals may be used for "pxl" files: for ex-
	 ample,  a  300 dots per inch file magnified by half a step comes out to
	 1643 dots per five inches, which should be  encoded  as  328.6.   dvilj
	 tries the actual size of the font before trying any of the given sizes.

     "DVILJINPUTS"
	 Primary search path for include files.

     "TEXINPUTS"
	 Secondary search path for include files.

     "TEX_HUSH"
	 Colon separated list of identifiers that name situations where no warn-
	 ing shall be output. The following identifiers are used:

	   checksum  suppress mismatched font checksum warnings
	   readable  suppress warnings about unreadable files
	   special   suppress warnings about unknown specials
	   all	     suppress all warning classes above
	   none      suppress no warnings

     "KPATHSEA_DEBUG"
	 Trace kpathsea(3) lookups; set to -1 for complete tracing.

     "GS_PATH"
	 On  Windows,  this may be the path to Ghostscript; there the default is
	 gswin32c.exe.

	 On Unix, this environment variable is not used. Ghostscript  is  called
	 as gs(1) and must be found over $PATH.

SEE ALSO
     dvihp(1), dvicopy(1), dvips(1), xdvi(1), mktexpk(1), gs(1), kpathsea(3)

     Email bug reports to tex-k@tug.org.

     Source  is at <http://mirror.ctan.org/dviware/dviljk/>; but for compilation
     the      texk	build	   environment	     is       needed,	    from
     <svn://tug.org/texlive/*/Build/source>.

     As  of  July 2007, PCL reference documentation is found at HP's Web site at
     <http://h20000.www2.hp.com/bizsupport/TechSupport/Document.jsp?objec-
     tID=bpl04568>.  At the end of that page are links to reference manuals  for
     PCL and PJL.

     In  case  that  page is changed, here are the URLs of these documents.  All
     have   the   form	  <http://h20000.www2.hp.com/bc/docs/support/SupportMan-
     ual/bpl<ID>/bpl<ID>.pdf>, where "<ID>" is the following document ID:

     13205
	 PCL 5 Technical Quick Reference Guide. This is the 1st thing to look up
	 if you have questions about PCL escape sequences.

     13210 and 13211
	 PCL 5 Technical Reference Manual (part I and II). This is the fully de-
	 tailed explanation that you need to look up if you don't understand how
	 the  printer  works.  Part  I	is  the  actual manual, part II explains
	 HP-GL/2 and has overall tips.

     13208 and 13207
	 PJL Technical Reference Manual (and addendum)

     13212
	 PCL 5 Color Manual. This explains  color  specials  for  the  newer  HP
	 printers.  (Not of much use today; for practical purposes we would need
	 to add color specials to dvilj first.)

     13206 and 13209
	 Comparison Guide (and addendum) that documents  which	PCL  escape  se-
	 quences are supported on which HP printers.

AUTHOR
     dvi2xx by Gustaf Neumann, Wirtschaftsuniversitaet Wien.

     dviljk fork by Karl Berry.

     Joachim  Schrod  <jschrod@acm.org> supplied security fixes and updated this
     man page.

     dviljk is currently maintained as part of TeX Live.

LICENSE
     dvi2xx is public domain software. dviljk changes are  covered  by	the  GNU
     General Public License.

Version 2.6p5			   2022-08-30				DVILJ(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=dvilj4&sektion=1&manpath=FreeBSD+Ports+15.1.quarterly>

home | help