[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
WinFNT driver
From: |
Boris Letocha |
Subject: |
WinFNT driver |
Date: |
Mon, 17 Jul 2000 13:09:12 +0200 |
Hi!
I was playing with WinFNT driver and works great ...
I have made change to have some metrics filled (I know that is not fully
finished, but may be this change can help someone) (in winfnt.c):
static
FT_Error FNT_Set_Pixel_Size( FNT_Size size )
{
/* look up a font corresponding to the current pixel size */
FNT_Face face = (FNT_Face)FT_SIZE_FACE( size );
FNT_Font* cur = face->fonts;
FNT_Font* limit = cur + face->num_fonts;
size->font = 0;
for ( ; cur < limit; cur++ )
{
/* we only compare the character height, as fonts used some strange */
/* values */
if ( cur->header.pixel_height == size->root.metrics.y_ppem )
{
size->font = cur;
// Here begin my new lines
size->root.metrics.ascender=-(cur->header.pixel_height-cur->header.ascent)*6
4;
size->root.metrics.descender=-cur->header.ascent*64;
size->root.metrics.height=cur->header.pixel_height*64;
// End of my new lines ...
break;
}
}
return ( size->font ? FT_Err_Ok : FT_Err_Invalid_Argument );
}
I have also one proposal. If character was undefined I test it to glyph
number equal zero. But this is not true in WinFNT driver. Glyph zero is
space character/first defined character. So may be some more calculations in
FNT_Get_Char_Index have to be done or provide "undefined character" or
"default character" by FreeType.
Boris Letocha
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- WinFNT driver,
Boris Letocha <=