[gs-cvs] rev 7704 - trunk/gs/src
leonardo at ghostscript.com
leonardo at ghostscript.com
Thu Feb 15 23:44:07 PST 2007
Author: leonardo
Date: 2007-02-15 23:44:07 -0800 (Thu, 15 Feb 2007)
New Revision: 7704
Modified:
trunk/gs/src/gxhintn.c
Log:
Fix (type 1 hinter) : An inaccurate estimation of matrix precision.
DETAILS :
The old code doesn't account the Y scale due to a misprint.
It is risky of a fixed overflow while transforming a glyph
to the device space. We didn't detect such glitches in practice.
EXPECTED DIFFERENCES :
Minor difference in character raster :
Normal 72dpi : None.
Normal 30dpi :
"020-01.ps"
"027-09.ps"
"045-01.ps"
"289-01.ps"
"Bug687724.pdf"
"Bug687828.pdf"
"RealCities.pdf"
"tpc2.ps"
pdfwrite 72dpi :
RealCities.pdf
Bug687724.pdf
pdfwrite 300dpi :
"020-01.ps"
"027-09.ps"
"045-01.ps"
"Altona.Page_3.2002-09-27.pdf"
"Altona_Technical_1v1_x3.pdf"
"Bug687724.pdf"
"RealCities.pdf"
CET 300dpi :
13-01-4.ppm
13-02-7.ppm
13-03-5.ppm
13-12-7.ppm
13-22-3.ppm
13-26-6.ppm
13-27-5.ppm
13-28-6.ppm
13-29-8.ppm
14-08-12.ppm
Modified: trunk/gs/src/gxhintn.c
===================================================================
--- trunk/gs/src/gxhintn.c 2007-02-15 10:58:50 UTC (rev 7703)
+++ trunk/gs/src/gxhintn.c 2007-02-16 07:44:07 UTC (rev 7704)
@@ -230,7 +230,7 @@
private void fraction_matrix__set(fraction_matrix * this, const double_matrix * pmat)
{ double axx = fabs(pmat->xx), axy = fabs(pmat->xy);
- double ayx = fabs(pmat->xx), ayy = fabs(pmat->xy);
+ double ayx = fabs(pmat->yx), ayy = fabs(pmat->yy);
double scale = max(axx + axy, ayx + ayy);
int matrix_exp, m;
double unused = frexp(scale, &matrix_exp);
More information about the gs-cvs
mailing list