From 4c507ffa80cc3f15cd6288a914dde4bd9438b5b5 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Wu=2C=20Chia-I=20=28=E5=90=B3=E4=BD=B3=E4=B8=80=29?=
 <olvaffe@gmail.com>
Date: Sat, 11 Feb 2006 13:22:37 +0000
Subject: [PATCH] * src/autofit/afcjk.c (af_cjk_metrics_init): Fix a stupid
 bug...

* src/autofit/aflatin.c (af_latin_metrics_init_widths): Use
AF_LatinMetricsRec as the dummy metrics because we cast the metrics to
it later in `af_latin_hints_link_segments'.
---
 ChangeLog             | 8 ++++++++
 src/autofit/afcjk.c   | 2 +-
 src/autofit/aflatin.c | 7 ++++---
 3 files changed, 13 insertions(+), 4 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 86119464a..e4320ca20 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2006-02-11  Chia-I Wu  <b90201047@ntu.edu.tw>
+
+	* src/autofit/afcjk.c (af_cjk_metrics_init): Fix a stupid bug...
+
+	* src/autofit/aflatin.c (af_latin_metrics_init_widths): Use
+	AF_LatinMetricsRec as the dummy metrics because we cast the metrics to
+	it later in `af_latin_hints_link_segments'.
+
 2006-02-11  Chia-I Wu  <b90201047@ntu.edu.tw>
 
 	* include/freetype/config/ftoption.h (AF_CONFIG_OPTION_CJK): #define
diff --git a/src/autofit/afcjk.c b/src/autofit/afcjk.c
index cca58adb8..cff98c539 100644
--- a/src/autofit/afcjk.c
+++ b/src/autofit/afcjk.c
@@ -52,7 +52,7 @@
 
     /* TODO are there blues? */
 
-    if ( !FT_Select_Charmap( face, FT_ENCODING_UNICODE ) )
+    if ( FT_Select_Charmap( face, FT_ENCODING_UNICODE ) )
       face->charmap = NULL;
 
     /* latin's version would suffice */
diff --git a/src/autofit/aflatin.c b/src/autofit/aflatin.c
index f824ccbfe..9c1beb3db 100644
--- a/src/autofit/aflatin.c
+++ b/src/autofit/aflatin.c
@@ -51,8 +51,8 @@
       FT_Error             error;
       FT_UInt              glyph_index;
       int                  dim;
-      AF_ScriptMetricsRec  dummy[1];
-      AF_Scaler            scaler = &dummy->scaler;
+      AF_LatinMetricsRec   dummy[1];
+      AF_Scaler            scaler = &dummy->root.scaler;
 
 
       glyph_index = FT_Get_Char_Index( face, charcode );
@@ -65,13 +65,14 @@
 
       FT_ZERO( dummy );
 
+      dummy->units_per_em = metrics->units_per_em;
       scaler->x_scale     = scaler->y_scale = 0x10000L;
       scaler->x_delta     = scaler->y_delta = 0;
       scaler->face        = face;
       scaler->render_mode = FT_RENDER_MODE_NORMAL;
       scaler->flags       = 0;
 
-      af_glyph_hints_rescale( hints, dummy );
+      af_glyph_hints_rescale( hints, (AF_ScriptMetrics)dummy );
 
       error = af_glyph_hints_reload( hints, &face->glyph->outline );
       if ( error )