* src/type1/t1gload.c (T1_Load_Glyph), src/cff/cffgload.c

(cff_slot_load), src/cid/cidgload.c (cid_slot_load_glyph): Apply
font matrix to advance also.
* docs/CHANGES: Updated.
This commit is contained in:
Werner Lemberg 2003-08-06 04:40:48 +00:00
parent 42284f98f2
commit e8ff769c7f
5 changed files with 37 additions and 0 deletions

View File

@ -1,3 +1,10 @@
2003-08-05 Werner Lemberg <wl@gnu.org>
* src/type1/t1gload.c (T1_Load_Glyph), src/cff/cffgload.c
(cff_slot_load), src/cid/cidgload.c (cid_slot_load_glyph): Apply
font matrix to advance also.
* docs/CHANGES: Updated.
2003-07-26 Werner Lemberg <wl@gnu.org>
* builds/unix/configure.ac (version_info): Set to 9:4:3.

View File

@ -17,6 +17,9 @@ LATEST CHANGES BETWEEN 2.1.5 and 2.1.4
- Numeric font dictionary entries for synthetic fonts are no longer
overwritten.
- The font matrix wasn't applied to the advance width for Type1, CID,
and CFF fonts.
- The test for the charset registry in BDF and PCF fonts is now
case-insensitive.

View File

@ -2411,6 +2411,7 @@
{
FT_BBox cbox;
FT_Glyph_Metrics* metrics = &glyph->root.metrics;
FT_Vector advance;
/* copy the _unscaled_ advance width */
@ -2440,6 +2441,14 @@
font_offset.x,
font_offset.y );
advance.x = metrics->horiAdvance;
advance.y = metrics->vertAdvance;
FT_Vector_Transform( &advance, &font_matrix );
advance.x += font_offset.x;
advance.y += font_offset.y;
metrics->horiAdvance = advance.x;
metrics->vertAdvance = advance.y;
if ( ( load_flags & FT_LOAD_NO_SCALE ) == 0 )
{
/* scale the outline and the metrics */

View File

@ -348,6 +348,7 @@
{
FT_BBox cbox;
FT_Glyph_Metrics* metrics = &glyph->root.metrics;
FT_Vector advance;
/* copy the _unscaled_ advance width */
@ -373,6 +374,14 @@
font_offset.x,
font_offset.y );
advance.x = metrics->horiAdvance;
advance.y = metrics->vertAdvance;
FT_Vector_Transform( &advance, &font_matrix );
advance.x += font_offset.x;
advance.y += font_offset.y;
metrics->horiAdvance = advance.x;
metrics->vertAdvance = advance.y;
if ( ( load_flags & FT_LOAD_NO_SCALE ) == 0 )
{
/* scale the outline and the metrics */

View File

@ -304,6 +304,7 @@
{
FT_BBox cbox;
FT_Glyph_Metrics* metrics = &glyph->root.metrics;
FT_Vector advance;
/* copy the _unscaled_ advance width */
@ -330,6 +331,14 @@
FT_Outline_Translate( &glyph->root.outline,
font_offset.x,
font_offset.y );
advance.x = metrics->horiAdvance;
advance.y = metrics->vertAdvance;
FT_Vector_Transform( &advance, &font_matrix );
advance.x += font_offset.x;
advance.y += font_offset.y;
metrics->horiAdvance = advance.x;
metrics->vertAdvance = advance.y;
#endif
if ( ( load_flags & FT_LOAD_NO_SCALE ) == 0 )