View | Details | Raw Unified | Return to bug 219608 | Differences between
and this patch

Collapse All | Expand All

(-)src/truetype/ttdriver.c (+2 lines)
Lines 357-362 Link Here
357
    if ( FT_IS_SCALABLE( size->face ) )
357
    if ( FT_IS_SCALABLE( size->face ) )
358
    {
358
    {
359
      error = tt_size_reset( ttsize, 0 );
359
      error = tt_size_reset( ttsize, 0 );
360
      if ( !error )
361
        ttsize->root.metrics = *ttsize->metrics;
360
362
361
#ifdef TT_USE_BYTECODE_INTERPRETER
363
#ifdef TT_USE_BYTECODE_INTERPRETER
362
      /* for the `MPS' bytecode instruction we need the point size */
364
      /* for the `MPS' bytecode instruction we need the point size */
(-)src/truetype/ttobjs.c (+10 lines)
Lines 1262-1267 Link Here
1262
    /*                                                               */
1262
    /*                                                               */
1263
    if ( face->header.Flags & 8 )
1263
    if ( face->header.Flags & 8 )
1264
    {
1264
    {
1265
      if ( !only_height )
1266
      {
1267
        size_metrics->x_scale = FT_DivFix( size_metrics->x_ppem << 6,
1268
                                           face->root.units_per_EM );
1269
        size_metrics->y_scale = FT_DivFix( size_metrics->y_ppem << 6,
1270
                                           face->root.units_per_EM );
1271
      }
1265
      /* the TT spec always asks for ROUND, not FLOOR or CEIL */
1272
      /* the TT spec always asks for ROUND, not FLOOR or CEIL */
1266
      size_metrics->ascender = FT_PIX_ROUND(
1273
      size_metrics->ascender = FT_PIX_ROUND(
1267
                                 FT_MulFix( face->root.ascender,
1274
                                 FT_MulFix( face->root.ascender,
Lines 1281-1292 Link Here
1281
1288
1282
    if ( face->header.Flags & 8 )
1289
    if ( face->header.Flags & 8 )
1283
    {
1290
    {
1291
      if ( only_height )
1292
      {
1284
      /* base scaling values on integer ppem values, */
1293
      /* base scaling values on integer ppem values, */
1285
      /* as mandated by the TrueType specification   */
1294
      /* as mandated by the TrueType specification   */
1286
      size_metrics->x_scale = FT_DivFix( size_metrics->x_ppem << 6,
1295
      size_metrics->x_scale = FT_DivFix( size_metrics->x_ppem << 6,
1287
                                         face->root.units_per_EM );
1296
                                         face->root.units_per_EM );
1288
      size_metrics->y_scale = FT_DivFix( size_metrics->y_ppem << 6,
1297
      size_metrics->y_scale = FT_DivFix( size_metrics->y_ppem << 6,
1289
                                         face->root.units_per_EM );
1298
                                         face->root.units_per_EM );
1299
      }
1290
1300
1291
      size_metrics->max_advance = FT_PIX_ROUND(
1301
      size_metrics->max_advance = FT_PIX_ROUND(
1292
                                    FT_MulFix( face->root.max_advance_width,
1302
                                    FT_MulFix( face->root.max_advance_width,

Return to bug 219608