[gs-cvs] rev 7608 - trunk/gs/src
leonardo at ghostscript.com
leonardo at ghostscript.com
Mon Jan 15 03:22:36 PST 2007
Author: leonardo
Date: 2007-01-15 03:22:36 -0800 (Mon, 15 Jan 2007)
New Revision: 7608
Modified:
trunk/gs/src/gstype1.c
trunk/gs/src/gxtype1.c
trunk/gs/src/gxtype1.h
Log:
Provide the CPSI compatibility for Type1 subglyph placement (continued 3).
DETAILS :
This change is algorithmically equivalent.
It provides a better data naming and documentation.
1. save_lsb is renamed into compound_lsb.
2. Improved some comments.
EXPECTED DIFFERENCES :
None.
Modified: trunk/gs/src/gstype1.c
===================================================================
--- trunk/gs/src/gstype1.c 2007-01-15 10:59:56 UTC (rev 7607)
+++ trunk/gs/src/gstype1.c 2007-01-15 11:22:36 UTC (rev 7608)
@@ -305,7 +305,7 @@
code = t1_hinter__sbw(h, sbx, sby, wx, wy);
} else {
fixed accent_lsb = cs0;
- fixed overall_x_offset = pcis->save_lsb.x + pcis->adxy.x - pcis->asb + accent_lsb - pcis->base_lsb;
+ fixed overall_x_offset = pcis->compound_lsb.x + pcis->adxy.x - pcis->asb + accent_lsb - pcis->base_lsb;
code = t1_hinter__sbw_seac(h, overall_x_offset, pcis->adxy.y);
}
Modified: trunk/gs/src/gxtype1.c
===================================================================
--- trunk/gs/src/gxtype1.c 2007-01-15 10:59:56 UTC (rev 7607)
+++ trunk/gs/src/gxtype1.c 2007-01-15 11:22:36 UTC (rev 7608)
@@ -249,7 +249,7 @@
/* Save away all the operands. */
pcis->seac_accent = fixed2int_var(cstack[3]);
pcis->asb = asb;
- pcis->save_lsb = pcis->lsb;
+ pcis->compound_lsb = pcis->lsb;
pcis->save_adxy.x = cstack[0];
pcis->save_adxy.y = cstack[1];
pcis->os_count = 0; /* clear */
@@ -286,7 +286,7 @@
agdata.memory = pfont->memory;
pcis->seac_accent = -1;
/* Reset the coordinate system origin */
- pcis->asb_diff = pcis->asb - pcis->save_lsb.x;
+ pcis->asb_diff = pcis->asb - pcis->compound_lsb.x;
pcis->adxy = pcis->save_adxy;
pcis->os_count = 0; /* clear */
/* Clear the ipstack, in case the base character */
Modified: trunk/gs/src/gxtype1.h
===================================================================
--- trunk/gs/src/gxtype1.h 2007-01-15 10:59:56 UTC (rev 7607)
+++ trunk/gs/src/gxtype1.h 2007-01-15 11:22:36 UTC (rev 7608)
@@ -115,13 +115,15 @@
bool seac_flag; /* true if executing the accent */
/* (Type 2 charstrings only) */
int num_hints; /* number of hints (Type 2 only) */
- gs_fixed_point lsb; /* left side bearing (char coords) */
- gs_fixed_point width; /* character width (char coords) */
+ gs_fixed_point lsb; /* left side bearing (design coords) */
+ gs_fixed_point width; /* character width (design coords) */
int seac_accent; /* accent character code for seac, or -1 */
- fixed asb; /* seac asb */
- gs_fixed_point save_lsb; /* save seac accented lsb */
- gs_fixed_point save_adxy; /* save seac adx/ady */
- fixed asb_diff; /* asb - save_lsb.x, */
+ fixed asb; /* the asb parameter of seac */
+ gs_fixed_point compound_lsb;/* lsb of the compound character
+ (i.e. of the accented character
+ defined with seac). */
+ gs_fixed_point save_adxy; /* passes seac adx/ady across the base character. */
+ fixed asb_diff; /* asb - compound_lsb.x, */
/* needed to adjust Flex endpoint
when processing the accent character;
Zero when processing the base character. */
More information about the gs-cvs
mailing list