From b8817177a0ac22993a425e3158ac9fbb55cd87c1 Mon Sep 17 00:00:00 2001
From: David Turner <david@freetype.org>
Date: Fri, 15 Sep 2000 17:17:17 +0000
Subject: [PATCH] small bug-fix, the linearHoriBearing value was not loaded not
 computed correctly

---
 src/cff/t2gload.c    | 5 ++++-
 src/cid/cidgload.c   | 4 +++-
 src/type1z/z1gload.c | 7 +++++--
 3 files changed, 12 insertions(+), 4 deletions(-)

diff --git a/src/cff/t2gload.c b/src/cff/t2gload.c
index ba86a60e2..a48176fb0 100644
--- a/src/cff/t2gload.c
+++ b/src/cff/t2gload.c
@@ -1970,13 +1970,16 @@
 
 
         /* copy the _unscaled_ advance width */
-        metrics->horiAdvance = decoder.glyph_width;
+        metrics->horiAdvance          = decoder.glyph_width;
+        glyph->root.linearHoriAdvance = decoder.glyph_width;
 
         /* make up vertical metrics */
         metrics->vertBearingX = 0;
         metrics->vertBearingY = 0;
         metrics->vertAdvance  = 0;
 
+        glyph->root.linearVertAdvance = 0;
+
         glyph->root.format = ft_glyph_format_outline;
 
         glyph->root.outline.flags = 0;
diff --git a/src/cid/cidgload.c b/src/cid/cidgload.c
index 16ebb2153..94d56217b 100644
--- a/src/cid/cidgload.c
+++ b/src/cid/cidgload.c
@@ -274,13 +274,15 @@
 
 
         /* copy the _unscaled_ advance width */
-        metrics->horiAdvance = decoder.builder.advance.x;
+        metrics->horiAdvance          = decoder.builder.advance.x;
+        glyph->root.linearHoriAdvance = decoder.builder.advance.x;
 
         /* make up vertical metrics */
         metrics->vertBearingX = 0;
         metrics->vertBearingY = 0;
         metrics->vertAdvance  = 0;
 
+        glyph->root.linearVertAdvance = 0;
         glyph->root.format = ft_glyph_format_outline;
 
         if ( size && size->root.metrics.y_ppem < 24 )
diff --git a/src/type1z/z1gload.c b/src/type1z/z1gload.c
index a12bb1214..d9a552c61 100644
--- a/src/type1z/z1gload.c
+++ b/src/type1z/z1gload.c
@@ -168,7 +168,7 @@
 
     glyph->root.outline.n_points   = 0;
     glyph->root.outline.n_contours = 0;
-
+    
     hinting = ( load_flags & FT_LOAD_NO_SCALE   ) == 0 &&
               ( load_flags & FT_LOAD_NO_HINTING ) == 0;
 
@@ -224,13 +224,16 @@
 
 
         /* copy the _unscaled_ advance width */
-        metrics->horiAdvance = decoder.builder.advance.x;
+        metrics->horiAdvance          = decoder.builder.advance.x;
+        glyph->root.linearHoriAdvance = decoder.builder.advance.x;
 
         /* make up vertical metrics */
         metrics->vertBearingX = 0;
         metrics->vertBearingY = 0;
         metrics->vertAdvance  = 0;
 
+        glyph->root.linearVertAdvance = 0;
+
         glyph->root.format = ft_glyph_format_outline;
 
         if ( size && size->root.metrics.y_ppem < 24 )