xpdf
====

version 0.92
2000-dec-03

The xpdf software and documentation are
copyright 1996-2000 Derek B. Noonburg.

Email: derekn@foolabs.com
WWW: http://www.foolabs.com/xpdf/


Compiling xpdf
--------------

Xpdf is written in C++ (with a little bit of C).  It should work with
any ANSI-compliant C++ and C compilers.  The systems and compilers
it's been tested with are listed on the xpdf web page.

The following notes give specific instructions for compiling on
different systems.


**************
***  UNIX  ***
**************

* Install t1lib (if desired).  The resulting library (libt1) and
  include files (t1lib.h and t1libx.h) should be placed somewhere on
  the standard search paths.  Alternatively, when you configure xpdf,
  you can use the following options to tell configure where to find
  the t1lib files:

    --with-t1-library=PATH
    --with-t1-includes=PATH

* Install FreeType (if desired).  The resulting library (libttf) and
  include files (freetype/*.h) should be placed somewhere on the
  standard search paths.  Alternatively, when you configure xpdf, you
  can use the following options to tell configure where to find the
  FreeType files:

    --with-freetype-library=PATH
    --with-freetype-includes=PATH

* Run the configure script:

    ./configure

  This should produce a set of makefiles customized for your system.
  The configure script accepts the following options (in addition to
  the usual things accepted by autoconf configure scripts):

    --prefix=PREFIX
        Changes the directory where xpdf is installed.  The default is
        /usr/local.

    --enable-a4-paper
        Switches the default paper size for PostScript output (xpdf
        and pdftops) to A4.  The default is Letter size.

    --enable-japanese
        Enables support for 16-bit Japanese fonts.  This increases the
        size of the binary (mostly with decoding tables).  The default
        is no Japanese font support.

    --enable-chinese-gb
        Enables support for 16-bit Chinese GB fonts (Adobe-GB1-2
        character set).  This increases the size of the binary (mostly
        with decoding tables).  The default is no Chinese GB font
        support.

    --enable-chinese-cns
        Enables support for 16-bit Chinese CNS fonts (Adobe-CNS1-3
        character set).  This increases the size of the binary (mostly
        with decoding tables).  The default is no Chinese CNS font
        support.

    --enable-no-text-select
        With this option, xpdf will not copy text.  (This is only
        useful on closed systems where the user can't get at the PDF
        file directly.)

    --enable-opi
        Enables support for generation of OPI (Open Prepress
        Interface) comments with pdftops.

    --with-gzip
        Use gzip instead of uncompress.

* Type 'make'.  This should build the executables:

    xpdf/xpdf
    xpdf/pdftops
    xpdf/pdftotext
    xpdf/pdfinfo
    xpdf/pdftopbm
    xpdf/pdfimages

* If desired, type 'make install' to install the binaries and man
  pages.

The old Makefile.config and Makefiles are no longer provided or
supported.

If you want to run a quick test, there is a tiny PDF file included
with xpdf, as misc/hello.pdf .


*************
***  VMS  ***
*************

* The 'stddef.h' include file which comes with older versions of gcc
  may be missing a definition for wchar_t.  In this case, add the
  following lines:
  -----
  File GNU_CC:[INCLUDE]STDDEF.H;2
   44   /* Wide characters, not yet supported by VAXCRTL [match VAXC's <stddef.
   45   #if !defined(_WCHAR_T) && !defined(_WCHAR_T_)
   46   typedef unsigned int wchar_t;
   47   #endif
   48   #define _WCHAR_T
   49   #define _WCHAR_T_
   50
  -----

* Read the instructions at the top of vms_make.com.

* Type '@vms_make' in the top-level directory.  You'll probably want
  to use some of the options described in the file.

* The executables will be left in '[.xpdf]'.

If you want to run a quick test, there is a tiny PDF file included
with xpdf, as misc/hello.pdf .


**************
***  OS/2  ***
**************

Xpdf is known to run under OS/2 with the EMX runtime environment and
XFree86.  The configure script has not been tested on OS/2, however.


***************
***  Win32  ***
***************

The non-X programs (pdftops, pdftotext, pdfinfo, and pdfimages) will
compiled with both gcc (from cygwin), djgpp (the Delorie port of gcc)
and Microsoft Visual C++.

With cygwin, the build procedure is the same as for Unix:

  * Open a shell.

  * ./configure --with-gzip

  * make

  * make install

With djgpp:

  * You'll need several of the Unix tool ports (cat, sed, etc.)
    available from http://www.delorie.com/ .

  * Open a DOS window.

  * ./dj_make

With djgpp, for DOS 6 (instead of Win32):

  * ./dj_make

  * EXE2COFF pdftops.exe

  * COPY /B CWSDSTUB.EXE+pdftops pdftops.exe

  * and similarly for the other executables

  * CWSDSTUB.EXE comes from:
        ftp://ftp.simtel.net/pub/simtelnet/gnu/djgpp/v2misc/csdpmi5b.zip
    EXE2COFF comes from:
        ftp://ftp.simtel.net/pub/simtelnet/gnu/djgpp/v2/djdev203.zip

With the Microsoft tools:

  * Open a DOS window.

  * Type "cl".  If you get the message "Bad command or file name", you
    must run VCVARS32.BAT. (The location of this BAT file can be
    determined with Explorer.)

  * Type "ms_make"
