@@ -290,21 +290,28 @@ void XmlOutputDev::startText(GfxState *state, double x, double y)
290290 double xt, yt;
291291 state->transform (x, y, &xt, &yt);
292292
293- const double *T = state->getTextMat ();
294- const double *C = state->getCTM ();
293+ #if POPPLER_VERSION_AT_LEAST(26, 2, 0)
294+ const auto &T = state->getTextMat ();
295+ const auto &C = state->getCTM ();
296+ const double *Tp = T.data ();
297+ const double *Cp = C.data ();
298+ #else
299+ const double *Tp = state->getTextMat ();
300+ const double *Cp = state->getCTM ();
301+ #endif
295302
296303 /*
297304 fprintf(stderr, "TextMatrix = %g %g %g %g %g %g\n",
298- T [0], T [1], T [2], T [3], T [4], T [5]);
305+ Tp [0], Tp [1], Tp [2], Tp [3], Tp [4], Tp [5]);
299306 fprintf(stderr, "CTM = %g %g %g %g %g %g\n",
300- C [0], C [1], C [2], C [3], C [4], C [5]);
307+ Cp [0], Cp [1], Cp [2], Cp [3], Cp [4], Cp [5]);
301308 */
302309
303310 double M[4 ];
304- M[0 ] = C [0 ] * T [0 ] + C [2 ] * T [1 ];
305- M[1 ] = C [1 ] * T [0 ] + C [3 ] * T [1 ];
306- M[2 ] = C [0 ] * T [2 ] + C [2 ] * T [3 ];
307- M[3 ] = C [1 ] * T [2 ] + C [3 ] * T [3 ];
311+ M[0 ] = Cp [0 ] * Tp [0 ] + Cp [2 ] * Tp [1 ];
312+ M[1 ] = Cp [1 ] * Tp [0 ] + Cp [3 ] * Tp [1 ];
313+ M[2 ] = Cp [0 ] * Tp [2 ] + Cp [2 ] * Tp [3 ];
314+ M[3 ] = Cp [1 ] * Tp [2 ] + Cp [3 ] * Tp [3 ];
308315
309316 GfxRGB rgb;
310317 state->getFillRGB (&rgb);
@@ -349,7 +356,12 @@ void XmlOutputDev::drawImage(GfxState *state, Object *ref, Stream *str,
349356
350357 writePSFmt (" <image width=\" %d\" height=\" %d\" " , width, height);
351358
359+ #if POPPLER_VERSION_AT_LEAST(26, 2, 0)
360+ const auto &matArr = state->getCTM ();
361+ const double *mat = matArr.data ();
362+ #else
352363 const double *mat = state->getCTM ();
364+ #endif
353365 writePSFmt (" rect=\" 0 1 1 0\" matrix=\" %g %g %g %g %g %g\" " ,
354366 mat[0 ], mat[1 ], mat[2 ], mat[3 ], mat[4 ], mat[5 ]);
355367
0 commit comments