--- poppler-26jan11-precision/poppler/PSOutputDev.cc- 2011-01-26 04:57:02.140411983 +0100 +++ poppler-26jan11-precision/poppler/PSOutputDev.cc 2011-01-26 04:59:55.387683457 +0100 @@ -1350,7 +1350,7 @@ (int)floor(x1), (int)floor(y1), (int)ceil(x2), (int)ceil(y2)); if (floor(x1) != ceil(x1) || floor(y1) != ceil(y1) || floor(x2) != ceil(x2) || floor(y2) != ceil(y2)) { - writePSFmt("%%HiResBoundingBox: {0:.4g} {1:.4g} {2:.4g} {3:.4g}\n", + writePSFmt("%%HiResBoundingBox: {0:.6g} {1:.6g} {2:.6g} {3:.6g}\n", x1, y1, x2, y2); } writePS("%%DocumentSuppliedResources: (atend)\n"); @@ -1875,7 +1875,7 @@ font->getWMode()); } } else { - writePSFmt("/F{0:d}_{1:d} /{2:t} {3:.4g} {4:.4g}\n", + writePSFmt("/F{0:d}_{1:d} /{2:t} {3:.6g} {4:.6g}\n", font->getID()->num, font->getID()->gen, psName, xs, ys); for (i = 0; i < 256; i += 8) { writePS((char *)((i == 0) ? "[ " : " ")); @@ -2573,10 +2573,10 @@ writePS("8 dict begin\n"); writePS("/FontType 3 def\n"); m = font->getFontMatrix(); - writePSFmt("/FontMatrix [{0:.4g} {1:.4g} {2:.4g} {3:.4g} {4:.4g} {5:.4g}] def\n", + writePSFmt("/FontMatrix [{0:.6g} {1:.6g} {2:.6g} {3:.6g} {4:.6g} {5:.6g}] def\n", m[0], m[1], m[2], m[3], m[4], m[5]); m = font->getFontBBox(); - writePSFmt("/FontBBox [{0:.4g} {1:.4g} {2:.4g} {3:.4g}] def\n", + writePSFmt("/FontBBox [{0:.6g} {1:.6g} {2:.6g} {3:.6g}] def\n", m[0], m[1], m[2], m[3]); writePS("/Encoding 256 array def\n"); writePS(" 0 1 255 { Encoding exch /.notdef put } for\n"); @@ -2608,10 +2608,10 @@ charProc.free(); if (t3String) { if (t3Cacheable) { - buf = GooString::format("{0:.4g} {1:.4g} {2:.4g} {3:.4g} {4:.4g} {5:.4g} setcachedevice\n", + buf = GooString::format("{0:.6g} {1:.6g} {2:.6g} {3:.6g} {4:.6g} {5:.6g} setcachedevice\n", t3WX, t3WY, t3LLX, t3LLY, t3URX, t3URY); } else { - buf = GooString::format("{0:.4g} {1:.4g} setcharwidth\n", t3WX, t3WY); + buf = GooString::format("{0:.6g} {1:.6g} setcharwidth\n", t3WX, t3WY); } (*outputFunc)(outputStream, buf->getCString(), buf->getLength()); delete buf; @@ -2931,7 +2931,7 @@ writePSFmt("/f_{0:d}_{1:d} {{\n", id.num, id.gen); writePS("q\n"); - writePSFmt("[{0:.4gs} {1:.4gs} {2:.4gs} {3:.4gs} {4:.4gs} {5:.4gs}] cm\n", + writePSFmt("[{0:.6gs} {1:.6gs} {2:.6gs} {3:.6gs} {4:.6gs} {5:.6gs}] cm\n", m[0], m[1], m[2], m[3], m[4], m[5]); box.x1 = bbox[0]; @@ -3067,7 +3067,7 @@ w = bitmap->getWidth(); h = bitmap->getHeight(); writePS("gsave\n"); - writePSFmt("[{0:.4g} {1:.4g} {2:.4g} {3:.4g} {4:.4g} {5:.4g}] concat\n", + writePSFmt("[{0:.6g} {1:.6g} {2:.6g} {3:.6g} {4:.6g} {5:.6g}] concat\n", m0, m1, m2, m3, m4, m5); switch (level) { case psLevel1: @@ -3365,13 +3365,13 @@ tx += rotate == 0 ? imgLLX : imgLLY; ty += rotate == 0 ? imgLLY : -imgLLX; if (tx != 0 || ty != 0) { - writePSFmt("{0:.4g} {1:.4g} translate\n", tx, ty); + writePSFmt("{0:.6g} {1:.6g} translate\n", tx, ty); } if (xScale != 1 || yScale != 1) { - writePSFmt("{0:.4f} {1:.4f} scale\n", xScale, yScale); + writePSFmt("{0:.6f} {1:.6f} scale\n", xScale, yScale); } if (clipLLX0 < clipURX0 && clipLLY0 < clipURY0) { - writePSFmt("{0:.4g} {1:.4g} {2:.4g} {3:.4g} re W\n", + writePSFmt("{0:.6g} {1:.6g} {2:.6g} {3:.6g} re W\n", clipLLX0, clipLLY0, clipURX0 - clipLLX0, clipURY0 - clipLLY0); } else { writePSFmt("{0:d} {1:d} {2:d} {3:d} re W\n", x1, y1, x2 - x1, y2 - y1); @@ -3400,7 +3400,7 @@ ty = -epsY1; } if (tx != 0 || ty != 0) { - writePSFmt("{0:.4g} {1:.4g} translate\n", tx, ty); + writePSFmt("{0:.6g} {1:.6g} translate\n", tx, ty); } xScale = yScale = 1; break; @@ -3449,7 +3449,7 @@ void PSOutputDev::updateCTM(GfxState *state, double m11, double m12, double m21, double m22, double m31, double m32) { - writePSFmt("[{0:.4gs} {1:.4gs} {2:.4gs} {3:.4gs} {4:.4gs} {5:.4gs}] cm\n", + writePSFmt("[{0:.6gs} {1:.6gs} {2:.6gs} {3:.6gs} {4:.6gs} {5:.6gs}] cm\n", m11, m12, m21, m22, m31, m32); } @@ -3461,11 +3461,11 @@ state->getLineDash(&dash, &length, &start); writePS("["); for (i = 0; i < length; ++i) { - writePSFmt("{0:.4g}{1:w}", + writePSFmt("{0:.6g}{1:w}", dash[i] < 0 ? 0 : dash[i], (i == length-1) ? 0 : 1); } - writePSFmt("] {0:.4g} d\n", start); + writePSFmt("] {0:.6g} d\n", start); } void PSOutputDev::updateFlatness(GfxState *state) { @@ -3481,11 +3481,11 @@ } void PSOutputDev::updateMiterLimit(GfxState *state) { - writePSFmt("{0:.4g} M\n", state->getMiterLimit()); + writePSFmt("{0:.6g} M\n", state->getMiterLimit()); } void PSOutputDev::updateLineWidth(GfxState *state) { - writePSFmt("{0:.4g} w\n", state->getLineWidth()); + writePSFmt("{0:.6g} w\n", state->getLineWidth()); } void PSOutputDev::updateFillColorSpace(GfxState *state) { @@ -3721,7 +3721,7 @@ void PSOutputDev::updateFont(GfxState *state) { if (state->getFont()) { - writePSFmt("/F{0:d}_{1:d} {2:.4g} Tf\n", + writePSFmt("/F{0:d}_{1:d} {2:.6g} Tf\n", state->getFont()->getID()->num, state->getFont()->getID()->gen, fabs(state->getFontSize()) < 0.00001 ? 0.00001 : state->getFontSize()); @@ -3734,15 +3734,15 @@ mat = state->getTextMat(); if (fabs(mat[0] * mat[3] - mat[1] * mat[2]) < 0.00001) { // avoid a singular (or close-to-singular) matrix - writePSFmt("[0.00001 0 0 0.00001 {0:.4g} {1:.4g}] Tm\n", mat[4], mat[5]); + writePSFmt("[0.00001 0 0 0.00001 {0:.6g} {1:.6g}] Tm\n", mat[4], mat[5]); } else { - writePSFmt("[{0:.4g} {1:.4g} {2:.4g} {3:.4g} {4:.4g} {5:.4g}] Tm\n", + writePSFmt("[{0:.6g} {1:.6g} {2:.6g} {3:.6g} {4:.6g} {5:.6g}] Tm\n", mat[0], mat[1], mat[2], mat[3], mat[4], mat[5]); } } void PSOutputDev::updateCharSpace(GfxState *state) { - writePSFmt("{0:.4g} Tc\n", state->getCharSpace()); + writePSFmt("{0:.6g} Tc\n", state->getCharSpace()); } void PSOutputDev::updateRender(GfxState *state) { @@ -3757,11 +3757,11 @@ } void PSOutputDev::updateRise(GfxState *state) { - writePSFmt("{0:.4g} Ts\n", state->getRise()); + writePSFmt("{0:.6g} Ts\n", state->getRise()); } void PSOutputDev::updateWordSpace(GfxState *state) { - writePSFmt("{0:.4g} Tw\n", state->getWordSpace()); + writePSFmt("{0:.6g} Tw\n", state->getWordSpace()); } void PSOutputDev::updateHorizScaling(GfxState *state) { @@ -3771,18 +3771,18 @@ if (fabs(h) < 0.01) { h = 0.01; } - writePSFmt("{0:.4g} Tz\n", h); + writePSFmt("{0:.6g} Tz\n", h); } void PSOutputDev::updateTextPos(GfxState *state) { - writePSFmt("{0:.4g} {1:.4g} Td\n", state->getLineX(), state->getLineY()); + writePSFmt("{0:.6g} {1:.6g} Td\n", state->getLineX(), state->getLineY()); } void PSOutputDev::updateTextShift(GfxState *state, double shift) { if (state->getFont()->getWMode()) { - writePSFmt("{0:.4g} TJmV\n", shift); + writePSFmt("{0:.6g} TJmV\n", shift); } else { - writePSFmt("{0:.4g} TJm\n", shift); + writePSFmt("{0:.6g} TJm\n", shift); } } @@ -3819,7 +3819,7 @@ writePS("8 dict begin\n"); writePS("/FontType 3 def\n"); writePS("/FontMatrix [1 0 0 1 0 0] def\n"); - writePSFmt("/FontBBox [{0:.4g} {1:.4g} {2:.4g} {3:.4g}] def\n", + writePSFmt("/FontBBox [{0:.6g} {1:.6g} {2:.6g} {3:.6g}] def\n", bbox[0], bbox[1], bbox[2], bbox[3]); writePS("/Encoding 256 array def\n"); writePS(" 0 1 255 { Encoding exch /.notdef put } for\n"); @@ -3842,14 +3842,14 @@ gfx = new Gfx(xref, this, resDict, m_catalog, &box, NULL); writePS("/x {\n"); if (paintType == 2) { - writePSFmt("{0:.4g} 0 {1:.4g} {2:.4g} {3:.4g} {4:.4g} setcachedevice\n", + writePSFmt("{0:.6g} 0 {1:.6g} {2:.6g} {3:.6g} {4:.6g} setcachedevice\n", xStep, bbox[0], bbox[1], bbox[2], bbox[3]); } else { if (x1 - 1 <= x0) { writePS("1 0 setcharwidth\n"); } else { - writePSFmt("{0:.4g} 0 setcharwidth\n", xStep); + writePSFmt("{0:.6g} 0 setcharwidth\n", xStep); } } inType3Char = gTrue; @@ -3865,9 +3865,9 @@ // draw the tiles writePSFmt("/xpdfTile{0:d} findfont setfont\n", numTilingPatterns); - writePSFmt("gsave [{0:.4g} {1:.4g} {2:.4g} {3:.4g} {4:.4g} {5:.4g}] concat\n", + writePSFmt("gsave [{0:.6g} {1:.6g} {2:.6g} {3:.6g} {4:.6g} {5:.6g}] concat\n", mat[0], mat[1], mat[2], mat[3], mat[4], mat[5]); - writePSFmt("{0:d} 1 {1:d} {{ {2:.4g} exch {3:.4g} mul m {4:d} 1 {5:d} {{ pop (x) show }} for }} for\n", + writePSFmt("{0:d} 1 {1:d} {{ {2:.6g} exch {3:.6g} mul m {4:d} 1 {5:d} {{ pop (x) show }} for }} for\n", y0, y1 - 1, x0 * xStep, yStep, x0, x1 - 1); writePS("grestore\n"); @@ -3889,7 +3889,7 @@ shading->getDomain(&x0, &y0, &x1, &y1); mat = shading->getMatrix(); - writePSFmt("/mat [{0:.4g} {1:.4g} {2:.4g} {3:.4g} {4:.4g} {5:.4g}] def\n", + writePSFmt("/mat [{0:.6g} {1:.6g} {2:.6g} {3:.6g} {4:.6g} {5:.6g}] def\n", mat[0], mat[1], mat[2], mat[3], mat[4], mat[5]); writePSFmt("/n {0:d} def\n", shading->getColorSpace()->getNComps()); if (shading->getNFuncs() == 1) { @@ -3910,7 +3910,7 @@ } writePS("} def\n"); } - writePSFmt("{0:.4g} {1:.4g} {2:.4g} {3:.4g} 0 funcSH\n", x0, y0, x1, y1); + writePSFmt("{0:.6g} {1:.6g} {2:.6g} {3:.6g} 0 funcSH\n", x0, y0, x1, y1); return gTrue; } @@ -3972,19 +3972,19 @@ t1 = shading->getDomain1(); // generate the PS code - writePSFmt("/t0 {0:.4g} def\n", t0); - writePSFmt("/t1 {0:.4g} def\n", t1); - writePSFmt("/dt {0:.4g} def\n", t1 - t0); - writePSFmt("/x0 {0:.4g} def\n", x0); - writePSFmt("/y0 {0:.4g} def\n", y0); - writePSFmt("/dx {0:.4g} def\n", x1 - x0); - writePSFmt("/x1 {0:.4g} def\n", x1); - writePSFmt("/y1 {0:.4g} def\n", y1); - writePSFmt("/dy {0:.4g} def\n", y1 - y0); - writePSFmt("/xMin {0:.4g} def\n", xMin); - writePSFmt("/yMin {0:.4g} def\n", yMin); - writePSFmt("/xMax {0:.4g} def\n", xMax); - writePSFmt("/yMax {0:.4g} def\n", yMax); + writePSFmt("/t0 {0:.6g} def\n", t0); + writePSFmt("/t1 {0:.6g} def\n", t1); + writePSFmt("/dt {0:.6g} def\n", t1 - t0); + writePSFmt("/x0 {0:.6g} def\n", x0); + writePSFmt("/y0 {0:.6g} def\n", y0); + writePSFmt("/dx {0:.6g} def\n", x1 - x0); + writePSFmt("/x1 {0:.6g} def\n", x1); + writePSFmt("/y1 {0:.6g} def\n", y1); + writePSFmt("/dy {0:.6g} def\n", y1 - y0); + writePSFmt("/xMin {0:.6g} def\n", xMin); + writePSFmt("/yMin {0:.6g} def\n", yMin); + writePSFmt("/xMax {0:.6g} def\n", xMax); + writePSFmt("/yMax {0:.6g} def\n", yMax); writePSFmt("/n {0:d} def\n", shading->getColorSpace()->getNComps()); if (shading->getNFuncs() == 1) { writePS("/func "); @@ -4004,7 +4004,7 @@ } writePS("} def\n"); } - writePSFmt("{0:.4g} {1:.4g} 0 axialSH\n", tMin, tMax); + writePSFmt("{0:.6g} {1:.6g} 0 axialSH\n", tMin, tMax); return gTrue; } @@ -4122,22 +4122,22 @@ } // generate the PS code - writePSFmt("/x0 {0:.4g} def\n", x0); - writePSFmt("/x1 {0:.4g} def\n", x1); - writePSFmt("/dx {0:.4g} def\n", x1 - x0); - writePSFmt("/y0 {0:.4g} def\n", y0); - writePSFmt("/y1 {0:.4g} def\n", y1); - writePSFmt("/dy {0:.4g} def\n", y1 - y0); - writePSFmt("/r0 {0:.4g} def\n", r0); - writePSFmt("/r1 {0:.4g} def\n", r1); - writePSFmt("/dr {0:.4g} def\n", r1 - r0); - writePSFmt("/t0 {0:.4g} def\n", t0); - writePSFmt("/t1 {0:.4g} def\n", t1); - writePSFmt("/dt {0:.4g} def\n", t1 - t0); + writePSFmt("/x0 {0:.6g} def\n", x0); + writePSFmt("/x1 {0:.6g} def\n", x1); + writePSFmt("/dx {0:.6g} def\n", x1 - x0); + writePSFmt("/y0 {0:.6g} def\n", y0); + writePSFmt("/y1 {0:.6g} def\n", y1); + writePSFmt("/dy {0:.6g} def\n", y1 - y0); + writePSFmt("/r0 {0:.6g} def\n", r0); + writePSFmt("/r1 {0:.6g} def\n", r1); + writePSFmt("/dr {0:.6g} def\n", r1 - r0); + writePSFmt("/t0 {0:.6g} def\n", t0); + writePSFmt("/t1 {0:.6g} def\n", t1); + writePSFmt("/dt {0:.6g} def\n", t1 - t0); writePSFmt("/n {0:d} def\n", shading->getColorSpace()->getNComps()); writePSFmt("/encl {0:s} def\n", enclosed ? "true" : "false"); - writePSFmt("/a1 {0:.4g} def\n", a1); - writePSFmt("/a2 {0:.4g} def\n", a2); + writePSFmt("/a1 {0:.6g} def\n", a1); + writePSFmt("/a2 {0:.6g} def\n", a2); if (shading->getNFuncs() == 1) { writePS("/func "); cvtFunction(shading->getFunc(0)); @@ -4156,7 +4156,7 @@ } writePS("} def\n"); } - writePSFmt("{0:.4g} {1:.4g} 0 radialSH\n", sMin, sMax); + writePSFmt("{0:.6g} {1:.6g} 0 radialSH\n", sMin, sMax); // extend the 'enclosed' case if (enclosed) { @@ -4175,11 +4175,11 @@ ya = y1; } if (level == psLevel2Sep || level == psLevel3Sep) { - writePSFmt("{0:.4g} radialCol aload pop k\n", ta); + writePSFmt("{0:.6g} radialCol aload pop k\n", ta); } else { - writePSFmt("{0:.4g} radialCol sc\n", ta); + writePSFmt("{0:.6g} radialCol sc\n", ta); } - writePSFmt("{0:.4g} {1:.4g} {2:.4g} 0 360 arc h f*\n", xa, ya, ra); + writePSFmt("{0:.6g} {1:.6g} {2:.6g} 0 360 arc h f*\n", xa, ya, ra); } // extend the larger circle @@ -4197,12 +4197,12 @@ ya = y1; } if (level == psLevel2Sep || level == psLevel3Sep) { - writePSFmt("{0:.4g} radialCol aload pop k\n", ta); + writePSFmt("{0:.6g} radialCol aload pop k\n", ta); } else { - writePSFmt("{0:.4g} radialCol sc\n", ta); + writePSFmt("{0:.6g} radialCol sc\n", ta); } - writePSFmt("{0:.4g} {1:.4g} {2:.4g} 0 360 arc h\n", xa, ya, ra); - writePSFmt("{0:.4g} {1:.4g} m {2:.4g} {3:.4g} l {4:.4g} {5:.4g} l {6:.4g} {7:.4g} l h f*\n", + writePSFmt("{0:.6g} {1:.6g} {2:.6g} 0 360 arc h\n", xa, ya, ra); + writePSFmt("{0:.6g} {1:.6g} m {2:.6g} {3:.6g} l {4:.6g} {5:.6g} l {6:.6g} {7:.6g} l h f*\n", xMin, yMin, xMin, yMax, xMax, yMax, xMax, yMin); } } @@ -4246,12 +4246,12 @@ x3 = subpath->getX(3); y3 = subpath->getY(3); if (x0 == x1 && x2 == x3 && y0 == y3 && y1 == y2) { - writePSFmt("{0:.4g} {1:.4g} {2:.4g} {3:.4g} re\n", + writePSFmt("{0:.6g} {1:.6g} {2:.6g} {3:.6g} re\n", x0 < x2 ? x0 : x2, y0 < y1 ? y0 : y1, fabs(x2 - x0), fabs(y1 - y0)); return; } else if (x0 == x3 && x1 == x2 && y0 == y1 && y2 == y3) { - writePSFmt("{0:.4g} {1:.4g} {2:.4g} {3:.4g} re\n", + writePSFmt("{0:.6g} {1:.6g} {2:.6g} {3:.6g} re\n", x0 < x1 ? x0 : x1, y0 < y2 ? y0 : y2, fabs(x1 - x0), fabs(y2 - y0)); return; @@ -4262,17 +4262,17 @@ for (i = 0; i < n; ++i) { subpath = path->getSubpath(i); m = subpath->getNumPoints(); - writePSFmt("{0:.4g} {1:.4g} m\n", subpath->getX(0), subpath->getY(0)); + writePSFmt("{0:.6g} {1:.6g} m\n", subpath->getX(0), subpath->getY(0)); j = 1; while (j < m) { if (subpath->getCurve(j)) { - writePSFmt("{0:.4g} {1:.4g} {2:.4g} {3:.4g} {4:.4g} {5:.4g} c\n", + writePSFmt("{0:.6g} {1:.6g} {2:.6g} {3:.6g} {4:.6g} {5:.6g} c\n", subpath->getX(j), subpath->getY(j), subpath->getX(j+1), subpath->getY(j+1), subpath->getX(j+2), subpath->getY(j+2)); j += 3; } else { - writePSFmt("{0:.4g} {1:.4g} l\n", subpath->getX(j), subpath->getY(j)); + writePSFmt("{0:.6g} {1:.6g} l\n", subpath->getX(j), subpath->getY(j)); ++j; } } @@ -4387,12 +4387,12 @@ writePSString(s2); if (font->isCIDFont()) { if (wMode) { - writePSFmt(" {0:d} {1:.4g} Tj16V\n", nChars, dy); + writePSFmt(" {0:d} {1:.6g} Tj16V\n", nChars, dy); } else { - writePSFmt(" {0:d} {1:.4g} Tj16\n", nChars, dx); + writePSFmt(" {0:d} {1:.6g} Tj16\n", nChars, dx); } } else { - writePSFmt(" {0:.4g} Tj\n", dx); + writePSFmt(" {0:.6g} Tj\n", dx); } } delete s2; @@ -4418,7 +4418,7 @@ if (state->getFillColorSpace()->getMode() != csPattern) { double cxMin, cyMin, cxMax, cyMax; state->getClipBBox(&cxMin, &cyMin, &cxMax, &cyMax); - writePSFmt("{0:.4g} {1:.4g} {2:.4g} {3:.4g} re\n", + writePSFmt("{0:.6g} {1:.6g} {2:.6g} {3:.6g} re\n", cxMin, cyMin, cxMax, cyMax); writePS("f*\n"); @@ -4866,7 +4866,7 @@ // make each rectangle path and clip. writePS("gsave newpath\n"); for (i = 0; i < rectsOutLen; ++i) { - writePSFmt("{0:.4g} {1:.4g} {2:.4g} {3:.4g} re\n", + writePSFmt("{0:.6g} {1:.6g} {2:.6g} {3:.6g} re\n", ((double)rectsOut[i].x0)/maskWidth, ((double)rectsOut[i].y0)/maskHeight, ((double)(rectsOut[i].x1 - rectsOut[i].x0))/maskWidth, @@ -5048,7 +5048,7 @@ // make each rectangle path and clip. writePS("gsave newpath\n"); for (i = 0; i < rectsOutLen; ++i) { - writePSFmt("{0:.4g} {1:.4g} {2:.4g} {3:.4g} re\n", + writePSFmt("{0:.6g} {1:.6g} {2:.6g} {3:.6g} re\n", ((double)rectsOut[i].x0)/width, ((double)rectsOut[i].y0)/height, ((double)(rectsOut[i].x1 - rectsOut[i].x0))/width, @@ -5989,7 +5989,7 @@ obj1.arrayGet(1, &obj2); height = obj2.getNum(); obj2.free(); - writePSFmt("%%ImageDimensions: {0:.4g} {1:.4g}\n", width, height); + writePSFmt("%%ImageDimensions: {0:.6g} {1:.6g}\n", width, height); } obj1.free(); @@ -6007,7 +6007,7 @@ obj1.arrayGet(3, &obj2); bottom = obj2.getNum(); obj2.free(); - writePSFmt("%%ImageCropRect: {0:.4g} {1:.4g} {2:.4g} {3:.4g}\n", + writePSFmt("%%ImageCropRect: {0:.6g} {1:.6g} {2:.6g} {3:.6g}\n", left, top, right, bottom); } obj1.free(); @@ -6032,7 +6032,7 @@ if (obj3.isString() && obj4.isNum()) { writePS(" "); writePSString(obj3.getString()); - writePSFmt(" {0:.4g}", obj4.getNum()); + writePSFmt(" {0:.6g}", obj4.getNum()); } obj3.free(); obj4.free(); @@ -6061,7 +6061,7 @@ dict->lookup("IncludedImageQuality", &obj1); if (obj1.isNum()) { - writePSFmt("%%IncludedImageQuality: {0:.4g}\n", obj1.getNum()); + writePSFmt("%%IncludedImageQuality: {0:.6g}\n", obj1.getNum()); } obj1.free(); @@ -6155,7 +6155,7 @@ obj1.arrayGet(3, &obj2); lry = obj2.getNum(); obj2.free(); - writePSFmt("%ALDImageCropFixed: {0:.4g} {1:.4g} {2:.4g} {3:.4g}\n", + writePSFmt("%ALDImageCropFixed: {0:.6g} {1:.6g} {2:.6g} {3:.6g}\n", ulx, uly, lrx, lry); } obj1.free(); @@ -6232,7 +6232,7 @@ opiTransform(state, ulx, uly, &tulx, &tuly); opiTransform(state, urx, ury, &turx, &tury); opiTransform(state, lrx, lry, &tlrx, &tlry); - writePSFmt("%ALDImagePosition: {0:.4g} {1:.4g} {2:.4g} {3:.4g} {4:.4g} {5:.4g} {6:.4g} {7:.4g}\n", + writePSFmt("%ALDImagePosition: {0:.6g} {1:.6g} {2:.6g} {3:.6g} {4:.6g} {5:.6g} {6:.6g} {7:.6g}\n", tllx, tlly, tulx, tuly, turx, tury, tlrx, tlry); obj2.free(); } @@ -6246,7 +6246,7 @@ obj1.arrayGet(1, &obj2); vert = obj2.getNum(); obj2.free(); - writePSFmt("%ALDImageResoution: {0:.4g} {1:.4g}\n", horiz, vert); + writePSFmt("%ALDImageResoution: {0:.6g} {1:.6g}\n", horiz, vert); obj2.free(); } obj1.free(); @@ -6268,7 +6268,7 @@ dict->lookup("Tint", &obj1); if (obj1.isNum()) { - writePSFmt("%ALDImageTint: {0:.4g}\n", obj1.getNum()); + writePSFmt("%ALDImageTint: {0:.6g}\n", obj1.getNum()); } obj1.free(); @@ -6336,7 +6336,7 @@ #endif // OPI_SUPPORT void PSOutputDev::type3D0(GfxState *state, double wx, double wy) { - writePSFmt("{0:.4g} {1:.4g} setcharwidth\n", wx, wy); + writePSFmt("{0:.6g} {1:.6g} setcharwidth\n", wx, wy); writePS("q\n"); t3NeedsRestore = gTrue; } @@ -6401,14 +6401,14 @@ } writePSFmt("/xpdfSamples{0:d} [\n", thisFunc); for (i = 0; i < nSamples; ++i) { - writePSFmt("{0:.4g}\n", func0->getSamples()[i]); + writePSFmt("{0:.6g}\n", func0->getSamples()[i]); } writePS("] def\n"); writePSFmt("{{ {0:d} array {1:d} array {2:d} 2 roll\n", 2*m, m, m+2); // [e01] [efrac] x0 x1 ... xm-1 for (i = m-1; i >= 0; --i) { // [e01] [efrac] x0 x1 ... xi - writePSFmt("{0:.4g} sub {1:.4g} mul {2:.4g} add\n", + writePSFmt("{0:.6g} sub {1:.6g} mul {2:.6g} add\n", func0->getDomainMin(i), (func0->getEncodeMax(i) - func0->getEncodeMin(i)) / (func0->getDomainMax(i) - func0->getDomainMin(i)), @@ -6458,10 +6458,10 @@ // [e01] [efrac] s'(0) s'(1) ... s(2^(m-j-1)-1) } // [e01] [efrac] y(0) ... y(i-1) s - writePSFmt("{0:.4g} mul {1:.4g} add\n", + writePSFmt("{0:.6g} mul {1:.6g} add\n", func0->getDecodeMax(i) - func0->getDecodeMin(i), func0->getDecodeMin(i)); - writePSFmt("dup {0:.4g} lt {{ pop {1:.4g} }} {{ dup {2:.4g} gt {{ pop {3:.4g} }} if }} ifelse\n", + writePSFmt("dup {0:.6g} lt {{ pop {1:.6g} }} {{ dup {2:.6g} gt {{ pop {3:.6g} }} if }} ifelse\n", func0->getRangeMin(i), func0->getRangeMin(i), func0->getRangeMax(i), func0->getRangeMax(i)); // [e01] [efrac] y(0) ... y(i-1) y(i) @@ -6473,17 +6473,17 @@ case 2: // exponential func2 = (ExponentialFunction *)func; n = func2->getOutputSize(); - writePSFmt("{{ dup {0:.4g} lt {{ pop {1:.4g} }} {{ dup {2:.4g} gt {{ pop {3:.4g} }} if }} ifelse\n", + writePSFmt("{{ dup {0:.6g} lt {{ pop {1:.6g} }} {{ dup {2:.6g} gt {{ pop {3:.6g} }} if }} ifelse\n", func2->getDomainMin(0), func2->getDomainMin(0), func2->getDomainMax(0), func2->getDomainMax(0)); // x for (i = 0; i < n; ++i) { // x y(0) .. y(i-1) - writePSFmt("{0:d} index {1:.4g} exp {2:.4g} mul {3:.4g} add\n", + writePSFmt("{0:d} index {1:.6g} exp {2:.6g} mul {3:.6g} add\n", i, func2->getE(), func2->getC1()[i] - func2->getC0()[i], func2->getC0()[i]); if (func2->getHasRange()) { - writePSFmt("dup {0:.4g} lt {{ pop {1:.4g} }} {{ dup {2:.4g} gt {{ pop {3:.4g} }} if }} ifelse\n", + writePSFmt("dup {0:.6g} lt {{ pop {1:.6g} }} {{ dup {2:.6g} gt {{ pop {3:.6g} }} if }} ifelse\n", func2->getRangeMin(i), func2->getRangeMin(i), func2->getRangeMax(i), func2->getRangeMax(i)); } @@ -6499,18 +6499,18 @@ cvtFunction(func3->getFunc(i)); writePSFmt("/xpdfFunc{0:d}_{1:d} exch def\n", thisFunc, i); } - writePSFmt("{{ dup {0:.4g} lt {{ pop {1:.4g} }} {{ dup {2:.4g} gt {{ pop {3:.4g} }} if }} ifelse\n", + writePSFmt("{{ dup {0:.6g} lt {{ pop {1:.6g} }} {{ dup {2:.6g} gt {{ pop {3:.6g} }} if }} ifelse\n", func3->getDomainMin(0), func3->getDomainMin(0), func3->getDomainMax(0), func3->getDomainMax(0)); for (i = 0; i < func3->getNumFuncs() - 1; ++i) { - writePSFmt("dup {0:.4g} lt {{ {1:.4g} sub {2:.4g} mul {3:.4g} add xpdfFunc{4:d}_{5:d} }} {{\n", + writePSFmt("dup {0:.6g} lt {{ {1:.6g} sub {2:.6g} mul {3:.6g} add xpdfFunc{4:d}_{5:d} }} {{\n", func3->getBounds()[i+1], func3->getBounds()[i], func3->getScale()[i], func3->getEncode()[2*i], thisFunc, i); } - writePSFmt("{0:.4g} sub {1:.4g} mul {2:.4g} add xpdfFunc{3:d}_{4:d}\n", + writePSFmt("{0:.6g} sub {1:.6g} mul {2:.6g} add xpdfFunc{3:d}_{4:d}\n", func3->getBounds()[i], func3->getScale()[i], func3->getEncode()[2*i],