shithub: freetype+ttf2subf

Download patch

ref: a8772918a35d446945d3a480cdab69f838f2b399
parent: ee3778d3d766ed1f645496bd5962d9a89958114b
author: Werner Lemberg <[email protected]>
date: Tue Feb 4 06:36:08 EST 2014

[autofit] Minor fix.

* src/autofit/afcjk.c (af_cjk_metrics_init_widths),
src/autofit/aflatin.c (af_latin_metrics_init_widths): Fix handling
of alternative standard characters.
This also fixes a compilation warning in non-debug mode.

git/fs: mount .git/fs: mount/attach disallowed
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2014-02-04  Werner Lemberg  <[email protected]>
+
+	[autofit] Minor fix.
+
+	* src/autofit/afcjk.c (af_cjk_metrics_init_widths),
+	src/autofit/aflatin.c (af_latin_metrics_init_widths): Fix handling
+	of alternative standard characters.
+	This also fixes a compilation warning in non-debug mode.
+
 2014-02-03  Werner Lemberg  <[email protected]>
 
 	[cff] Fix Savannah bug #41363.
--- a/src/autofit/afcjk.c
+++ b/src/autofit/afcjk.c
@@ -104,40 +104,39 @@
       FT_UInt32  standard_char;
 
 
+      standard_char = script_class->standard_char1;
       af_get_char_index( &metrics->root,
-                         script_class->standard_char1,
+                         standard_char,
                          &glyph_index,
                          &y_offset );
-      if ( glyph_index == 0 )
+      if ( !glyph_index )
       {
         if ( script_class->standard_char2 )
         {
+          standard_char = script_class->standard_char2;
           af_get_char_index( &metrics->root,
-                             script_class->standard_char2,
+                             standard_char,
                              &glyph_index,
                              &y_offset );
-          if ( glyph_index == 0 )
+          if ( !glyph_index )
           {
             if ( script_class->standard_char3 )
             {
+              standard_char = script_class->standard_char3;
               af_get_char_index( &metrics->root,
-                                 script_class->standard_char3,
+                                 standard_char,
                                  &glyph_index,
                                  &y_offset );
-              if ( glyph_index == 0 )
+              if ( !glyph_index )
                 goto Exit;
-              else
-                standard_char = script_class->standard_char3;
             }
+            else
+              goto Exit;
           }
-          else
-            standard_char = script_class->standard_char2;
         }
         else
           goto Exit;
       }
-      else
-        standard_char = script_class->standard_char1;
 
       FT_TRACE5(( "standard character: U+%04lX (glyph index %d)\n",
                   standard_char, glyph_index ));
--- a/src/autofit/aflatin.c
+++ b/src/autofit/aflatin.c
@@ -98,40 +98,39 @@
        * numerals.
        */
 
+      standard_char = script_class->standard_char1;
       af_get_char_index( &metrics->root,
-                         script_class->standard_char1,
+                         standard_char,
                          &glyph_index,
                          &y_offset );
-      if ( glyph_index == 0 )
+      if ( !glyph_index )
       {
         if ( script_class->standard_char2 )
         {
+          standard_char = script_class->standard_char2;
           af_get_char_index( &metrics->root,
-                             script_class->standard_char2,
+                             standard_char,
                              &glyph_index,
                              &y_offset );
-          if ( glyph_index == 0 )
+          if ( !glyph_index )
           {
             if ( script_class->standard_char3 )
             {
+              standard_char = script_class->standard_char3;
               af_get_char_index( &metrics->root,
-                                 script_class->standard_char3,
+                                 standard_char,
                                  &glyph_index,
                                  &y_offset );
-              if ( glyph_index == 0 )
+              if ( !glyph_index )
                 goto Exit;
-              else
-                standard_char = script_class->standard_char3;
             }
+            else
+              goto Exit;
           }
-          else
-            standard_char = script_class->standard_char2;
         }
         else
           goto Exit;
       }
-      else
-        standard_char = script_class->standard_char1;
 
       FT_TRACE5(( "standard character: U+%04lX (glyph index %d)\n",
                   standard_char, glyph_index ));