* src/sfnt/ttkern.c (tt_face_load_kern): fixing a small bug which returned
invalid (random) values for the horizontal kerning
This commit is contained in:
parent
e5680279b2
commit
fa0eb0c95f
|
@ -1,3 +1,8 @@
|
|||
2005-02-27 David Turner <david@freetype.org>
|
||||
|
||||
* src/sfnt/ttkern.c (tt_face_load_kern): fixing a small bug which returned
|
||||
invalid (random) values for the horizontal kerning
|
||||
|
||||
2005-02-25 David Turner <david@freetype.org>
|
||||
|
||||
* many, many files: several memory optimizations were implemented to
|
||||
|
|
|
@ -175,7 +175,6 @@
|
|||
FT_UInt right_glyph )
|
||||
{
|
||||
FT_Int result = 0;
|
||||
FT_Int value;
|
||||
FT_UInt count, mask = 1;
|
||||
FT_Byte* p = face->kern_table;
|
||||
FT_Byte* p_limit = p + face->kern_table_size;
|
||||
|
@ -190,6 +189,7 @@
|
|||
FT_UInt version = FT_NEXT_USHORT(p);
|
||||
FT_UInt length = FT_NEXT_USHORT(p);
|
||||
FT_UInt coverage = FT_NEXT_USHORT(p);
|
||||
FT_Int value = 0;
|
||||
|
||||
next = base + length;
|
||||
|
||||
|
@ -205,8 +205,7 @@
|
|||
{
|
||||
FT_UInt num_pairs = FT_NEXT_USHORT(p);
|
||||
FT_ULong key0 = TT_KERN_INDEX(left_glyph,right_glyph);
|
||||
FT_Int value = 0;
|
||||
|
||||
|
||||
p += 6;
|
||||
|
||||
if ( face->kern_order_bits & mask ) /* binary search */
|
||||
|
@ -226,7 +225,7 @@
|
|||
if ( key == key0 )
|
||||
{
|
||||
value = FT_PEEK_SHORT(q);
|
||||
break;
|
||||
goto Found;
|
||||
}
|
||||
if ( key < key0 )
|
||||
min = mid+1;
|
||||
|
@ -245,7 +244,7 @@
|
|||
if ( key == key0 )
|
||||
{
|
||||
value = FT_PEEK_SHORT(p);
|
||||
break;
|
||||
goto Found;
|
||||
}
|
||||
p += 2;
|
||||
}
|
||||
|
@ -261,6 +260,9 @@
|
|||
;
|
||||
}
|
||||
|
||||
goto NextTable;
|
||||
|
||||
Found:
|
||||
if ( coverage & 8 ) /* overide or addition */
|
||||
result = value;
|
||||
else
|
||||
|
|
Loading…
Reference in New Issue