/[freetype]/freetype2/src/cff/cffgload.c
ViewVC logotype

Diff of /freetype2/src/cff/cffgload.c

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

revision 1.66 by wl, Mon Apr 18 07:13:07 2005 UTC revision 1.67 by olvaffe, Mon Jun 20 09:04:50 2005 UTC
# Line 2510  Line 2510 
2510          glyph->root.linearHoriAdvance           = decoder.glyph_width;          glyph->root.linearHoriAdvance           = decoder.glyph_width;
2511          glyph->root.internal->glyph_transformed = 0;          glyph->root.internal->glyph_transformed = 0;
2512    
2513          /* make up vertical metrics */          /* make up vertical ones */
         metrics->vertBearingX = 0;  
         metrics->vertBearingY = 0;  
2514          metrics->vertAdvance  = 0;          metrics->vertAdvance  = 0;
   
2515          glyph->root.linearVertAdvance = 0;          glyph->root.linearVertAdvance = 0;
2516    
2517          glyph->root.format = FT_GLYPH_FORMAT_OUTLINE;          glyph->root.format = FT_GLYPH_FORMAT_OUTLINE;
# Line 2559  Line 2556 
2556                vec->y = FT_MulFix( vec->y, y_scale );                vec->y = FT_MulFix( vec->y, y_scale );
2557              }              }
2558    
           FT_Outline_Get_CBox( &glyph->root.outline, &cbox );  
   
2559            /* Then scale the metrics */            /* Then scale the metrics */
2560            metrics->horiAdvance  = FT_MulFix( metrics->horiAdvance,  x_scale );            metrics->horiAdvance  = FT_MulFix( metrics->horiAdvance,  x_scale );
2561            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 );  
           }  
2562          }          }
2563    
2564          /* compute the other metrics */          /* compute the other metrics */
2565          FT_Outline_Get_CBox( &glyph->root.outline, &cbox );          FT_Outline_Get_CBox( &glyph->root.outline, &cbox );
2566    
         /* grid fit the bounding box if necessary */  
         if ( hinting )  
         {  
           cbox.xMin &= -64;  
           cbox.yMin &= -64;  
           cbox.xMax  = ( cbox.xMax + 63 ) & -64;  
           cbox.yMax  = ( cbox.yMax + 63 ) & -64;  
         }  
   
2567          metrics->width  = cbox.xMax - cbox.xMin;          metrics->width  = cbox.xMax - cbox.xMin;
2568          metrics->height = cbox.yMax - cbox.yMin;          metrics->height = cbox.yMax - cbox.yMin;
2569    
2570          metrics->horiBearingX = cbox.xMin;          metrics->horiBearingX = cbox.xMin;
2571          metrics->horiBearingY = cbox.yMax;          metrics->horiBearingY = cbox.yMax;
2572    
2573            /* make up vertical ones */
2574            metrics->vertBearingX = 0;
2575            metrics->vertBearingY = 0;
2576    
2577            if ( hinting )
2578              ft_glyphslot_grid_fit_metrics( &glyph->root );
2579        }        }
2580      }      }
2581    

Legend:
Removed from v.1.66  
changed lines
  Added in v.1.67

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