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

FreeBSD Manual Pages

  
 
  

home | help
CSEPDJVU(1)			  DjVuLibre-3.5 		     CSEPDJVU(1)

NAME
     csepdjvu - DjVu encoder for separated data files.

SYNOPSIS
     csepdjvu  [options] [sepfiles]... outputdjvufile

DESCRIPTION
     This program creates a DjVuDocument file outputdjvufile from separated data
     files  sepfiles.	It  can read separated data from the standard input when
     given a single dash instead of the separated data file names.  This feature
     is intended for pre-processing  programs  that  push  separated  data  into
     csepdjvu via a pipe.

     Each separated data file represents one or more page images.  When the pro-
     gram  arguments specify multiple pages, all the pages are encoded and saved
     as a bundled multi-page document.	When the  program  arguments  specify  a
     single page, the page is encoded and saved as a single page file.

OPTIONS
     -d n   Specify  the resolution information encoded into the output file ex-
	    pressed in dots per inch. The resolution information encoded in DjVu
	    files determine how the decoder scales the	image  on  a  particular
	    display.  Meaningful resolutions range from 25 to 6000.  The default
	    value is 300 dpi.

     -q n,...,n

     -q n+...+n
	    Specify  the  encoding quality of the IW44 encoded background layer.
	    The option argument contain several integers (one per  chunk)  sepa-
	    rated  by either commas or pluses.	This option is similar to option
	    -slice of program c44.  Please refer to the c44(1) man page for  ad-
	    ditional   details.    The	 default  quality  specification  is  -q
	    72,83,93,103.

	    This option does not apply to uniformly white background  that  were
	    not  specified  by the separated data but are called for by the DjVu
	    specification.  Such background images always  come  at  the  lowest
	    possible resolution and with a standard quality setting that ensures
	    the color uniformity.

     -t     Program  csepdjvu  interprets certain comments in the separated file
	    to construct a hidden text	layer  in  the	DjVu  file.  This  layer
	    records  the  location of each word for hiliting purposes.	This op-
	    tion reduces the file size by simply recording the location of  each
	    line.

     -v     Display a brief message describing each page.

     -vv    Display extensive informational messages during encoding.

SEPARATED DATA FILE FORMAT
     Each  separated data file contains a concatenation of one or more separated
     page images.  Each page is logically represented by a foreground image with
     a transparent color and by a background image visible through the transpar-
     ent pixels.  The data for each separated page image is the concatenation of
     the following data blocks:

     *	A foreground image encoded using either the "Color RLE	format"  or  the
	"Bitonal  RLE  format".   These formats are described later in this sec-
	tion.

     *	An optional background image encoded as a "Portable  Pixmap"  (  PPM  ).
	This well known format is summarized later in this section.  The absence
	of a background image simply indicates that a uniformly white background
	should be assumed.

     *	An  arbitrary  number  of  comment lines starting with character "#" and
	terminated by a linefeed  character.  Comment  lines  whose  first  word
	starts	with  a capital letter have special meanings documented later in
	this document.

     The dimensions (width and height) of the background image must be	obtained
     by  rounding up the quotient of the foreground image dimensions by an inte-
     ger reduction factor ranging from 1 to 12.  Assume, for instance, that  the
     width  of	the foreground is 2507 and the reduction factor is 3.  The width
     of the background image will be the integer ratio (2507+2)/3.

   Color RLE format
     The Color RLE format is a simple run-length encoding scheme for  color  im-
     ages  with a limited number of distinct colors.  The data always begin with
     a text header composed of the two characters "R6", the number  of	columns,
     the  number  of rows, and the number of color palette entries.  All numbers
     are expressed in decimal ASCII.  These four items are  separated  by  blank
     characters  (space,  tab, carriage return, or linefeed) or by comment lines
     introduced by character "#".  The last number is followed	by  exactly  one
     character which usually is a linefeed character.

     The  header  is  followed	by  the color palette containing three bytes per
     color entry.  The bytes represent the red, green, and  blue  components  of
     the color.

     The  palette  is followed by a collection of four bytes integers (most sig-
     nificant bit first) representing runs of pixels with  an  identical  color.
     The  twelve  upper bits of this integer indicate the index of the run color
     in the palette entry.  The twenty lower bits of the  integer  indicate  the
     run  length.   Color  indices greater than 0xff0 are reserved.  Color index
     0xfff is used for transparent runs.  Each row is represented by a	sequence
     of runs whose lengths add up to the image width.  Rows are encoded starting
     with the top row and progressing toward the bottom row.

   Bitonal RLE format
     The  Bitonal  RLE format is a simple run-length encoding scheme for bitonal
     images.  The data always begin with a text header composed of the two char-
     acters "R4", the number of columns, and the number of  rows.   All  numbers
     are  expressed  in decimal ASCII.	These three items are separated by blank
     characters (space, tab, carriage return, or linefeed) or by  comment  lines
     introduced  by  character	"#".  The last number is followed by exactly one
     character which usually is a linefeed character.

     The rest of the file encodes a sequence of numbers representing the lengths
     of alternating runs of transparent and black  pixels.   Lines  are  encoded
     starting  with  the  top line and progressing toward the bottom line.  Each
     line starts with a white run. The decoder knows that  a  line  is	finished
     when  the	sum  of  the run lengths for that line is equal to the number of
     columns in the image.  Numbers in range 0 to 191 are represented by a  sin-
     gle  byte	in range 0x00 to 0xbf.	Numbers in range 192 to 16383 are repre-
     sented by a two byte sequence: the first byte, in range 0xc0 to  0xff,  en-
     codes  the six most significant bits of the number, the second byte encodes
     the remaining eight bits of the number. This  scheme  allows  for	runs  of
     length  zero,  which  are useful when a line starts with a black pixel, and
     when a very long run (whose  length  exceeds  16383)  must  be  split  into
     smaller runs.

   Portable Pixmap (PPM) format
     The  Portable  Pixmap  format is a well known format for representing color
     images.  Check the ppm(1) man page for complete information.

     The data always begin with a text header composed	of  the  two  characters
     "P6", the number of columns, the number of rows, and the maximal value of a
     color component (usually 255).  All numbers are expressed in decimal ASCII.
     These  three  items are separated by blank characters (space, tab, carriage
     return, or linefeed) or by comment lines introduced by character "#".   The
     last  number  is followed by exactly one character which usually is a line-
     feed character.

     The rest of the file encodes all the pixels.  Each pixel is represented  by
     three  bytes  representing  the red, green and blue component of the pixel.
     Pixels are ordered in left to right, top to bottom.

   Comments in separated files
     Each page is followed by an arbitrary number of comment lines starting with
     character "#" and terminated by  a  linefeed  character.	Certain  comment
     lines  have  special meanings. In the following constructs, all the strings
     are UTF-8 encoded and represent in the style of  Postscript  strings,  that
     is,  surrounded  with parenthesis and using C-style escape sequences intro-
     duced by a backslash.

     *	# T px:py dx:dy wxh+x+y (string)
	Such a comment line indicates that the piece of text string must be  as-
	sociated  with an area of size wxh at position x,y relative to the lower
	left corner of the page.  Integers px, and py represent the position  of
	the  current  point  on the text baseline before the text was drawn. The
	drawing operation then moves the current point by  dx,	and  dy  pixels.
	When  such  comments  are present, csepdjvu produces a hidden text layer
	for the corresponding pages.

     *	# L wxh+x+y (url)
	Such a comment line indicates that an hyperlink to url url should be as-
	sociated with area of size wxh at position x,y.  When such comments  are
	present, csepdjvu produces pages with an annotation chunk containing the
	specified hyperlinks.

     *	# B count (string) (#pageno)
	Such  a  comment line provides outline information for the document.  An
	outline entry entitled string is associated with page  pageno.	 Integer
	count  indicates  how  many of the following outline entries must be at-
	tached to the current entry  as  subentries.   When  such  comments  are
	present in the first page csepdjvu produces an navigation chunk with the
	specified outline.

     *	# P (string)
	Such a comment line provides a title string for the current page.

CREDITS
     This  program  was  initially  written  by Leon Bottou <leonb@users.source-
     forge.net> and was improved by Bill Riemers  <docbill@sourceforge.net>  and
     many others.

SEE ALSO
     djvu(1), ppm(5), c44(1)

DjVuLibre-3.5			   10/11/2001			     CSEPDJVU(1)

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

home | help