all devices regression report - 2017-10-25-08:13:40 - d9d74def0095641f20b46716c929bc6f88154490
| Newsgroups | gmane.comp.printing.ghostscript.regression |
|---|---|
| Message-ID | <20171025151340.F3FEF2040833@i7> |
Differences in all devices errors using gs/examples files Previous Revision: 140e1cb28a6ad42e2ded8381af8b53421923e0e1 Current Revision: d9d74def0095641f20b46716c929bc6f88154490 commit d9d74def0095641f20b46716c929bc6f88154490 Author: Ken Sharp <[email protected]> AuthorDate: Wed Oct 25 14:57:12 2017 +0100 CommitDate: Wed Oct 25 14:57:40 2017 +0100 pdfwrite - revisit clipped text and commit 46ef6bc80bd7388883a00aa866af38fe8f05d45b Bug #698693 "clipped text is selectable in pdf" Commit 46ef6bc80bd7388883a00aa866af38fe8f05d45b fixed bug 697442, in that case we needed to completely process text which had been deliberately placed off the page (and tehrefore outside the clip). In that bug the text used glyphshow, which meant that it could not use stringwidth to measure the width of the string, and perform accurate positioning. So instead it placed the current point off the page, used glyphshow to draw the text, and then currentpoint to find the displacement. By not fully processing the text we did not correctly update currentpoint and so the text was misplaced. This was fixed by fully processing the text, but altering a copy of the text enumerator's 'operation' field so that the text was not added to the page (clearing TEXT_DO_DRAW) However, there are still places (process_text_modify_width) which can add the text in, and those look directly at the text enumerator operation flags. So here we still copy the operation flags, but we then modify the copy held in the text enumerator, so that any subsequent processor will be able to see that the text should not be drawn. At the end of the function we restore the flags in the enumerator. This has meant a few places executing a 'goto' in order to reset the flags, instead of simply returning as previously. A few test files show extremely minor (1 pixel) positioning differences. devices/vector/gdevpdte.c new errors: errors that went away: errors that are not whitelisted: === ghostpdl/examples/transparency_example.ps === cp50 === === ghostpdl/examples/transparency_example.ps === psdrgb ===