/[freetype]/freetype2/src/cid/cidgload.c
ViewVC logotype

Diff of /freetype2/src/cid/cidgload.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.70 by werner, Thu May 6 11:48:35 2004 UTC revision 1.71 by olvaffe, Mon Jun 20 09:04:50 2005 UTC
# Line 358  Line 358 
358          cidglyph->linearHoriAdvance           = decoder.builder.advance.x;          cidglyph->linearHoriAdvance           = decoder.builder.advance.x;
359          cidglyph->internal->glyph_transformed = 0;          cidglyph->internal->glyph_transformed = 0;
360    
361          /* make up vertical metrics */          /* make up vertical ones */
         metrics->vertBearingX = 0;  
         metrics->vertBearingY = 0;  
362          metrics->vertAdvance  = 0;          metrics->vertAdvance  = 0;
   
363          cidglyph->linearVertAdvance = 0;          cidglyph->linearVertAdvance = 0;
364    
365          cidglyph->format            = FT_GLYPH_FORMAT_OUTLINE;          cidglyph->format            = FT_GLYPH_FORMAT_OUTLINE;
366    
367          if ( size && cidsize->metrics.y_ppem < 24 )          if ( size && cidsize->metrics.y_ppem < 24 )
# Line 403  Line 401 
401                vec->y = FT_MulFix( vec->y, y_scale );                vec->y = FT_MulFix( vec->y, y_scale );
402              }              }
403    
           FT_Outline_Get_CBox( &cidglyph->outline, &cbox );  
   
404            /* Then scale the metrics */            /* Then scale the metrics */
405            metrics->horiAdvance  = FT_MulFix( metrics->horiAdvance,  x_scale );            metrics->horiAdvance  = FT_MulFix( metrics->horiAdvance,  x_scale );
406            metrics->vertAdvance  = FT_MulFix( metrics->vertAdvance,  y_scale );            metrics->vertAdvance  = FT_MulFix( metrics->vertAdvance,  y_scale );
   
           metrics->vertBearingX = FT_MulFix( metrics->vertBearingX, x_scale );  
           metrics->vertBearingY = FT_MulFix( metrics->vertBearingY, y_scale );  
   
           if ( hinting )  
           {  
             metrics->horiAdvance = FT_PIX_ROUND( metrics->horiAdvance );  
             metrics->vertAdvance = FT_PIX_ROUND( metrics->vertAdvance );  
   
             metrics->vertBearingX = FT_PIX_ROUND( metrics->vertBearingX );  
             metrics->vertBearingY = FT_PIX_ROUND( metrics->vertBearingY );  
           }  
407          }          }
408    
409          /* compute the other metrics */          /* compute the other metrics */
410          FT_Outline_Get_CBox( &cidglyph->outline, &cbox );          FT_Outline_Get_CBox( &cidglyph->outline, &cbox );
411    
         /* grid fit the bounding box if necessary */  
         if ( hinting )  
         {  
           cbox.xMin = FT_PIX_FLOOR( cbox.xMin );  
           cbox.yMin = FT_PIX_FLOOR( cbox.yMin );  
           cbox.xMax = FT_PIX_CEIL( cbox.xMax );  
           cbox.yMax = FT_PIX_CEIL( cbox.yMax );  
         }  
   
412          metrics->width  = cbox.xMax - cbox.xMin;          metrics->width  = cbox.xMax - cbox.xMin;
413          metrics->height = cbox.yMax - cbox.yMin;          metrics->height = cbox.yMax - cbox.yMin;
414    
415          metrics->horiBearingX = cbox.xMin;          metrics->horiBearingX = cbox.xMin;
416          metrics->horiBearingY = cbox.yMax;          metrics->horiBearingY = cbox.yMax;
417    
418            /* make up vertical ones */
419            metrics->vertBearingX = 0;
420            metrics->vertBearingY = 0;
421    
422            if ( hinting )
423              ft_glyphslot_grid_fit_metrics( cidglyph );
424        }        }
425      }      }
426    

Legend:
Removed from v.1.70  
changed lines
  Added in v.1.71

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26