Implementing a True Type grid fitting, step 12, final.
"Igor V. Melichev" <[email protected]>
| Newsgroups | gmane.comp.printing.ghostscript.patches |
|---|---|
| Message-ID | <[email protected]> |
[Log message beg] Implementing a True Type grid fitting, step 12, final. DETAILS : This patch switches on the new grid fitter, and provides related changes to the documentation. EXPECTED DIFFERENCES : All True type fonts render differently. They present in the following tests : 01_001.pdf 159.pdf adesso2.pdf adesso7.pdf adesso8.pdf Altona.Page_3.2002-09-27.pdf annots.pdf budget2.pdf budget2_ai87.pdf bugsample.pdf Faktura.pdf fonts.pdf ICPconcept.pdf keyboard.pdf MagicEye.pdf ngnews.pdf ngnews1.pdf S2_Digitalproof-Forum_x3k.pdf test_multipage_prob.pdf Testform.v1.0.2.pdf xngnews.pdf japan.ps japan-.ps korea.ps MyTest5.ps MyTest6.ps Type11CDevProc.ps type42_glyph_index.ps [Log message end] Changes: *** f:\casper\HEAD\gs\src\gx.h Tue Dec 30 14:50:11 2003 --- files\gs\src\gx.h Thu Jan 1 13:40:53 2004 *************** *** 31,35 **** /* Users should not modify them. */ #define NEW_TT_INTERPRETER 1 ! #define TT_GRID_FITTING (NEW_TT_INTERPRETER && 0) /* old code = 0, new code = 1. */ #define CURVED_TRAPEZOID_FILL 1 /* old code = 0, new code = 1. */ /* The following switches are only important with CURVED_TRAPEZOID_FILL 1. */ --- 31,35 ---- /* Users should not modify them. */ #define NEW_TT_INTERPRETER 1 ! #define TT_GRID_FITTING (NEW_TT_INTERPRETER && 1) /* old code = 0, new code = 1. */ #define CURVED_TRAPEZOID_FILL 1 /* old code = 0, new code = 1. */ /* The following switches are only important with CURVED_TRAPEZOID_FILL 1. */ *** f:\casper\HEAD\gs\doc\Language.htm Thu Jan 1 13:37:03 2004 --- files\gs\doc\Language.htm Wed Jan 7 17:15:41 2004 *************** *** 2001,2017 **** not covered by Apple's patents. This allows the Dynalab fonts to rasterize properly. ! Fonts with patented instructions can't be properly grid fitted. ! This parameter controls the action of the reduced interpreter: ! a value of 0 disables grid fitting for all fonts; ! a value of 1 enables the grid fitting for glyphs that don't involve ! patented instructions. ! When set to 1 a warning is printed to stderr when a patented ! instruction is encountered, and the glyph is rendered ignoring the ! entire grid fitting program. This parameter defaults to 0, but this may be overridden on the command line with ! <b><tt>-dGridFitTT=1</tt></b>. <p> The bytecode interpreter is based in part of the work of the <a href="http://freetype.org/">Freetype</a> Team. </dl> --- 2001,2043 ---- not covered by Apple's patents. This allows the Dynalab fonts to rasterize properly. ! <p> ! The reduced interpreter can't properly grid fit ! fonts with patented instructions. Therefore Ghostscript implements ! another grid fitter for True Types, based on a spot topology analyzis. ! <p> ! This parameter controls the action of the reduced interpreter and the grid fitter : ! ! <li> ! A value of 0 disables grid fitting for all True Type fonts. It is a backward compatibility mode. ! </li> ! ! <li> ! A value of 1 enables the grid fitting for glyphs that don't involve ! patented instructions, using the reduced True Type bytecode interpreter. ! When a patented instruction is encountered, a warning is printed to stderr, ! and the glyph is rendered ignoring the ! entire grid fitting program. ! </li> ! ! <li> ! A value of 2 envolves the topological grid fitter. This value is recommended ! for common use. ! </li> ! ! <li> ! A value of 3 specifies that the bytecode interpreter to be used ! to grid fit glyphs that have no patented instructions, ! and other glyphs are grid fitted topologically. This mode may ! improve the rendering of some fonts, but in general the best result ! is not guaranteed. ! </li> ! <p> ! This parameter defaults to 2, but this may be overridden on the command line with ! <b><tt>-dGridFitTT=n</tt></b>. <p> The bytecode interpreter is based in part of the work of the <a href="http://freetype.org/">Freetype</a> Team. + The topological grid fitting is a new original Ghostscript method. </dl> *** f:\casper\HEAD\gs\doc\News.htm Tue Jan 6 08:30:41 2004 --- files\gs\doc\News.htm Wed Jan 7 17:38:52 2004 *************** *** 61,64 **** --- 61,69 ---- This is an unreleased development source version. + <p> + A new feature in this version is <b><tt>a topological grid fitting</b></tt>, + originally developed for Ghostscript by Dr. I. Melichev. It significantly improves + the rendering of True Type fonts at small resolutions. + <p> The following <a href="http://bugs.ghostscript.com/">bug</a> numbers were open at *** f:\casper\HEAD\gs\doc\Use.htm Tue Dec 9 02:17:16 2003 --- files\gs\doc\Use.htm Wed Jan 7 17:31:41 2004 *************** *** 1826,1845 **** <dt><b><tt>-dGridFitTT=</tt></b><em>n</em> <dd> This specifies the initial value for the implementation specific ! user parameter <b><tt>GridFitTT</tt></b>. It controls a grid fitting of True Type fonts (Some people call it "hinting", but stronly speaking the latter is a Type 1 feature). ! Setting this to 1 enables grid fitting for True Type glyphs ! that don't involve patented instructions. The value 0 disables grid ! fitting for all True Type fonts. The default value is 0. - <p> - Setting <b><tt>-dGridFitTT=1</tt></b> may improve rendering - of True Type fonts. In particular, some fonts rely on the grid fitting - instructions for proper rasterization. - Ghostscript only supports the freely-implementable subset of grid - fitting instructions. If a patented instruction is encountered, a - warning is printed to <tt>stderr</tt> and the glyph is rendered with no - grid fitting. </dl> --- 1826,1838 ---- <dt><b><tt>-dGridFitTT=</tt></b><em>n</em> <dd> This specifies the initial value for the implementation specific ! user parameter <a href="Language.htm#User_parameters">GridFitTT</a> It controls a grid fitting of True Type fonts (Some people call it "hinting", but stronly speaking the latter is a Type 1 feature). ! Setting this to 2 enables grid fitting for True Type glyphs. ! The value 0 disables grid fitting. The default value is 2. ! For more information see the description of the user parameter ! <a href="Language.htm#User_parameters">GridFitTT</a>. </dl>