A suggested change : Don't apply Type 1 hinting to charpath.
"Igor V. Melichev" <[email protected]>
| Newsgroups | gmane.comp.printing.ghostscript.patches |
|---|---|
| Message-ID | <[email protected]> |
Reviewers,
I'm unclear why GS applies hints to charpath.
This isn't compatible to Adobe implementations,
and causes a problem with the test file of the bug 687044 "strange elements
with text".
The suggested patch discontinues this feature.
Alternatively (if we want to keep the feature) I can see an alternative
workaround :
Add a flag to gs_text_enum, which can be set by a device to disable the
hinting.
I don't like it due to another complexity to the device interface.
Please also note that the test document of the bug 687044 isn't well
designed.
It constructs a character shadow with charpath.
Since Adobe doesn't hint charpath, at small resolutions the shadow may have
a different outline than the character face.
Igor.
[Log message beg]
Don't apply Type 1 hinting to charpath.
THIS IS AN INCOMPATIBLE CHANGE : charpath gets a different outline.
DETAILS :
Adobe doesn't hint charpath.
Not sure why GS did.
This change makes GS to be closer to Adobe and
partially fixes the bug 687044 "strange elements with text".
EXPECTED DIFFERENCES :
017-01.ps
H:\AuxFiles\CompareFiles\027-01.ps
027-05.ps
027-09.ps
027-13.ps
034-01.ps
045-01.ps
093-01.ps
220-01.ps
327-01.ps
334-01.ps
335-01.ps
336-01.ps
alphabet.ps
bugsample.pdf
PixelisAd.pdf
ridt91.eps
[Log message end]
Changes:
*** f:\casper\HEAD\gs\src\gxtype1.c Thu Sep 4 18:51:19 2003
--- files\gs\src\gxtype1.c Mon Sep 15 18:38:28 2003
***************
*** 107,116 ****
pcis->path = ppath;
pcis->callback_data = pfont; /* default callback data */
! /*
! * charpath_flag controls coordinate rounding, hinting, and
! * flatness enhancement. If we allow it to be set to true,
! * charpath may produce results quite different from show.
! */
! pcis->charpath_flag = false /*charpath_flag */ ;
pcis->paint_type = paint_type;
pcis->os_count = 0;
--- 107,111 ----
pcis->path = ppath;
pcis->callback_data = pfont; /* default callback data */
! pcis->charpath_flag = charpath_flag;
pcis->paint_type = paint_type;
pcis->os_count = 0;