Commit 6bb34880e87235dc0f51d2bbf1c5f48cd7cd407e

Werner Lemberg 2009-06-28T00:43:37

Thinko. * src/psaux/t1decode.c (t1operator_seac) [FT_CONFIG_OPTION_INCREMENTAL]: Test for existence of incremental interface.

diff --git a/ChangeLog b/ChangeLog
index 084fc69..6c62411 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,13 @@
 2009-06-28  Werner Lemberg  <wl@gnu.org>
 
+	Thinko.
+
+	* src/psaux/t1decode.c (t1operator_seac)
+	[FT_CONFIG_OPTION_INCREMENTAL]: Test for existence of incremental
+	interface.
+
+2009-06-28  Werner Lemberg  <wl@gnu.org>
+
 	* devel/ftoption.h [FT_CONFIG_OPTION_INCREMENTAL]: Define.
 
 2009-06-27  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
diff --git a/src/psaux/t1decode.c b/src/psaux/t1decode.c
index f4f51a5..fcd7d57 100644
--- a/src/psaux/t1decode.c
+++ b/src/psaux/t1decode.c
@@ -194,6 +194,9 @@
 #endif
     FT_Vector    left_bearing, advance;
 
+#ifdef FT_CONFIG_OPTION_INCREMENTAL
+    T1_Face      face  = (T1_Face)decoder->builder.face;
+#endif     
 
     /* seac weirdness */
     adx += decoder->builder.left_bearing.x;
@@ -208,17 +211,18 @@
     }
 
 #ifdef FT_CONFIG_OPTION_INCREMENTAL
-
-    /* the caller must handle the font encoding also */
-    bchar_index = bchar;
-    achar_index = achar;
-
-#else
-
-    bchar_index = t1_lookup_glyph_by_stdcharcode( decoder, bchar );
-    achar_index = t1_lookup_glyph_by_stdcharcode( decoder, achar );
-
+    if ( face->root.internal->incremental_interface )
+    {
+      /* the caller must handle the font encoding also */
+      bchar_index = bchar;
+      achar_index = achar;
+    }
+    else
 #endif
+    {
+      bchar_index = t1_lookup_glyph_by_stdcharcode( decoder, bchar );
+      achar_index = t1_lookup_glyph_by_stdcharcode( decoder, achar );
+    }
 
     if ( bchar_index < 0 || achar_index < 0 )
     {