[gs-cvs] rev 7688 - trunk/gs/src
leonardo at ghostscript.com
leonardo at ghostscript.com
Thu Feb 8 13:07:23 PST 2007
Author: leonardo
Date: 2007-02-08 13:07:22 -0800 (Thu, 08 Feb 2007)
New Revision: 7688
Modified:
trunk/gs/src/gstext.c
trunk/gs/src/gxchar.c
Log:
Fix (interpreter) : Early check for degenerate CTM in 'kshow'.
DETAILS :
Debugged with CET 13-12-4.
Note here we don't fix all *show operators,
but provide a minimal change for CPSI compatibility against CET tests
(gstext.c).
Minor change : a misspelled comment in gxchar.c .
EXPECTED DIFFERENCES :
comparefiles: None.
CET tests : 13-12-4 (a partial fix).
Modified: trunk/gs/src/gstext.c
===================================================================
--- trunk/gs/src/gstext.c 2007-02-08 13:33:56 UTC (rev 7687)
+++ trunk/gs/src/gstext.c 2007-02-08 21:07:22 UTC (rev 7688)
@@ -236,7 +236,7 @@
if (!pgs->current_point_valid)
return_error(gs_error_nocurrentpoint);
}
- /* Detect zero FintNatrix now for Adobe compatibility with CET tests.
+ /* Detect zero FontNatrix now for Adobe compatibility with CET tests.
Note that matrixe\\ces like [1 0 0 0 0 0] are used in comparefiles
to compute a text width.
Note : FontType 3 throws error in setcachedevice. */
@@ -352,6 +352,9 @@
{
gs_text_params_t text;
+ /* Detect degenerate CTM now for Adobe compatibility with CET 13-12-4. */
+ if (pgs->ctm.xx * pgs->ctm.yy - pgs->ctm.yx * pgs->ctm.xy == 0)
+ return_error(gs_error_undefinedresult); /* sic! : CPSI compatibility */
text.operation = TEXT_FROM_STRING | text_do_draw(pgs) | TEXT_INTERVENE |
TEXT_RETURN_WIDTH;
text.data.bytes = str, text.size = size;
Modified: trunk/gs/src/gxchar.c
===================================================================
--- trunk/gs/src/gxchar.c 2007-02-08 13:33:56 UTC (rev 7687)
+++ trunk/gs/src/gxchar.c 2007-02-08 21:07:22 UTC (rev 7688)
@@ -293,7 +293,7 @@
gs_state *pgs = penum->pgs;
gs_font *pfont = gs_rootfont(pgs);
- /* Detect zero FintNatrix now for Adobe compatibility with CET tests.
+ /* Detect zero FontMatrix now for Adobe compatibility with CET tests.
Note that matrixe\\ces like [1 0 0 0 0 0] are used in comparefiles
to compute a text width. See also gs_text_begin. */
if (pfont->FontMatrix.xx == 0 && pfont->FontMatrix.xy == 0 &&
More information about the gs-cvs
mailing list