[tex-live] Small scaling values in xetex / (x)dvipdfm(x)

David Carlisle d.p.carlisle at gmail.com
Tue May 9 09:04:15 CEST 2017

On 8 May 2017 at 23:51, Akira Kakuto <kakuto at fuk.kindai.ac.jp> wrote:

> Dear David,
> The xdvipdfmx sources (pdfdraw.c) have
>> ... ...
> I'm not familiar with pdfdraw.c, thus I have replaced a
> small number 1.e-8 by OUR_EPSILON (=2.5e-16) in pdfdraw.c,
> hoping that it does not break the author's intention (r44252).

Thanks! I was going to say that the least invasive change would be just to
change that -8.

If the scale factor is calculated (as it in in the latex graphics packages)
by fixed point
"dimen" arithmetic then the smallest positive x and y scale will be1sp =
2e-5 so the
smallest determinant is 4e-10  so any determinant less than that is a bit
but  the 1e-8 test was really a problem giving errors on (almost:-)
reasonable matrices.

> Even if the transform really is non-invertible for example
>> \scalebox{0}{oops}
> Apparently this may not be solved by r44252.

Yes that  is probably best left if you are not familiar with the code (or
possibly best left anyway).

Of course 0 really is not invertible so if you let the determinant=0 case
go through you'd need
to check that you don't get division by zero error in the driver code
later. It is anyway easy to catch this
case of exactly zero in the tex macros and give a warning before it gets to
the dvi driver.

> Best,
> Akira
Thanks again

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://tug.org/pipermail/tex-live/attachments/20170509/78f089e6/attachment.html>

More information about the tex-live mailing list