Created attachment 56143
cairo - don't render text when text matrix is not invertable
The problem is the PDF file is using a noninvertible text matrix [0 0 0 0]. The PDF specification has this to say about noninvertible matrices:
When rendering graphics objects, it is sometimes necessary for a
conforming reader to perform the inverse of a transformation—that
is, to find the user space coordinates that correspond to a given
pair of device space coordinates. Not all transformations are
invertible, however. For example, if a matrix contains a, b, c,
and d elements that are all zero, all user coordinates map to the
same device coordinates and there is no unique inverse transformation.
Such noninvertible transformations are not very useful and generally
arise from unintended operations, such as scaling by 0. Use of a
noninvertible matrix when painting graphics objects can result
in unpredictable behaviour.
So the correct rendering of this PDF file is undefined. However to make the cairo output more closely emulate acroread behavior I attach a patch that ignores text when the text matrix is noninvertible.
Created attachment 56143
cairo - don't render text when text matrix is not invertable
The problem is the PDF file is using a noninvertible text matrix [0 0 0 0]. The PDF specification has this to say about noninvertible matrices:
When rendering graphics objects, it is sometimes necessary for a
conforming reader to perform the inverse of a transformation—that
is, to find the user space coordinates that correspond to a given
pair of device space coordinates. Not all transformations are
invertible, however. For example, if a matrix contains a, b, c,
and d elements that are all zero, all user coordinates map to the
same device coordinates and there is no unique inverse transformation.
Such noninvertible transformations are not very useful and generally
arise from unintended operations, such as scaling by 0. Use of a
noninvertible matrix when painting graphics objects can result
in unpredictable behaviour.
So the correct rendering of this PDF file is undefined. However to make the cairo output more closely emulate acroread behavior I attach a patch that ignores text when the text matrix is noninvertible.