[gs-bugs] [Bug 690316] New: Very large character not outlined correctly with UFST in ghostpcl

bugs.ghostscript.com-bugzilla-daemon at ghostscript.com bugs.ghostscript.com-bugzilla-daemon at ghostscript.com
Wed Mar 4 04:36:28 PST 2009


http://bugs.ghostscript.com/show_bug.cgi?id=690316

           Summary: Very large character not outlined correctly with UFST in
                    ghostpcl
           Product: GhostPCL
           Version: trunk
          Platform: PC
        OS/Version: Windows 2000
            Status: NEW
          Severity: normal
          Priority: P4
         Component: PCL fonts
        AssignedTo: henry.stiles at artifex.com
        ReportedBy: norbert.janssen at oce.com
         QAContact: gs-bugs at ghostscript.com


If printing attached testfile lpr2test.pcl on very high resolution (600dpi),
then the characters 'AB' are outlined i.s.o. rasterized. I.e.
image_outline_char()is used in pluchar.c
However, the points provided by UFST are mirrored with respect to Y direction,
resulting in a mirrored outline.
OLD code (line 196 in pluchar.c from trunk)
        while (numSegmts-- > 0) {
            int             segtype = *pseg++;
            int             ip, npts;
            gs_fixed_point  pt[3];

            if (segtype == 2 || segtype > 3)
                return_error(gs_error_rangecheck);

            npts = (segtype == 3 ? 3 : 1);
            for (ip = 0; ip < npts; ip++, ++pcoord) {
                pt[ip].x = (pcoord->x << ishift) + tx;
                pt[ip].y = (pcoord->y << ishift) + ty;
            }

fixed code:
        while (numSegmts-- > 0) {
            int             segtype = *pseg++;
            int             ip, npts;
            gs_fixed_point  pt[3];

            if (segtype == 2 || segtype > 3)
                return_error(gs_error_rangecheck);

            npts = (segtype == 3 ? 3 : 1);
            for (ip = 0; ip < npts; ip++, ++pcoord) {
                pt[ip].x = (pcoord->x << ishift) + tx;
                pt[ip].y = (-pcoord->y << ishift) + ty;
            }



Notice the '-' sign.        ^



------- You are receiving this mail because: -------
You are the QA contact for the bug, or are watching the QA contact.



More information about the gs-bugs mailing list