[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug in FT_Get_Kerning
From: |
Boris Letocha |
Subject: |
bug in FT_Get_Kerning |
Date: |
Thu, 13 Jul 2000 11:21:20 +0200 |
Hi!
If driver don't have specified get_kerning "random" values are returned.
Boris Letocha
Look at code:
FT_Error error = FT_Err_Ok;
FT_Driver driver;
FT_Memory memory;
if ( !face )
return FT_Err_Invalid_Face_Handle;
if ( !kerning )
return FT_Err_Invalid_Argument;
driver = face->driver;
memory = driver->root.memory;
if ( driver->clazz->get_kerning )
{
error = driver->clazz->get_kerning( face,
left_glyph,
right_glyph,
kerning );
}
// here is missing something like:
else
{
error = FT_Big_Problem; // non zero value :-)
}
// end of missing lines
if ( !error )
{
if ( kern_mode != ft_kerning_unscaled )
{
kerning->x = FT_MulFix( kerning->x, face->size->metrics.x_scale );
kerning->y = FT_MulFix( kerning->y, face->size->metrics.y_scale );
if ( kern_mode != ft_kerning_unfitted )
{
kerning->x = ( kerning->x + 32 ) & -64;
kerning->y = ( kerning->y + 32 ) & -64;
}
}
}
else
{
kerning->x = 0;
kerning->y = 0;
}
- bug in FT_Get_Kerning,
Boris Letocha <=