OLD | NEW |
1 /***************************************************************************/ | 1 /***************************************************************************/ |
2 /* */ | 2 /* */ |
3 /* t1decode.c */ | 3 /* t1decode.c */ |
4 /* */ | 4 /* */ |
5 /* PostScript Type 1 decoding routines (body). */ | 5 /* PostScript Type 1 decoding routines (body). */ |
6 /* */ | 6 /* */ |
7 /* Copyright 2000-2013 by */ | 7 /* Copyright 2000-2014 by */ |
8 /* David Turner, Robert Wilhelm, and Werner Lemberg. */ | 8 /* David Turner, Robert Wilhelm, and Werner Lemberg. */ |
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 |
18 | 18 |
19 #include "../../include/ft2build.h" | 19 #include <ft2build.h> |
20 #include "../../include/freetype/internal/ftcalc.h" | 20 #include FT_INTERNAL_CALC_H |
21 #include "../../include/freetype/internal/ftdebug.h" | 21 #include FT_INTERNAL_DEBUG_H |
22 #include "../../include/freetype/internal/pshints.h" | 22 #include FT_INTERNAL_POSTSCRIPT_HINTS_H |
23 #include "../../include/freetype/ftoutln.h" | 23 #include FT_OUTLINE_H |
24 | 24 |
25 #include "t1decode.h" | 25 #include "t1decode.h" |
26 #include "psobjs.h" | 26 #include "psobjs.h" |
27 | 27 |
28 #include "psauxerr.h" | 28 #include "psauxerr.h" |
29 | 29 |
30 /* ensure proper sign extension */ | 30 /* ensure proper sign extension */ |
31 #define Fix2Int( f ) ( (FT_Int)(FT_Short)( (f) >> 16 ) ) | 31 #define Fix2Int( f ) ( (FT_Int)(FT_Short)( (f) >> 16 ) ) |
32 | 32 |
33 /*************************************************************************/ | 33 /*************************************************************************/ |
(...skipping 1057 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1091 | 1091 |
1092 t1_builder_close_contour( builder ); | 1092 t1_builder_close_contour( builder ); |
1093 | 1093 |
1094 /* close hints recording session */ | 1094 /* close hints recording session */ |
1095 if ( hinter ) | 1095 if ( hinter ) |
1096 { | 1096 { |
1097 if ( hinter->close( hinter->hints, builder->current->n_points ) ) | 1097 if ( hinter->close( hinter->hints, builder->current->n_points ) ) |
1098 goto Syntax_Error; | 1098 goto Syntax_Error; |
1099 | 1099 |
1100 /* apply hints to the loaded glyph outline now */ | 1100 /* apply hints to the loaded glyph outline now */ |
1101 hinter->apply( hinter->hints, | 1101 error = hinter->apply( hinter->hints, |
1102 builder->current, | 1102 builder->current, |
1103 (PSH_Globals)builder->hints_globals, | 1103 (PSH_Globals)builder->hints_globals, |
1104 decoder->hint_mode ); | 1104 decoder->hint_mode ); |
| 1105 if ( error ) |
| 1106 goto Fail; |
1105 } | 1107 } |
1106 | 1108 |
1107 /* add current outline to the glyph slot */ | 1109 /* add current outline to the glyph slot */ |
1108 FT_GlyphLoader_Add( builder->loader ); | 1110 FT_GlyphLoader_Add( builder->loader ); |
1109 | 1111 |
1110 /* the compiler should optimize away this empty loop but ... */ | 1112 /* the compiler should optimize away this empty loop but ... */ |
1111 | 1113 |
1112 #ifdef FT_DEBUG_LEVEL_TRACE | 1114 #ifdef FT_DEBUG_LEVEL_TRACE |
1113 | 1115 |
1114 if ( decoder->len_buildchar > 0 ) | 1116 if ( decoder->len_buildchar > 0 ) |
(...skipping 496 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1611 | 1613 |
1612 /* finalize T1 decoder */ | 1614 /* finalize T1 decoder */ |
1613 FT_LOCAL_DEF( void ) | 1615 FT_LOCAL_DEF( void ) |
1614 t1_decoder_done( T1_Decoder decoder ) | 1616 t1_decoder_done( T1_Decoder decoder ) |
1615 { | 1617 { |
1616 t1_builder_done( &decoder->builder ); | 1618 t1_builder_done( &decoder->builder ); |
1617 } | 1619 } |
1618 | 1620 |
1619 | 1621 |
1620 /* END */ | 1622 /* END */ |
OLD | NEW |