[NTG-pdftex] .xpdfrc (was: pdftex/xpdf bug)

Martin Schröder ms@artcom-gmbh.de
Wed, 10 Mar 2004 18:30:46 +0100


On 2004-03-09 00:19:04 +0100, Reinhard Kotucha wrote:
> >>>>> "Herman" == Herman Bruyninckx <Herman.Bruyninckx@mech.kuleuven.ac.be> writes:
> 
>     > Version 3.00 has some deprecated configuration variables. See
>     > the xpdfrc file that comes with the new version for all details.
> 
> Yes, I use the new variables.  The point is that pdftex shouldn't read
> the xpdf config file at all.  It just uses some libraries.

It shouldn't. And between 2001/06/21 and 2002/02/03 maybe it
didn't. :-(

The following code was added to pdftoepdf.read_pdf_info at
2001/06/21 (which comes probably from the patch by Otfried Cheong
(http://tug.org/mailman/htdig/pdftex/2001-May/000870.html):
    // initialize
    if (!isInit) {
        // We should better not call xpdf's initParams, which would
        // read $HOME/.xpdfrc to find external font files.  There is
        // no good reason for pdftex to have a hidden dependence on
        // .xpdfrc, and we don't want the output PDF to depend on its
        // contents.  The following four lines replace the call to
        // initParams().
        fontPath = (char **) gmalloc(sizeof(char *));
        fontPath[0] = 0;
        devFontMap = (DevFontMapEntry *) gmalloc(sizeof(DevFontMapEntry));
        devFontMap[0].pdfFont = 0;
        // initParams(xpdfConfigFile);
        errorInit();
        isInit = gTrue;
    }

On 2002/02/03 (#1524 by Fabrice) this became
    // initialize
    if (!isInit) {
        // We should better not call xpdf's initParams, which would
        // read $HOME/.xpdfrc to find external font files.  There is
        // no good reason for pdftex to have a hidden dependence on
        // .xpdfrc, and we don't want the output PDF to depend on its
        // contents.  The following four lines replace the call to
        // initParams().

        // read config file
        globalParams = new GlobalParams("");
        isInit = gTrue;
    }

Which, as the comment says, _reads_ the config file. :-(

On 2002/11/15 (#2544) I added the setErrQuiet for the current
version:
    // initialize
    if (!isInit) {
        // We should better not call xpdf's initParams, which would
        // read $HOME/.xpdfrc to find external font files.  There is
        // no good reason for pdftex to have a hidden dependence on
        // .xpdfrc, and we don't want the output PDF to depend on its
        // contents.  The following four lines replace the call to
        // initParams().

        // read config file
        globalParams = new GlobalParams("");
        globalParams->setErrQuiet(gFalse);
        isInit = gTrue;
    }

I'll try to solve this tomorrow. :-(

Best regards
        Martin
-- 
               Martin Schröder, ms@artcom-gmbh.de
     ArtCom GmbH, Lise-Meitner-Str 5, 28359 Bremen, Germany
          Voice +49 421 20419-44 / Fax +49 421 20419-10
                    http://www.artcom-gmbh.de