OLD | NEW |
1 /***************************************************************************/ | 1 /***************************************************************************/ |
2 /* */ | 2 /* */ |
3 /* ttgxvar.c */ | 3 /* ttgxvar.c */ |
4 /* */ | 4 /* */ |
5 /* TrueType GX Font Variation loader */ | 5 /* TrueType GX Font Variation loader */ |
6 /* */ | 6 /* */ |
7 /* Copyright 2004, 2005, 2006, 2007, 2008, 2009, 2010 by */ | 7 /* Copyright 2004-2011 by */ |
8 /* David Turner, Robert Wilhelm, Werner Lemberg, and George Williams. */ | 8 /* David Turner, Robert Wilhelm, Werner Lemberg, and George Williams. */ |
9 /* */ | 9 /* */ |
10 /* This file is part of the FreeType project, and may only be used, */ | 10 /* This file is part of the FreeType project, and may only be used, */ |
11 /* modified, and distributed under the terms of the FreeType project */ | 11 /* modified, and distributed under the terms of the FreeType project */ |
12 /* license, LICENSE.TXT. By continuing to use, modify, or distribute */ | 12 /* license, LICENSE.TXT. By continuing to use, modify, or distribute */ |
13 /* this file you indicate that you have read the license and */ | 13 /* this file you indicate that you have read the license and */ |
14 /* understand and accept it fully. */ | 14 /* understand and accept it fully. */ |
15 /* */ | 15 /* */ |
16 /***************************************************************************/ | 16 /***************************************************************************/ |
17 | 17 |
(...skipping 1449 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1467 { | 1467 { |
1468 delta_xy[j].x += FT_MulFix( deltas_x[j], apply ); | 1468 delta_xy[j].x += FT_MulFix( deltas_x[j], apply ); |
1469 delta_xy[j].y += FT_MulFix( deltas_y[j], apply ); | 1469 delta_xy[j].y += FT_MulFix( deltas_y[j], apply ); |
1470 } | 1470 } |
1471 } | 1471 } |
1472 | 1472 |
1473 else | 1473 else |
1474 { | 1474 { |
1475 for ( j = 0; j < point_count; ++j ) | 1475 for ( j = 0; j < point_count; ++j ) |
1476 { | 1476 { |
| 1477 if ( localpoints[j] >= n_points ) |
| 1478 continue; |
| 1479 |
1477 delta_xy[localpoints[j]].x += FT_MulFix( deltas_x[j], apply ); | 1480 delta_xy[localpoints[j]].x += FT_MulFix( deltas_x[j], apply ); |
1478 delta_xy[localpoints[j]].y += FT_MulFix( deltas_y[j], apply ); | 1481 delta_xy[localpoints[j]].y += FT_MulFix( deltas_y[j], apply ); |
1479 } | 1482 } |
1480 } | 1483 } |
1481 | 1484 |
1482 if ( localpoints != ALL_POINTS ) | 1485 if ( localpoints != ALL_POINTS ) |
1483 FT_FREE( localpoints ); | 1486 FT_FREE( localpoints ); |
1484 FT_FREE( deltas_x ); | 1487 FT_FREE( deltas_x ); |
1485 FT_FREE( deltas_y ); | 1488 FT_FREE( deltas_y ); |
1486 | 1489 |
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1539 FT_FREE( blend->tuplecoords ); | 1542 FT_FREE( blend->tuplecoords ); |
1540 FT_FREE( blend->glyphoffsets ); | 1543 FT_FREE( blend->glyphoffsets ); |
1541 FT_FREE( blend ); | 1544 FT_FREE( blend ); |
1542 } | 1545 } |
1543 } | 1546 } |
1544 | 1547 |
1545 #endif /* TT_CONFIG_OPTION_GX_VAR_SUPPORT */ | 1548 #endif /* TT_CONFIG_OPTION_GX_VAR_SUPPORT */ |
1546 | 1549 |
1547 | 1550 |
1548 /* END */ | 1551 /* END */ |
OLD | NEW |