[Poppler-bugs] [Bug 26243] PDF renders incorrectly

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Sun Feb 7 07:31:32 PST 2010


http://bugs.freedesktop.org/show_bug.cgi?id=26243





--- Comment #16 from thomasf <Thomas.Freitag at alfa.de>  2010-02-07 07:31:32 PST ---
I had a deeper look into that and examined where my code works wrong: It is in
Gfx.cc, opSetFillColorSpace. because during an BT-ET bracket the pattern
colorspace chnaged serveral times. The correct code should therefore be:

        if (drawText) {
                if (colorSpace->getMode() == csPattern) {
                        // start new statements
                        if (out->supportTextCSPattern(state) &&
textHaveCSPattern) {
                                GBool needFill = out->deviceHasTextClip(state);
                                out->endTextObject(state);
                                if (needFill)
                                        doPatternFill(gTrue);
                                out->restoreState(state);
                        }
                        // end new statements
                        colorSpaceText = NULL;
                        textHaveCSPattern = gTrue;
                        out->beginTextObject(state);
                } else if (textHaveCSPattern) {
                        GBool needFill = out->deviceHasTextClip(state);
                        out->endTextObject(state);
                        if (needFill)
                                doPatternFill(gTrue);
                        out->beginTextObject(state);
                        out->updateRender(state);
                        out->updateTextMat(state);
                        out->updateTextPos(state);
                        textHaveCSPattern = gFalse;
                }
        }

Unforunately this still not solve the regression in the cloud, therefore I'll
have anothher look at it next weekend


-- 
Configure bugmail: http://bugs.freedesktop.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.


More information about the Poppler-bugs mailing list