Use advance.x for estimating cell width if linearHoriAdvance is zero.
This commit is contained in:
parent
b247654600
commit
c5b1bb0430
1 changed files with 4 additions and 2 deletions
6
mkfont.c
6
mkfont.c
|
|
@ -456,8 +456,8 @@ int main( int argc, char **argv )
|
|||
if ( !glyph || FT_Load_Glyph(fnt,glyph,LOADFLAGS) ) continue;
|
||||
FT_Render_Glyph(fnt->glyph,RENDERMODE);
|
||||
int adv = fnt->glyph->linearHoriAdvance>>16;
|
||||
int gw = fnt->glyph->bitmap.width+fnt->glyph->bitmap_left;
|
||||
if ( gw > adv ) adv = gw;
|
||||
int adv2 = fnt->glyph->advance.x>>6;
|
||||
if ( !adv ) adv = adv2;
|
||||
if ( (adv+rightshift) > w ) w = adv+rightshift;
|
||||
}
|
||||
fprintf(stderr,"info: max cell size is %dx%d.\n",w,h);
|
||||
|
|
@ -487,6 +487,8 @@ int main( int argc, char **argv )
|
|||
{
|
||||
// readjust cell width (but not height) for this character
|
||||
int adv = fnt->glyph->linearHoriAdvance>>16;
|
||||
int adv2 = fnt->glyph->advance.x>>6;
|
||||
if ( !adv ) adv = adv2;
|
||||
w = adv+rightshift;
|
||||
iw = w+((gradient&4)?2:1);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue