[tex-k] Where does conversion of PostScript pts to TeX pts occur?

Doug McKenna doug at mathemaesthetics.com
Sat Jan 26 22:06:54 CET 2019


Tom -

Thanks for the info what happens with EPSF text files.  That makes sense.

For PDF, I've now read up on the two pdftex primitives, \pdfximage and \pdfimageresolution in the pdftex manual, Section 7.5 of, e.g.,

<http://vlado.fmf.uni-lj.si/texceh/kako/tex2pdf/ex/pdftex-s.pdf>

\pdfimageresolution is a settable parameter relied upon by \pdfximage, and this parameter defaults to 72 (big points) if never set to something else (i.e., if it's 0).

So I think that answers my question, which is that the TeX source code invoking the primitive \pdfximage is in charge of knowing and declaring any resolution other than 72/inch, and that the primitive \pdfximage doesn't care what the bounding box numbers are associated with the image file.  It appears that \pdfximage just scales them by \pdfimageresolution before doing other stuff to manage or record the image into the node tree, and its default is to treat the numbers it finds as measuring big points (PostScript points).  So setting \pdfimageresolution to 72.27 converts the sizes of a PDF image into the same exact size on the TeX page.

All of this is presumption from reading the documentation.  I'm not sure where the source code (change file?) for \pdfximage can be perused to know for sure.

Onward, into the fog ...

- Doug McK.


From: "Tom Rokicki" <rokicki at gmail.com>
To: "Doug McKenna" <doug at mathemaesthetics.com>
Cc: tex-k at tug.org
Sent: Saturday, January 26, 2019 10:49:26 AM
Subject: Re: [tex-k] Where does conversion of PostScript pts to TeX pts occur?

The EPSF macros literally read the EPSF file line by line looking
for the bounding box.

The scaling by 72.27/72.00 is done when the bounding box numbers
are interpreted in Don's bp dimensions directly in the EPSF macros.

The EPSF macros are pretty simple; you can look at them directly.

I don't know what happens for PDF.

-tom


More information about the tex-k mailing list