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.
--- 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;