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 option 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
	   origin).

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

       -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
	   resulting 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
	   contain PCL escape sequences	or HP-GL/2 commands. If	the file is  a
	   graphics  file,  this typically means that the upper	left corner of
	   the graphics	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
	   position,  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 intended 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 update 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
	   afterwards 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
	   semantics  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 document -- 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
	   compatibility with other drivers.  If  the  first  keyword  of  the
	   special is comment 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	pattern. 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 options -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
	   specification 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
	   included. 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
       variants, 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 / Suppressing warnings. That variable holds  a  colon-separated
       identifiers that	specifies 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
       recognized 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
       doublepage  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
       frequently.

       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 using -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  expressed	in dots	per inch; decimals may be used
	   for "pxl" files: for	example, 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
	   warning 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?objectID=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/SupportManual/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
	   detailed 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
	   sequences 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=dvilj2p&sektion=1&manpath=FreeBSD+Ports+14.3.quarterly>

home | help