shithub: freetype+ttf2subf

Download patch

ref: 5b26e92a0f01fa21b618aceb763e013614fb7054
parent: 20ec99be7ecfd1a07e1ff7a7ef3e510203ea33bd
author: Werner Lemberg <wl@gnu.org>
date: Sat Feb 19 00:26:53 EST 2022

src/sfnt/ttkern.c (tt_face_load_kern): Micro-optimize.

A kerning table can be handled by binary search if it has equal entries.

Fixes #1132.

git/fs: mount .git/fs: mount/attach disallowed
--- a/src/sfnt/ttkern.c
+++ b/src/sfnt/ttkern.c
@@ -94,7 +94,7 @@
 
       p_next = p;
 
-      p += 2; /* skip version */
+      p       += 2; /* skip version */
       length   = FT_NEXT_USHORT( p );
       coverage = FT_NEXT_USHORT( p );
 
@@ -144,7 +144,7 @@
 
 
           cur_pair = FT_NEXT_ULONG( p );
-          if ( cur_pair <= old_pair )
+          if ( cur_pair < old_pair )
             break;
 
           p += 2;
@@ -187,8 +187,9 @@
                        FT_UInt  left_glyph,
                        FT_UInt  right_glyph )
   {
-    FT_Int    result = 0;
-    FT_UInt   count, mask;
+    FT_Int   result = 0;
+    FT_UInt  count, mask;
+
     FT_Byte*  p       = face->kern_table;
     FT_Byte*  p_limit = p + face->kern_table_size;