Commit e52c4ba178c39c09dfa916b8b35bd59870a03b79

Werner Lemberg 2003-08-06T17:27:14

* src/type1/t1gload.c (T1_Load_Glyph), src/cff/cffgload.c (cff_slot_load), src/cid/cidgload.c (cid_slot_load_glyph): Fix previous change.

diff --git a/ChangeLog b/ChangeLog
index f748acc..8bcf7a3 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2003-08-06  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): Fix
+	previous change.
+
 2003-08-05  Werner Lemberg  <wl@gnu.org>
 
 	* src/type1/t1gload.c (T1_Load_Glyph), src/cff/cffgload.c
diff --git a/src/cff/cffgload.c b/src/cff/cffgload.c
index d9a10bc..43d6849 100644
--- a/src/cff/cffgload.c
+++ b/src/cff/cffgload.c
@@ -2442,12 +2442,13 @@
                               font_offset.y );
 
         advance.x = metrics->horiAdvance;
+        advance.y = 0;
+        FT_Vector_Transform( &advance, &font_matrix );
+        metrics->horiAdvance = advance.x + font_offset.x;
+        advance.x = 0;
         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;
+        metrics->vertAdvance = advance.y + font_offset.y;
 
         if ( ( load_flags & FT_LOAD_NO_SCALE ) == 0 )
         {
diff --git a/src/cid/cidgload.c b/src/cid/cidgload.c
index 9136388..e07fb71 100644
--- a/src/cid/cidgload.c
+++ b/src/cid/cidgload.c
@@ -375,12 +375,13 @@
                               font_offset.y );
 
         advance.x = metrics->horiAdvance;
+        advance.y = 0;
+        FT_Vector_Transform( &advance, &font_matrix );
+        metrics->horiAdvance = advance.x + font_offset.x;
+        advance.x = 0;
         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;
+        metrics->vertAdvance = advance.y + font_offset.y;
 
         if ( ( load_flags & FT_LOAD_NO_SCALE ) == 0 )
         {
diff --git a/src/type1/t1gload.c b/src/type1/t1gload.c
index 49fb589..b4573d6 100644
--- a/src/type1/t1gload.c
+++ b/src/type1/t1gload.c
@@ -333,12 +333,13 @@
                               font_offset.y );
 
         advance.x = metrics->horiAdvance;
+        advance.y = 0;
+        FT_Vector_Transform( &advance, &font_matrix );
+        metrics->horiAdvance = advance.x + font_offset.x;
+        advance.x = 0;
         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;
+        metrics->vertAdvance = advance.y + font_offset.y;
 #endif
 
         if ( ( load_flags & FT_LOAD_NO_SCALE ) == 0 )