[XeTeX] \(pdf)mdfivesum

Joseph Wright joseph.wright at morningstar2.co.uk
Wed Jul 1 15:03:19 CEST 2015

Hello all,

I have a request for a new primitive in XeTeX, not directly related to
typesetting by I think useful. To understand why I'm asking, a bit of
background would be useful.

The LaTeX team have recently taken over looking after catcode/charcode
info for the Unicode engines from the previous rather diffuse situation.
As part of that, we were asked to ensure that the derived data was
traceable and so have included the MD5 sum of the source files in the
new unicode-letters.def file.

We can happily generate that file using pdfTeX (\pdfmdfivesum primitive)
or LuaTeX (using Lua code), but not using XeTeX. That's not a big issue
but the need for an MD5 sum gives me an idea which would need support in

LaTeX offers \listfiles to help us track down package version issues but
this fails if files have been locally modified or don't have
date/version info. It would therefore be useful to have a system that
can ensure that files match, which is where MD5 sums come in. Once can
imagine arranging that every file \input (or \read) has the MD5 sum
calculated as part of document typesetting: this is not LaTeX-specific.
This data could then be available as an additional file listing to help
track problems. However, to be truly useful this would need to work with
all three major engines, and currently XeTeX is out. I'd therefore like
to ask that \pdfmdfivesum (or perhaps just \mdfivesum) is added to XeTeX.


There are a small number of other 'utility' primitives in pdfTeX/LuaTeX
(some in the latter as Lua code emulation) that might also be looked at
at the same time (see

 - \pdfcreationdate
 - \pdfescapestring
 - \pdfescapename
 - \pdfescapehex
 - \pdfunescapehex
 - \pdfuniformdeviate
 - \pdfnormaldeviate
 - \pdffilemoddate
 - \pdffilesize
 - \pdffiledump
 - \pdfrandomseed
 - \pdfsetrandomseed

most of which are not related to PDF output and which may have good use
cases. I am specifically *not* asking for any of these to be added here
but note this list as it *may* be that the work may be closely related.
Joseph Wright

More information about the XeTeX mailing list