From 5b26e92a0f01fa21b618aceb763e013614fb7054 Mon Sep 17 00:00:00 2001 From: Werner Lemberg Date: Sat, 19 Feb 2022 05:26:53 +0100 Subject: [PATCH] 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. --- src/sfnt/ttkern.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/sfnt/ttkern.c b/src/sfnt/ttkern.c index d9f6a0e90..5634267de 100644 --- 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;