Call updateCTM with the identity matrix instead of all zeros

The method Gfx::doShowText calls out->updateCTM once with the all-zero
matrix.  This was apparently implemented with the Splash output device
in mind: SplashOutputDev::updateCTM ignores its parameters, and
therefore calling it with a zero matrix is okay.  For other output
devices calling updateCTM with a zero matrix multiplies the CTM
with zero, which breaks further rendering.  See

for an example.

This patch changes the argument to updateCTM in doShowText
from the zero matrix to an identity matrix.  That way, the CTM
is unchanged no matter how the output device implements its
updateCTM method.
diff --git a/poppler/ b/poppler/
index 5fba4c7..a9b93b6 100644
--- a/poppler/
+++ b/poppler/
@@ -4007,7 +4007,10 @@
       curX += tdx;
       curY += tdy;
       state->moveTo(curX, curY);
-      out->updateCTM(state, 0, 0, 0, 0, 0, 0);
+      // Call updateCTM with the identity transformation.  That way, the CTM is unchanged,
+      // but any side effect that the method may have is triggered.  This is the case,
+      // in particular, for the Splash backend.
+      out->updateCTM(state, 1, 0, 0, 1, 0, 0);
       p += n;
       len -= n;