diff --git a/ChangeLog b/ChangeLog index e02af8010..91bc0a4b2 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,56 +1,198 @@ +2002-09-05 Werner Lemberg + + * src/cid/cidobjs.c (CID_Size_Init): Renamed to... + (cid_size_init): This. + * src/psaux/psobjs.c (T1_Builder_Add_Point1): Renamed to... + (t1_builder_add_point1): This. + + Updated all affected code. + + * src/pshinter/pshalgo3.c (psh3_hint_align): Fix compiler warnings. + * src/type1/t1gload.c (T1_Compute_Max_Advance): Ditto. + 2002-09-04 David Turner - * include/freetype/freetype.h: corrected the definition of - ft_encoding_symbol to be FT_ENCODING_MS_SYMBOL (instead of - the erroneous FT_ENCODING_SYMBOL) - - * builds/unix/unix-def.in: added "datadir" definition - (thanks to Anthony Fok) + * include/freetype/freetype.h: Corrected the definition of + ft_encoding_symbol to be FT_ENCODING_MS_SYMBOL (instead of + the erroneous FT_ENCODING_SYMBOL). + * builds/unix/unix-def.in (datadir): Initialize it (thanks to + Anthony Fok). 2002-08-29 David Turner - * src/pshinter/pshalgo.c: slight modification to the Postscript hinter - to slightly increase the contrast of smooth hinting. This is very similar - to what the auto-hinter does when it comes to stem width computations. - However, it produces better results with well-hinted fonts.. + Slight modification to the Postscript hinter to slightly increase + the contrast of smooth hinting. This is very similar to what the + auto-hinter does when it comes to stem width computations. However, + it produces better results with well-hinted fonts. - * README, docs/CHANGES: updating for the 2.1.3 release + * include/freetype/internal/psaux.h (T1_Decoder_FuncsRec): Add hint + mode to `init' member function. + (T1_DecoderRec): Add hint mode. + * include/freetype/internal/pshints (T1_Hints_ApplyFunc, + T2_Hints_ApplyFunc): Pass `hint_mode', not `hint_flags'. + * src/psaux/t1decode.c (t1_decoder_init): Add hint mode argument. + * src/pshinter/pshalgo1.c (ps1_hints_apply): Pass hint mode, not + hint flags. + * src/pshinter/pshalgo2.c (ps2_hints_apply): Ditto. + * src/pshinter/pshalgo3.c (ps3_hints_apply): Ditto. + (STRONGER): New macro. + (psh3_hint_align, psh3_hint_table_align_hints): Pass `glyph' instead + of `hint_flags'. + Implement announced changes. + * src/pshinter/pshalgo3.h (PSH3_GlyphRec): Add flags to control + vertical and horizontal hints and snapping. + + * README, docs/CHANGES: Updating for the 2.1.3 release. 2002-08-27 David Turner - * massive re-formatting changes to many, many source files. I don't - want to list them all here. The operations performed were all logical - transformations of the sources: + * Massive re-formatting changes to many, many source files. I don't + want to list them all here. The operations performed were all + logical transformations of the sources: - - trying to convert all enums and constants to CAPITALIZED_STYLE, with - #define definitions like + - trying to convert all enums and constants to CAPITALIZED_STYLE, + #with define definitions like - #define my_old_constants MY_NEW_CONSTANT + #define my_old_constants MY_NEW_CONSTANT - - big, big update of the documentation comments + - big, big update of the documentation comments - * include/freetype/freetype.h, src/base/ftobjs.c, src/smooth/ftsmooth.c, - include/freetype/ftimage.h: adding support for LCD-optimized rendering - though the new constants/enums: + * include/freetype/freetype.h, src/base/ftobjs.c, + src/smooth/ftsmooth.c, include/freetype/ftimage.h: Adding support + for LCD-optimized rendering though the new constants/enums: - FT_RENDER_MODE_LCD, FT_RENDER_MODE_LCD_V - FT_PIXEL_MODE_LCD, FT_PIXEL_MODE_LCD_V + FT_RENDER_MODE_LCD, FT_RENDER_MODE_LCD_V + FT_PIXEL_MODE_LCD, FT_PIXEL_MODE_LCD_V - this is still work in progress, don't expect everything to work correctly - though most of the features have been implemented. + This is still work in progress, don't expect everything to work + correctly though most of the features have been implemented. - * adding new FT_LOAD_XXX flags, used to specify both hinting and rendering - targets: + * Adding new FT_LOAD_XXX flags, used to specify both hinting and + rendering targets: - FT_LOAD_TARGET_NORMAL :: anti-aliased hinting & rendering - FT_LOAD_TARGET_MONO :: monochrome bitmaps - FT_LOAD_TARGET_LCD :: horizontal RGB/BGR decimated hinting & rendering - FT_LOAD_TARGET_LCD_V :: vertical RGB/BGR decimated hinting & rendering + FT_LOAD_TARGET_NORMAL :: anti-aliased hinting & rendering + FT_LOAD_TARGET_MONO :: monochrome bitmaps + FT_LOAD_TARGET_LCD :: horizontal RGB/BGR decimated + hinting & rendering + FT_LOAD_TARGET_LCD_V :: vertical RGB/BGR decimated + hinting & rendering - note that FT_LOAD_TARGET_NORMAL is 0, which means that the default - behaviour of the font engine is _unchanged_. + Note that FT_LOAD_TARGET_NORMAL is 0, which means that the default + behaviour of the font engine is _unchanged_. + * include/freetype/ftimage.h + (FT_Outline_{Move,Line,Conic,Cubic}To_Func): Renamed to... + (FT_Outline_{Move,Line,Conic,Cubic}ToFunc): This. + (FT_Raster_Span_Func): Renamed to ... + (FT_SpanFunc): This. + (FT_Raster_{New,Done,Reset,Set_Mode,Render}_Func): Renamed to ... + (FT_Raster_{New,Done,Reset,SetMode,Render}Func}: This. + + Updated all affected code. + + * include/freetype/ftrender.h + (FT_Glyph_{Init,Done,Transform,BBox,Copy,Prepare}_Func): Renamed + to ... + (FT_Glyph_{Init,Done,Transform,GetBBox,Copy,Prepare}Func): This. + (FTRenderer_{render,transform,getCBox,setMode}): Renamed to ... + (FT_Renderer_{RenderFunc,TransformFunc,GetCBoxFunc,SeteModeFunc}): + This. + + Updated all affected code. + + * src/autohint/ahtypes.h (AH_Point, AH_Segment, AH_Edge, AH_Globals, + AH_Face_Globals, AH_Outline, AH_Hinter): These typedefs are now + pointers to the corresponding `*Rec' structures. All source files + have been updated accordingly. + + * src/cff/cffgload.c (cff_decoder_init): Add hint mode as parameter. + * src/cff/cffgload.h (CFF_Decoder): Add `hint_mode' element. + + * src/cid/cidgload.c (CID_Compute_Max_Advance): Renamed to... + (cid_face_compute_max_advance): This. + (CID_Load_Glyph): Renamed to... + (cid_slot_load_glyph): This. + * src/cid/cidload.c (CID_Open_Face): Renamed to... + (cid_face_open): This. + * src/cid/cidobjs.c (CID_GlyphSlot_{Done,Init}): Renamed to... + (cid_slot_{done,init}): This. + (CID_Size_{Get_Globals_Funcs,Done,Reset): Renamed to... + (cid_size_{get_globals_funcs,done,reset): This. + (CID_Face_{Done,Init}): Renamed to... + (cid_face_{done,init}): This. + (CID_Driver_{Done,Init}: Renamed to... + (cid_driver_{done,init}: This. + * src/cid/cidparse.c (CID_{New,Done}_Parser): Renamed to... + (cid_parser_{new,done}): This. + * src/cid/cidparse.h (CID_Skip_{Spaces,Alpha}): Renamed to... + (cid_parser_skip_{spaces,alpha}): This. + (CID_To{Int,Fixed,CoordArray,FixedArray,Token,TokenArray}): Renamed + to... + (cid_parser_to_{int,fixed,coord_array,fixed_array,token,token_array}): + This. + (CID_Load_{Field,Field_Table): Renamed to... + (cid_parser_load_{field,field_table}): This. + * src/cid/cidriver.c (CID_Get_Interface): Renamed to... + (cid_get_interface): This. + + Updated all affected code. + + * src/psaux/psobjs.c (PS_Table_*): Renamed to... + (ps_table_*): This. + (T1_Builder_*): Renamed to... + (t1_builder_*): This. + * src/psaux/t1decode.c (T1_Decoder_*): Renamed to... + (t1_decoder_*): This. + + * src/psnames/psmodule.c (PS_*): Renamed to... + (ps_*): This. + + Updated all affected code. + + * src/sfnt/sfdriver (SFNT_Get_Interface): Renamed to... + (sfnt_get_interface): This. + * src/sfnt/sfobjs.c (SFNT_*): Renamed to... + (sfnt_*): This. + * src/sfnt/ttcmap.c (TT_CharMap_{Load,Free}): Renamed to... + (tt_face_{load,free}_charmap): This. + * src/sfnt/ttcmap0.c (TT_Build_CMaps): Renamed to... + (tt_face_build_cmaps): This. + * src/sfnt/ttload.c (TT_*): Renamed to... + (tt_face_*): This. + * src/sfnt/ttpost.c (TT_Post_Default_Names): Renamed to... + (tt_post_default_names): This. + (Load_*): Renamed to... + (load_*): This. + (TT_*): Renamed to... + (tt_face_*): This. + * src/sfnt/ttsbit.c (TT_*): Renamed to... + (tt_face_*): This. + ({Find,Load,Crop}_*): Renamed to... + ({find,load,crop}_*): This. + + Updated all affected code. + + * src/smooth/ftsmooth.c (ft_smooth_render): Renamed to... + (ft_smooth_render_generic): This. + Make function more generic by adding vertical and horizontal scaling + factors. + (ft_smooth_render, ft_smooth_render_lcd, ft_smooth_render_lcd_v): + New functions. + + (ft_smooth_locd_renderer_class, ft_smooth_lcdv_renderer_class): New + classes. + + * src/truetype/ttobjs.c (TT_{Done,New}_GlyphZone): Renamed to... + (tt_glyphzone_{done,new}): This. + (TT_{Face,Size,Driver}_*): Renamed to... + (tt_{face,size,driver}_*): This. + * src/truetype/ttpload.c (TT_Load_Locations): Renamed to... + (tt_face_load_loca): This. + (TT_Load_Programs): Renamed to... + (tt_face_load_fpgm): This. + (TT_*): Renamed to... + (tt_face_*): This. 2002-08-27 Werner Lemberg @@ -58,28 +200,26 @@ 2002-08-23 Graham Asher - * /src/cff/cffgload.c (cff_operator_seac) - [FT_CONFIG_OPTION_INCREMENTAL] incremental fonts (actually - not incremental in the case of CFF but just using callbacks - to get glyph recipes) pass the character code, not the glyph - index, to the get_glyph_data function; they have no - valid charset table. + * src/cff/cffgload.c (cff_operator_seac) + [FT_CONFIG_OPTION_INCREMENTAL]: Incremental fonts (actually not + incremental in the case of CFF but just using callbacks to get glyph + recipes) pass the character code, not the glyph index, to the + get_glyph_data function; they have no valid charset table. - * /src/cff/cffload.c (cff_font_load) removed special cases - for FT_CONFIG_OPTION_INCREMENTAL, which are no longer - necessary; CFF fonts provided via the incremental interface - now have to conform more closely to the CFF font format. + * src/cff/cffload.c (cff_font_load): Removed special cases for + FT_CONFIG_OPTION_INCREMENTAL, which are no longer necessary; CFF + fonts provided via the incremental interface now have to conform + more closely to the CFF font format. - * /src/cff/cffload.h (cff_font_load declaration) - removed argument now unneeded. + * src/cff/cffload.h (cff_font_load): Removed argument now unneeded. - * /src/cff/cffobjs.c (cff_face_init) changed call to - cff_font_load to conform with new signature. + * src/cff/cffobjs.c (cff_face_init): Changed call to cff_font_load + to conform with new signature. 2002-08-22 David Turner - * src/base/ftobject.c, src/base/ftsynth.c, src/base/ftstroker.c, - src/bdf/bdfdrivr.c: removed compiler warnings + * src/base/ftobject.c, src/base/ftsynth.c, src/base/ftstroker.c, + src/bdf/bdfdrivr.c: Removed compiler warnings. 2002-08-21 Werner Lemberg diff --git a/docs/CHANGES b/docs/CHANGES index 927acad7a..58fe0df8c 100644 --- a/docs/CHANGES +++ b/docs/CHANGES @@ -6,72 +6,69 @@ LATEST CHANGES BETWEEN 2.1.3 and 2.1.2 in incorrect transformations being applied (for example, rotations were processed in opposite angles). - - the format 8 and 12 TrueType charmap enumeration routines have been - fixed (FT_Get_Next_Char returned invalid values) + - The format 8 and 12 TrueType charmap enumeration routines have been + fixed (FT_Get_Next_Char returned invalid values). - - the PFR font driver returned incorrect advance widths when the - outline and metrics resolution defined in the font file were - different + - The PFR font driver returned incorrect advance widths if the outline + and metrics resolution defined in the font file were different. - - FT_Glyph_To_Bitmap now returnes succesfully when called with - a FT_BitmapGlyph argument (it previously returned an error) + - FT_Glyph_To_Bitmap now returns successfully when called with an + FT_BitmapGlyph argument (it previously returned an error). - - A bug in the Type 1 loader that prevented valid font bounding - boxes to be loaded from multiple master fonts. + - A bug in the Type 1 loader that prevented valid font bounding boxes to + be loaded from multiple master fonts. - - the SFNT validation code was rewritten. FreeType can now load + - The SFNT validation code has been rewritten. FreeType can now load "broken" fonts that were usable on Windows, but not with previous - versions of the library + versions of the library. - - the computation of bearings in the BDF driver has been fixed + - The computation of bearings in the BDF driver has been fixed. II. MISCELLANEOUS - - the automatic and postscript hinters have both been updated. This - results in a relatively important increase of rendering quality - since many nasty defaults have been supressed. + - The automatic and postscript hinters have both been updated. This + results in a relatively important increase of rendering quality since + many nasty defaults have been supressed. - - a new, experimental, support for incremental font loading (i.e. - loading of fonts where the glyphs are not in the font file itself, - but provided by an external component, like a Postscript interpreter) - has been added by Graham Asher. This is still work in progress - however. + - A new, experimental, support for incremental font loading (i.e., + loading of fonts where the glyphs are not in the font file itself, but + provided by an external component, like a Postscript interpreter) has + been added by Graham Asher. This is still work in progress, however. - - a new, experimental, path stroker has been added. It doesn't suffer - from sever rounding errors, and treat bezier arcs directly. Still - work in progress + - A new, experimental, path stroker has been added. It doesn't suffer + from severe rounding errors, and treat bezier arcs directly. Still + work in progress. - - the massive re-formatting of sources and internal re-design is still - under-way. Many internal functions, constants, and types have been + - The massive re-formatting of sources and internal re-design is still + under-way. Many internal functions, constants, and types have been renamed. - - the "load_flags" parameter of FT_Load_Glyph is now a FT_Int32 - (instead of just being an FT_Int). This breaks source and binary - compatibility for 16bit systems only, while retaining both of them - for 32 and 64 bit ones. + - The "load_flags" parameter of FT_Load_Glyph is now an FT_Int32 + (instead of just being an FT_Int). This breaks source and binary + compatibility for 16bit systems only, while retaining both of them for + 32 and 64 bit ones. - some new flags have been added consequently: + Some new flags have been added consequently: - FT_LOAD_NO_AUTOHINT :: disable the use of the auto-hinter - (but not native format hinters) + FT_LOAD_NO_AUTOHINT :: Disable the use of the auto-hinter + (but not native format hinters). - FT_LOAD_TARGET_NORMAL :: hint and render for normal anti-aliased - displays + FT_LOAD_TARGET_NORMAL :: Hint and render for normal anti-aliased + displays. - FT_LOAD_TARGET_MONO :: hint and render for 1-bit displays + FT_LOAD_TARGET_MONO :: Hint and render for 1-bit displays. - FT_LOAD_TARGET_LCD :: hint and render for horizontal RGB or BGR + FT_LOAD_TARGET_LCD :: Hint and render for horizontal RGB or BGR sub-pixel displays (like LCD screens). - THIS IS STILL EXPERIMENTAL + THIS IS STILL EXPERIMENTAL! - FT_LOAD_TARGET_LCD_V :: same a FT_LOAD_TARGET_LCD, for vertical - sub-pixel displays (like rotated LCD screens) - THIS IS STILL EXPERIMENTAL - - FT_LOAD_MONOCHROME is still supported, but only affects - rendering, not the hinting. + FT_LOAD_TARGET_LCD_V :: Same as FT_LOAD_TARGET_LCD, for vertical + sub-pixel displays (like rotated LCD + screens). THIS IS STILL EXPERIMENTAL! + FT_LOAD_MONOCHROME is still supported, but only affects rendering, not + the hinting. ======================================================================== diff --git a/include/freetype/freetype.h b/include/freetype/freetype.h index 64cfe1ec6..c95dfca12 100644 --- a/include/freetype/freetype.h +++ b/include/freetype/freetype.h @@ -403,17 +403,17 @@ FT_BEGIN_HEADER /* should redefine this macro in case of problems to something like */ /* this: */ /* */ - /* #define FT_ENC_TAG( value, _x1, _x2, _x3, _x4 ) (value) */ + /* #define FT_ENC_TAG( value, a, b, c, d ) (value) */ /* */ /* to get a simple enumeration without assigning special numbers. */ /* */ #ifndef FT_ENC_TAG -#define FT_ENC_TAG(value,a,b,c,d) \ - value = ( ( (FT_UInt32)(a) << 24 ) | \ - ( (FT_UInt32)(b) << 16 ) | \ - ( (FT_UInt32)(c) << 8 ) | \ - (FT_UInt32)(d) ) +#define FT_ENC_TAG( value, a, b, c, d ) \ + value = ( ( (FT_UInt32)(a) << 24 ) | \ + ( (FT_UInt32)(b) << 16 ) | \ + ( (FT_UInt32)(c) << 8 ) | \ + (FT_UInt32)(d) ) #endif /* FT_ENC_TAG */ @@ -433,88 +433,85 @@ FT_BEGIN_HEADER /* */ /* The values of this type correspond to specific character */ /* repertories (i.e. charsets), and not to text encoding methods */ - /* (like UTF-8, UTF-16, GB2312_EUC, etc...) */ + /* (like UTF-8, UTF-16, GB2312_EUC, etc.). */ /* */ /* Other encodings might be defined in the future. */ /* */ /* */ /* FT_ENCODING_NONE :: */ - /* the encoding value 0 is reserved. */ + /* The encoding value 0 is reserved. */ /* */ /* FT_ENCODING_UNICODE :: */ - /* corresponds to the Unicode character set. This value covers */ + /* Corresponds to the Unicode character set. This value covers */ /* all versions of the Unicode repertoire, including ASCII and */ - /* Latin-1. Most fonts include a Unicode charmap, but not all */ + /* Latin-1. Most fonts include a Unicode charmap, but not all */ /* of them. */ /* */ /* FT_ENCODING_MS_SYMBOL :: */ - /* corresponds to the Microsoft Symbol encoding, used to encode */ - /* mathematical symbols in the 32..255 character code range. For */ - /* more information, see http://www.ceviz.net/symbol.htm */ + /* Corresponds to the Microsoft Symbol encoding, used to encode */ + /* mathematical symbols in the 32..255 character code range. For */ + /* more information, see `http://www.ceviz.net/symbol.htm'. */ /* */ /* FT_ENCODING_MS_SJIS :: */ - /* corresponds to Microsoft's Japanese SJIS encoding. More info */ - /* at http://langsupport.japanreference.com/encoding.shtml. */ - /* see note on multi-byte encodings below. */ + /* Corresponds to Microsoft's Japanese SJIS encoding. More info */ + /* at `http://langsupport.japanreference.com/encoding.shtml'. */ + /* See note on multi-byte encodings below. */ /* */ /* FT_ENCODING_MS_GB2312 :: */ - /* corresponds to the encoding system for Simplified Chinese, as */ - /* used in China. Only found in some TrueType fonts */ + /* Corresponds to the encoding system for Simplified Chinese, as */ + /* used in China. Only found in some TrueType fonts. */ /* */ /* */ /* FT_ENCODING_MS_BIG5 :: */ - /* corresponds to the encoding system for Simplified Chinese, as */ - /* used in Taiwan and Hong Kong. Only found in some TrueType fonts */ + /* Corresponds to the encoding system for Traditional Chinese, as */ + /* used in Taiwan and Hong Kong. Only found in some TrueType fonts. */ /* */ /* FT_ENCODING_MS_WANSUNG :: */ - /* corresponds to the Korean encoding system known as Wansung. */ + /* Corresponds to the Korean encoding system known as Wansung. */ /* This is a Microsoft encoding that is only found in some TrueType */ - /* fonts. For more information, see */ - /* http://www.microsoft.com/typography/unicode/949.txt */ + /* fonts. For more information, see */ + /* `http://www.microsoft.com/typography/unicode/949.txt'. */ /* */ /* FT_ENCODING_MS_JOHAB :: */ /* The Korean standard character set (KS C-5601-1992), which */ - /* corresponds to Windows code page 1361. This character set */ + /* corresponds to Windows code page 1361. This character set */ /* includes all possible Hangeul character combinations. */ - /* only found on some rare TrueType fonts. */ + /* Only found on some rare TrueType fonts. */ /* */ /* FT_ENCODING_ADOBE_LATIN_1 :: */ - /* corresponds to a Latin-1 encoding as defined in a Type 1 */ - /* Postscript font. It is limited to no more than 256 character */ - /* codes. */ + /* Corresponds to a Latin-1 encoding as defined in a Type 1 */ + /* Postscript font. It is limited to 256 character codes. */ /* */ /* FT_ENCODING_ADOBE_STANDARD :: */ - /* corresponds to the Adobe Standard encoding, as found in Type 1, */ - /* CFF and OpenType/CFF fonts. It is limited to no more than 256 */ - /* character codes. */ + /* Corresponds to the Adobe Standard encoding, as found in Type 1, */ + /* CFF, and OpenType/CFF fonts. It is limited to 256character */ + /* codes. */ /* */ /* FT_ENCODING_ADOBE_EXPERT :: */ - /* corresponds to the Adobe Expert encoding, as found in Type 1, */ - /* CFF and OpenType/CFF fonts. It is limited to no more than 256 */ - /* character codes */ + /* Corresponds to the Adobe Expert encoding, as found in Type 1, */ + /* CFF, and OpenType/CFF fonts. It is limited to 256 character */ + /* codes. */ /* */ /* FT_ENCODING_ADOBE_CUSTOM :: */ - /* corresponds to a custom encoding, as found in Type 1, CFF and */ - /* OpenType/CFF fonts. It is limited to no more than 256 character */ - /* codes */ + /* Corresponds to a custom encoding, as found in Type 1, CFF, and */ + /* OpenType/CFF fonts. It is limited to 256 character codes. */ /* */ /* FT_ENCODING_APPLE_ROMAN :: */ - /* corresponds to the 8-bit Apple roman encoding. Many TrueType and */ - /* OpenType fonts contain a charmap for this encoding, since it */ - /* older versions of Mac OS are able to use it. */ + /* Corresponds to the 8-bit Apple roman encoding. Many TrueType and */ + /* OpenType fonts contain a charmap for this encoding, since older */ + /* versions of Mac OS are able to use it. */ /* */ /* FT_ENCODING_OLD_LATIN_2 :: */ - /* this value is deprecated and was never used nor reported by */ - /* FreeType. Don't use or test for it. */ + /* This value is deprecated and was never used nor reported by */ + /* FreeType. Don't use or test for it. */ /* */ /* */ /* By default, FreeType automatically synthetizes a Unicode charmap */ /* for Postscript fonts, using their glyph names dictionaries. */ - /* However, it will also report the encodings defined explicitely */ - /* in the font file, for the cases when they're needed, with the */ - /* Adobe values as well */ + /* However, it will also report the encodings defined explicitly in */ + /* the font file, for the cases when they are needed, with the Adobe */ + /* values as well. */ /* */ - typedef enum FT_Encoding_ { FT_ENC_TAG( FT_ENCODING_NONE, 0, 0, 0, 0 ), @@ -539,13 +536,14 @@ FT_BEGIN_HEADER } FT_Encoding; + /*************************************************************************/ /* */ /* */ /* ft_encoding_xxx */ /* */ /* */ - /* These constants are deprecated, use the corresponding @FT_Encoding */ + /* These constants are deprecated; use the corresponding @FT_Encoding */ /* values instead. */ /* */ /* */ @@ -582,6 +580,7 @@ FT_BEGIN_HEADER #define ft_encoding_adobe_custom FT_ENCODING_ADOBE_CUSTOM #define ft_encoding_apple_roman FT_ENCODING_APPLE_ROMAN + /*************************************************************************/ /* */ /* */ @@ -668,7 +667,8 @@ FT_BEGIN_HEADER /* */ /* style_flags :: A set of bit flags indicating the style of */ /* the face (i.e., italic, bold, underline, */ - /* etc). See the @FT_STYLE_FLAG_XXX constants */ + /* etc). See the @FT_STYLE_FLAG_XXX */ + /* constants. */ /* */ /* num_glyphs :: The total number of glyphs in the face. */ /* */ @@ -858,73 +858,72 @@ FT_BEGIN_HEADER /* */ /* */ /* A list of bit flags used in the 'face_flags' field of the */ - /* @FT_FaceRec structure. They inform client applications of */ + /* @FT_FaceRec structure. They inform client applications of */ /* properties of the corresponding face. */ /* */ /* */ - /* FT_FACE_FLAG_SCALABLE :: */ - /* indicates that the face provides vectorial outlines. This doesn't */ - /* prevent embedded bitmaps. I.e. a face can have both this bit and */ - /* @FT_FACE_FLAG_FIXED_SIZES set */ + /* FT_FACE_FLAG_SCALABLE :: */ + /* Indicates that the face provides vectorial outlines. This */ + /* doesn't prevent embedded bitmaps, i.e., a face can have both */ + /* this bit and @FT_FACE_FLAG_FIXED_SIZES set */ /* */ - /* FT_FACE_FLAG_FIXED_SIZES :: */ - /* indicates that the face contains 'fixed sizes', i.e. bitmap */ - /* strikes for some given pixel sizes. See the 'num_fixed_sizes' */ - /* and 'available_sizes' fields of @FT_FaceRec */ + /* FT_FACE_FLAG_FIXED_SIZES :: */ + /* Indicates that the face contains `fixed sizes', i.e., bitmap */ + /* strikes for some given pixel sizes. See the `num_fixed_sizes' */ + /* and `available_sizes' fields of @FT_FaceRec. */ /* */ - /* FT_FACE_FLAG_FIXED_WIDTH :: */ - /* indicates that the face contains fixed-width characters (like */ - /* Courier, Lucido, MonoType, etc..) */ + /* FT_FACE_FLAG_FIXED_WIDTH :: */ + /* Indicates that the face contains fixed-width characters (like */ + /* Courier, Lucido, MonoType, etc.). */ /* */ - /* FT_FACE_FLAG_SFNT :: */ - /* indicates that the face uses the 'sfnt' storage scheme. For */ - /* now, this means TrueType and OpenType */ + /* FT_FACE_FLAG_SFNT :: */ + /* Indicates that the face uses the `sfnt' storage scheme. For */ + /* now, this means TrueType and OpenType. */ /* */ - /* FT_FACE_FLAG_HORIZONTAL :: */ - /* indicates that the face contains horizontal glyph metrics. */ - /* This should be set for all common formats */ + /* FT_FACE_FLAG_HORIZONTAL :: */ + /* Indicates that the face contains horizontal glyph metrics. This */ + /* should be set for all common formats. */ /* */ - /* FT_FACE_FLAG_VERTICAL :: */ - /* indicates that the face contains vertical glyph metrics. This */ - /* is only available in some formats, not all of them */ + /* FT_FACE_FLAG_VERTICAL :: */ + /* Indicates that the face contains vertical glyph metrics. This */ + /* is only available in some formats, not all of them. */ /* */ - /* FT_FACE_FLAG_KERNING :: */ - /* indicates that the face contains kerning information. When set, */ - /* the kerning idstance can be retrieved through the function */ - /* FT_Get_Kerning. Note that if unset, this function will always */ - /* return the vector (0,0) */ + /* FT_FACE_FLAG_KERNING :: */ + /* Indicates that the face contains kerning information. If set, */ + /* the kerning distance can be retrieved through the function */ + /* @FT_Get_Kerning. Note that if unset, this function will always */ + /* return the vector (0,0). */ /* */ - /* FT_FACE_FLAG_FAST_GLYPHS :: */ - /* THIS FLAG IS DEPRECATED. DO NOT USE OR TEST IT */ + /* FT_FACE_FLAG_FAST_GLYPHS :: */ + /* THIS FLAG IS DEPRECATED. DO NOT USE OR TEST IT. */ /* */ - /* FT_FACE_FLAG_MULTIPLE_MASTERS :: */ - /* indicates that the font contains multiple masters and is capable */ - /* of interpolating between them. See the multiple-masters specific */ - /* API for details */ + /* FT_FACE_FLAG_MULTIPLE_MASTERS :: */ + /* Indicates that the font contains multiple masters and is capable */ + /* of interpolating between them. See the multiple-masters */ + /* specific API for details. */ /* */ - /* FT_FACE_FLAG_GLYPH_NAMES :: */ - /* indicates that the font contains glyph names that can be */ - /* retrieved through @FT_Get_Glyph_Names. Note that some TrueType */ - /* fonts contain broken glyph name tables. Use the function */ - /* use @FT_Has_PS_Glyph_Name when needed. */ + /* FT_FACE_FLAG_GLYPH_NAMES :: */ + /* Indicates that the font contains glyph names that can be */ + /* retrieved through @FT_Get_Glyph_Names. Note that some TrueType */ + /* fonts contain broken glyph name tables. Use the function */ + /* @FT_Has_PS_Glyph_Name when needed. */ /* */ - /* FT_FACE_FLAG_EXTERNAL_STREAM :: */ - /* used internally by FreeType to indicate that a face's stream */ - /* was provided by the client application and should not be */ - /* destroyed when @FT_Done_Face is called. Don't read or test */ - /* this flag. */ + /* FT_FACE_FLAG_EXTERNAL_STREAM :: */ + /* Used internally by FreeType to indicate that a face's stream was */ + /* provided by the client application and should not be destroyed */ + /* when @FT_Done_Face is called. Don't read or test this flag. */ /* */ -#define FT_FACE_FLAG_SCALABLE (1L << 0) -#define FT_FACE_FLAG_FIXED_SIZES (1L << 1) -#define FT_FACE_FLAG_FIXED_WIDTH (1L << 2) -#define FT_FACE_FLAG_SFNT (1L << 3) -#define FT_FACE_FLAG_HORIZONTAL (1L << 4) -#define FT_FACE_FLAG_VERTICAL (1L << 5) -#define FT_FACE_FLAG_KERNING (1L << 6) -#define FT_FACE_FLAG_FAST_GLYPHS (1L << 7) -#define FT_FACE_FLAG_MULTIPLE_MASTERS (1L << 8) -#define FT_FACE_FLAG_GLYPH_NAMES (1L << 9) -#define FT_FACE_FLAG_EXTERNAL_STREAM (1L << 10) +#define FT_FACE_FLAG_SCALABLE ( 1L << 0 ) +#define FT_FACE_FLAG_FIXED_SIZES ( 1L << 1 ) +#define FT_FACE_FLAG_FIXED_WIDTH ( 1L << 2 ) +#define FT_FACE_FLAG_SFNT ( 1L << 3 ) +#define FT_FACE_FLAG_HORIZONTAL ( 1L << 4 ) +#define FT_FACE_FLAG_VERTICAL ( 1L << 5 ) +#define FT_FACE_FLAG_KERNING ( 1L << 6 ) +#define FT_FACE_FLAG_FAST_GLYPHS ( 1L << 7 ) +#define FT_FACE_FLAG_MULTIPLE_MASTERS ( 1L << 8 ) +#define FT_FACE_FLAG_GLYPH_NAMES ( 1L << 9 ) +#define FT_FACE_FLAG_EXTERNAL_STREAM ( 1L << 10 ) /* */ @@ -1075,8 +1074,6 @@ FT_BEGIN_HEADER ( face->face_flags & FT_FACE_FLAG_MULTIPLE_MASTERS ) - - /*************************************************************************/ /* */ /* */ @@ -1084,17 +1081,17 @@ FT_BEGIN_HEADER /* */ /* */ /* A list of bit-flags used to indicate the style of a given face. */ - /* These are used in the 'style_flags' field of @FT_FaceRec */ + /* These are used in the `style_flags' field of @FT_FaceRec. */ /* */ /* */ - /* FT_STYLE_FLAG_ITALIC :: */ - /* indicates that a given face is italicized */ + /* FT_STYLE_FLAG_ITALIC :: */ + /* Indicates that a given face is italicized. */ /* */ - /* FT_STYLE_FLAG_BOLD :: */ - /* indicates that a given face is bold */ + /* FT_STYLE_FLAG_BOLD :: */ + /* Indicates that a given face is bold. */ /* */ -#define FT_STYLE_FLAG_ITALIC (1 << 0) -#define FT_STYLE_FLAG_BOLD (1 << 1) +#define FT_STYLE_FLAG_ITALIC ( 1 << 0 ) +#define FT_STYLE_FLAG_BOLD ( 1 << 1 ) /*************************************************************************/ @@ -1524,6 +1521,7 @@ FT_BEGIN_HEADER #define FT_OPEN_DRIVER FT_OPEN_DRIVER #define FT_OPEN_PARAMS FT_OPEN_PARAMS + /*************************************************************************/ /* */ /* */ @@ -2235,13 +2233,15 @@ FT_BEGIN_HEADER #define FT_LOAD_NO_AUTOHINT 0x8000U /* */ -#define FT_LOAD_TARGET_(x) ( (FT_Int32)((x) & 7) << 16 ) -#define FT_LOAD_TARGET_MODE(x) ((FT_Render_Mode)( ((x) >> 16) & 7 )) -#define FT_LOAD_TARGET_NORMAL FT_LOAD_TARGET_(FT_RENDER_MODE_NORMAL) -#define FT_LOAD_TARGET_MONO FT_LOAD_TARGET_(FT_RENDER_MODE_MONO) -#define FT_LOAD_TARGET_LCD FT_LOAD_TARGET_(FT_RENDER_MODE_LCD) -#define FT_LOAD_TARGET_LCD_V FT_LOAD_TARGET_(FT_RENDER_MODE_LCD_V) +#define FT_LOAD_TARGET_( x ) ( (FT_Int32)( (x) & 7 ) << 16 ) +#define FT_LOAD_TARGET_MODE( x ) ( (FT_Render_Mode)( ( (x) >> 16 ) & 7 ) ) + +#define FT_LOAD_TARGET_NORMAL FT_LOAD_TARGET_( FT_RENDER_MODE_NORMAL ) +#define FT_LOAD_TARGET_MONO FT_LOAD_TARGET_( FT_RENDER_MODE_MONO ) +#define FT_LOAD_TARGET_LCD FT_LOAD_TARGET_( FT_RENDER_MODE_LCD ) +#define FT_LOAD_TARGET_LCD_V FT_LOAD_TARGET_( FT_RENDER_MODE_LCD_V ) + /*************************************************************************/ /* */ @@ -2295,34 +2295,34 @@ FT_BEGIN_HEADER /* */ /* */ /* An enumeration type that lists the render modes supported by */ - /* FreeType 2. Each mode corresponds to a specific type of scanline */ + /* FreeType 2. Each mode corresponds to a specific type of scanline */ /* conversion performed on the outline, as well as specific */ /* hinting optimizations. */ /* */ /* */ - /* FT_RENDER_MODE_NORMAL :: */ - /* this is the default render mode; it corresponds to 8-bit */ - /* anti-aliased bitmaps, using 256 levels of opacity */ + /* FT_RENDER_MODE_NORMAL :: */ + /* This is the default render mode; it corresponds to 8-bit */ + /* anti-aliased bitmaps, using 256 levels of opacity. */ /* */ - /* FT_RENDER_MODE_MONO :: */ - /* this mode corresponds to 1-bit bitmaps */ + /* FT_RENDER_MODE_MONO :: */ + /* This mode corresponds to 1-bit bitmaps. */ /* */ - /* FT_RENDER_MODE_LCD :: */ - /* this mode corresponds to horizontal RGB/BGR sub-pixel displays, */ - /* like LCD-screens. It produces 8-bit bitmaps that are 3 times the */ - /* width of the original glyph outline in pixels, and which use the */ - /* @FT_PIXEL_MODE_LCD mode */ + /* FT_RENDER_MODE_LCD :: */ + /* This mode corresponds to horizontal RGB/BGR sub-pixel displays, */ + /* like LCD-screens. It produces 8-bit bitmaps that are 3 times */ + /* the width of the original glyph outline in pixels, and which use */ + /* the @FT_PIXEL_MODE_LCD mode. */ /* */ - /* FT_RENDER_MODE_LCD_V :: */ - /* this mode corresponds to vertical RGB/BGR sub-pixel displays */ - /* (like PDA screens, rotated LCD displays, etc..). It produces */ - /* 8-bit bitmaps that are 3 times the height of the original */ - /* glyph outline in pixels and use the @FT_PIXEL_MODE_LCD_V mode */ + /* FT_RENDER_MODE_LCD_V :: */ + /* This mode corresponds to vertical RGB/BGR sub-pixel displays */ + /* (like PDA screens, rotated LCD displays, etc.). It produces */ + /* 8-bit bitmaps that are 3 times the height of the original */ + /* glyph outline in pixels and use the @FT_PIXEL_MODE_LCD_V mode. */ /* */ /* */ /* The LCD-optimized glyph bitmaps produced by FT_Render_Glyph are */ - /* _not_ _filtered_ to reduce color-fringes. It's up to the caller to */ - /* perform this pass */ + /* _not filtered_ to reduce color-fringes. It is up to the caller to */ + /* perform this pass. */ /* */ typedef enum FT_Render_Mode_ { @@ -2342,15 +2342,15 @@ FT_BEGIN_HEADER /* ft_render_mode_xxx */ /* */ /* */ - /* these constats are deprecated. Use the corresponding */ - /* @FT_Render_Mode values instead */ + /* These constats are deprecated. Use the corresponding */ + /* @FT_Render_Mode values instead. */ /* */ /* */ /* ft_render_mode_normal :: see @FT_RENDER_MODE_NORMAL */ /* ft_render_mode_mono :: see @FT_RENDER_MODE_MONO */ /* */ -#define ft_render_mode_normal FT_RENDER_MODE_NORMAL -#define ft_render_mode_mono FT_RENDER_MODE_MONO +#define ft_render_mode_normal FT_RENDER_MODE_NORMAL +#define ft_render_mode_mono FT_RENDER_MODE_MONO /*************************************************************************/ @@ -2407,16 +2407,18 @@ FT_BEGIN_HEADER } FT_Kerning_Mode; + /*************************************************************************/ /* */ /* */ /* ft_kerning_default */ /* */ /* */ - /* this constant is deprecated. Please use @FT_KERNING_DEFAULT */ + /* This constant is deprecated. Please use @FT_KERNING_DEFAULT */ /* instead. */ /* */ -#define ft_kerning_default FT_KERNING_DEFAULT +#define ft_kerning_default FT_KERNING_DEFAULT + /*************************************************************************/ /* */ @@ -2424,10 +2426,11 @@ FT_BEGIN_HEADER /* ft_kerning_unfitted */ /* */ /* */ - /* this constant is deprecated. Please use @FT_KERNING_UNFITTED */ + /* This constant is deprecated. Please use @FT_KERNING_UNFITTED */ /* instead. */ /* */ -#define ft_kerning_unfitted FT_KERNING_UNFITTED +#define ft_kerning_unfitted FT_KERNING_UNFITTED + /*************************************************************************/ /* */ @@ -2435,10 +2438,10 @@ FT_BEGIN_HEADER /* ft_kerning_unscaled */ /* */ /* */ - /* this constant is deprecated. Please use @FT_KERNING_UNSCALED */ + /* This constant is deprecated. Please use @FT_KERNING_UNSCALED */ /* instead. */ /* */ -#define ft_kerning_unscaled FT_KERNING_UNSCALED +#define ft_kerning_unscaled FT_KERNING_UNSCALED /*************************************************************************/ diff --git a/include/freetype/ftimage.h b/include/freetype/ftimage.h index 635b4991f..099fcd35d 100644 --- a/include/freetype/ftimage.h +++ b/include/freetype/ftimage.h @@ -115,39 +115,38 @@ FT_BEGIN_HEADER /* future. */ /* */ /* */ - /* FT_PIXEL_MODE_MONO :: */ - /* A monochrome bitmap, using 1 bit per pixel. Note that pixels */ - /* are stored in most-significant order (MSB), which means that */ - /* the left-most pixel in a byte has value 128 */ + /* FT_PIXEL_MODE_MONO :: */ + /* A monochrome bitmap, using 1 bit per pixel. Note that pixels */ + /* are stored in most-significant order (MSB), which means that */ + /* the left-most pixel in a byte has value 128. */ /* */ - /* FT_PIXEL_MODE_GRAY :: */ - /* An 8-bit bitmap, generally used to represent anti-aliased glyph */ - /* images. Each pixel is stored in one byte. Note that the number */ - /* of value "gray" levels is stored in the 'num_bytes' field of */ - /* the @FT_Bitmap structure (it generally is 256) */ + /* FT_PIXEL_MODE_GRAY :: */ + /* An 8-bit bitmap, generally used to represent anti-aliased glyph */ + /* images. Each pixel is stored in one byte. Note that the number */ + /* of value "gray" levels is stored in the `num_bytes' field of */ + /* the @FT_Bitmap structure (it generally is 256). */ /* */ /* FT_PIXEL_MODE_GRAY2 :: */ /* A 2-bit/pixel bitmap, used to represent embedded anti-aliased */ /* bitmaps in font files according to the OpenType specification. */ - /* We haven't found a single font using this format however */ + /* We haven't found a single font using this format, however. */ /* */ /* FT_PIXEL_MODE_GRAY4 :: */ /* A 4-bit/pixel bitmap, used to represent embedded anti-aliased */ /* bitmaps in font files according to the OpenType specification. */ - /* We haven't found a single font using this format however */ + /* We haven't found a single font using this format, however. */ /* */ - /* */ - /* FT_PIXEL_MODE_LCD :: */ + /* FT_PIXEL_MODE_LCD :: */ /* An 8-bit bitmap, used to represent RGB or BGR decimated glyph */ /* images used for display on LCD displays; the bitmap's width is */ - /* three times wider than the original glyph image. See also */ - /* @FT_RENDER_MODE_LCD */ + /* three times wider than the original glyph image. See also */ + /* @FT_RENDER_MODE_LCD. */ /* */ /* FT_PIXEL_MODE_LCD_V :: */ /* An 8-bit bitmap, used to represent RGB or BGR decimated glyph */ /* images used for display on rotated LCD displays; the bitmap's */ /* height is three times taller than the original glyph image. */ - /* See also @FT_RENDER_MODE_LCD_V */ + /* See also @FT_RENDER_MODE_LCD_V. */ /* */ typedef enum FT_Pixel_Mode_ { @@ -170,31 +169,33 @@ FT_BEGIN_HEADER /* ft_pixel_mode_xxx */ /* */ /* */ - /* a list of deprecated constants. Use the corresponding */ - /* @FT_Pixel_Mode values instead */ + /* A list of deprecated constants. Use the corresponding */ + /* @FT_Pixel_Mode values instead. */ /* */ /* */ - /* ft_pixel_mode_none :: see @FT_PIXEL_MODE_NONE */ - /* ft_pixel_mode_mono :: see @FT_PIXEL_MODE_MONO */ - /* ft_pixel_mode_grays :: see @FT_PIXEL_MODE_GRAY */ - /* ft_pixel_mode_pal2 :: see @FT_PIXEL_MODE_GRAY2 */ - /* ft_pixel_mode_pal4 :: see @FT_PIXEL_MODE_GRAY4 */ + /* ft_pixel_mode_none :: see @FT_PIXEL_MODE_NONE */ + /* ft_pixel_mode_mono :: see @FT_PIXEL_MODE_MONO */ + /* ft_pixel_mode_grays :: see @FT_PIXEL_MODE_GRAY */ + /* ft_pixel_mode_pal2 :: see @FT_PIXEL_MODE_GRAY2 */ + /* ft_pixel_mode_pal4 :: see @FT_PIXEL_MODE_GRAY4 */ /* */ -#define ft_pixel_mode_none FT_PIXEL_MODE_NONE -#define ft_pixel_mode_mono FT_PIXEL_MODE_MONO -#define ft_pixel_mode_grays FT_PIXEL_MODE_GRAY -#define ft_pixel_mode_pal2 FT_PIXEL_MODE_GRAY2 -#define ft_pixel_mode_pal4 FT_PIXEL_MODE_GRAY4 +#define ft_pixel_mode_none FT_PIXEL_MODE_NONE +#define ft_pixel_mode_mono FT_PIXEL_MODE_MONO +#define ft_pixel_mode_grays FT_PIXEL_MODE_GRAY +#define ft_pixel_mode_pal2 FT_PIXEL_MODE_GRAY2 +#define ft_pixel_mode_pal4 FT_PIXEL_MODE_GRAY4 /* */ + #if 0 + /*************************************************************************/ /* */ /* */ /* FT_Palette_Mode */ /* */ /* */ - /* THIS TYPE IS DEPRECATED. DO NOT USE IT !! */ + /* THIS TYPE IS DEPRECATED. DO NOT USE IT! */ /* */ /* An enumeration type used to describe the format of a bitmap */ /* palette, used with ft_pixel_mode_pal4 and ft_pixel_mode_pal8. */ @@ -220,8 +221,10 @@ FT_BEGIN_HEADER } FT_Palette_Mode; /* */ + #endif + /*************************************************************************/ /* */ /* */ @@ -249,7 +252,7 @@ FT_BEGIN_HEADER /* most cases. */ /* */ /* num_grays :: This field is only used with */ - /* `FT_PIXEL_MODE_GRAY'; it gives the number of gray */ + /* `FT_PIXEL_MODE_GRAY'; it gives the number of gray */ /* levels used in the bitmap. */ /* */ /* pixel_mode :: The pixel_mode, i.e., how pixel bits are stored. */ @@ -415,16 +418,18 @@ FT_BEGIN_HEADER } FT_Outline_Flags; + /*************************************************************************/ /* */ /* */ /* FT_OUTLINE_NONE */ /* */ /* */ - /* this constant is deprecated. Please use @FT_OUTLINE_NONE */ + /* This constant is deprecated. Please use @FT_OUTLINE_NONE */ /* instead. */ /* */ -#define zft_outline_none FT_OUTLINE_NONE +#define zft_outline_none FT_OUTLINE_NONE + /*************************************************************************/ /* */ @@ -432,10 +437,11 @@ FT_BEGIN_HEADER /* FT_OUTLINE_OWNER */ /* */ /* */ - /* this constant is deprecated. Please use @FT_OUTLINE_OWNER */ + /* This constant is deprecated. Please use @FT_OUTLINE_OWNER */ /* instead. */ /* */ -#define zft_outline_owner FT_OUTLINE_OWNER +#define zft_outline_owner FT_OUTLINE_OWNER + /*************************************************************************/ /* */ @@ -443,10 +449,11 @@ FT_BEGIN_HEADER /* ft_outline_even_odd_fill */ /* */ /* */ - /* this constant is deprecated. Please use @FT_OUTLINE_EVEN_ODD_FILL */ + /* This constant is deprecated. Please use @FT_OUTLINE_EVEN_ODD_FILL */ /* instead. */ /* */ -#define zft_outline_even_off_fill FT_OUTLINE_EVEN_ODD_FILL +#define zft_outline_even_off_fill FT_OUTLINE_EVEN_ODD_FILL + /*************************************************************************/ /* */ @@ -454,10 +461,11 @@ FT_BEGIN_HEADER /* FT_OUTLINE_REVERSE_FILL */ /* */ /* */ - /* this constant is deprecated. Please use @FT_OUTLINE_REVERSE_FILL */ + /* This constant is deprecated. Please use @FT_OUTLINE_REVERSE_FILL */ /* instead. */ /* */ -#define zft_outline_reverse_fill FT_OUTLINE_REVERSE_FILL +#define zft_outline_reverse_fill FT_OUTLINE_REVERSE_FILL + /*************************************************************************/ /* */ @@ -465,10 +473,11 @@ FT_BEGIN_HEADER /* FT_OUTLINE_IGNORE_DROPOUTS */ /* */ /* */ - /* this constant is deprecated. Please use @FT_OUTLINE_IGNORE_DROPOUTS */ - /* instead. */ + /* This constant is deprecated. Please use */ + /* @FT_OUTLINE_IGNORE_DROPOUTS instead. */ /* */ -#define zft_outline_ignore_dropouts FT_OUTLINE_IGNORE_DROPOUTS +#define zft_outline_ignore_dropouts FT_OUTLINE_IGNORE_DROPOUTS + /*************************************************************************/ /* */ @@ -476,10 +485,11 @@ FT_BEGIN_HEADER /* FT_OUTLINE_HIGH_PRECISION */ /* */ /* */ - /* this constant is deprecated. Please use @FT_OUTLINE_HIGH_PRECISION */ - /* instead. */ + /* This constant is deprecated. Please use */ + /* @FT_OUTLINE_HIGH_PRECISION instead. */ /* */ -#define zft_outline_high_precision FT_OUTLINE_HIGH_PRECISION +#define zft_outline_high_precision FT_OUTLINE_HIGH_PRECISION + /*************************************************************************/ /* */ @@ -487,10 +497,10 @@ FT_BEGIN_HEADER /* FT_OUTLINE_SINGLE_PASS */ /* */ /* */ - /* this constant is deprecated. Please use @FT_OUTLINE_SINGLE_PASS */ - /* instead. */ + /* This constant is deprecated. Please use @FT_OUTLINE_SINGLE_PASS */ + /* instead. */ /* */ -#define zft_outline_single_pass FT_OUTLINE_SINGLE_PASS +#define zft_outline_single_pass FT_OUTLINE_SINGLE_PASS /* */ @@ -724,28 +734,28 @@ FT_BEGIN_HEADER /* */ /* */ /* FT_GLYPH_FORMAT_NONE :: */ - /* the value 0 is reserved and does describe a glyph format */ + /* The value 0 is reserved and does describe a glyph format. */ /* */ /* FT_GLYPH_FORMAT_COMPOSITE :: */ - /* the glyph image is a composite of several other images. This */ + /* The glyph image is a composite of several other images. This */ /* format is _only_ used with @FT_LOAD_FLAG_NO_RECURSE, and is */ - /* used to report compound glyphs (like accented characters) */ + /* used to report compound glyphs (like accented characters). */ /* */ - /* FT_GLYPH_FORMAT_BITMAP :: */ - /* the glyph image is a bitmap, and can be described as a */ - /* @FT_Bitmap. You'll generally need to access the 'bitmap' field */ - /* of the @FT_GlyphSlotRec structure to read it. */ + /* FT_GLYPH_FORMAT_BITMAP :: */ + /* The glyph image is a bitmap, and can be described as an */ + /* @FT_Bitmap. You generally need to access the `bitmap' field of */ + /* the @FT_GlyphSlotRec structure to read it. */ /* */ - /* FT_GLYPH_FORMAT_OUTLINE :: The glyph image is a vectorial image */ - /* the glyph image is a vertorial outline made of line segments */ - /* and bezier arcs; it can be described as a @FT_Outline and you'll */ - /* generally want to access the 'outline' field of the */ + /* FT_GLYPH_FORMAT_OUTLINE :: */ + /* The glyph image is a vertorial outline made of line segments */ + /* and Bezier arcs; it can be described as an @FT_Outline; you */ + /* generally want to access the `outline' field of the */ /* @FT_GlyphSlotRec structure to read it. */ /* */ - /* FT_GLYPH_FORMAT_PLOTTER :: */ - /* the glyph image is a vectorial path with no inside/outside */ - /* contours. Some Type 1 fonts, like those in the Hershy family, */ - /* contain glyphs in this format. These are described as */ + /* FT_GLYPH_FORMAT_PLOTTER :: */ + /* The glyph image is a vectorial path with no inside/outside */ + /* contours. Some Type 1 fonts, like those in the Hershey family, */ + /* contain glyphs in this format. These are described as */ /* @FT_Outline, but FreeType isn't currently capable of rendering */ /* them correctly. */ /* */ @@ -760,13 +770,14 @@ FT_BEGIN_HEADER } FT_Glyph_Format; + /*************************************************************************/ /* */ /* */ /* ft_glyph_format_xxx */ /* */ /* */ - /* A list of decprecated constants. Use the corresponding */ + /* A list of decprecated constants. Use the corresponding */ /* @FT_Glyph_Format values instead. */ /* */ /* */ @@ -776,11 +787,12 @@ FT_BEGIN_HEADER /* ft_glyph_format_outline :: see @FT_GLYPH_FORMAT_OUTLINE */ /* ft_glyph_format_plotter :: see @FT_GLYPH_FORMAT_PLOTTER */ /* */ -#define ft_glyph_format_none FT_GLYPH_FORMAT_NONE -#define ft_glyph_format_composite FT_GLYPH_FORMAT_COMPOSITE -#define ft_glyph_format_bitmap FT_GLYPH_FORMAT_BITMAP -#define ft_glyph_format_outline FT_GLYPH_FORMAT_OUTLINE -#define ft_glyph_format_plotter FT_GLYPH_FORMAT_PLOTTER +#define ft_glyph_format_none FT_GLYPH_FORMAT_NONE +#define ft_glyph_format_composite FT_GLYPH_FORMAT_COMPOSITE +#define ft_glyph_format_bitmap FT_GLYPH_FORMAT_BITMAP +#define ft_glyph_format_outline FT_GLYPH_FORMAT_OUTLINE +#define ft_glyph_format_plotter FT_GLYPH_FORMAT_PLOTTER + /*************************************************************************/ /*************************************************************************/ @@ -854,7 +866,7 @@ FT_BEGIN_HEADER /* */ /* */ /* This structure is used by the span drawing callback type named */ - /* FT_SpanFunc which takes the y-coordinate of the span as */ + /* FT_SpanFunc which takes the y-coordinate of the span as a */ /* a parameter. */ /* */ /* The coverage value is always between 0 and 255, even if the number */ @@ -911,7 +923,8 @@ FT_BEGIN_HEADER FT_Span* spans, void* user ); -#define FT_Raster_Span_Func FT_SpanFunc +#define FT_Raster_Span_Func FT_SpanFunc + /*************************************************************************/ /* */ @@ -919,7 +932,7 @@ FT_BEGIN_HEADER /* FT_Raster_BitTest_Func */ /* */ /* */ - /* THIS TYPE IS DEPRECATED. DO NOT USE IT */ + /* THIS TYPE IS DEPRECATED. DO NOT USE IT. */ /* */ /* A function used as a call-back by the monochrome scan-converter */ /* to test whether a given target pixel is already set to the drawing */ @@ -948,7 +961,7 @@ FT_BEGIN_HEADER /* FT_Raster_BitSet_Func */ /* */ /* */ - /* THIS TYPE IS DEPRECATED. DO NOT USE IT */ + /* THIS TYPE IS DEPRECATED. DO NOT USE IT. */ /* */ /* A function used as a call-back by the monochrome scan-converter */ /* to set an individual target pixel. This is crucial to implement */ @@ -969,6 +982,7 @@ FT_BEGIN_HEADER int x, void* user ); + /*************************************************************************/ /* */ /* */ @@ -1018,10 +1032,10 @@ FT_BEGIN_HEADER } FT_Raster_Flag; -#define ft_raster_flag_default FT_RASTER_FLAG_DEFAULT -#define ft_raster_flag_aa FT_RASTER_FLAG_AA -#define ft_raster_flag_direct FT_RASTER_FLAG_DIRECT -#define ft_raster_flag_clip FT_RASTER_FLAG_CLIP +#define ft_raster_flag_default FT_RASTER_FLAG_DEFAULT +#define ft_raster_flag_aa FT_RASTER_FLAG_AA +#define ft_raster_flag_direct FT_RASTER_FLAG_DIRECT +#define ft_raster_flag_clip FT_RASTER_FLAG_CLIP /*************************************************************************/ @@ -1045,9 +1059,9 @@ FT_BEGIN_HEADER /* */ /* black_spans :: The black span drawing callback. */ /* */ - /* bit_test :: The bit test callback. UNIMPLEMENTED !! */ + /* bit_test :: The bit test callback. UNIMPLEMENTED! */ /* */ - /* bit_set :: The bit set callback. UNIMPLEMENTED !! */ + /* bit_set :: The bit set callback. UNIMPLEMENTED! */ /* */ /* user :: User-supplied data that is passed to each drawing */ /* callback. */ @@ -1081,8 +1095,8 @@ FT_BEGIN_HEADER int flags; FT_SpanFunc gray_spans; FT_SpanFunc black_spans; - FT_Raster_BitTest_Func bit_test; /* doesn't work !! */ - FT_Raster_BitSet_Func bit_set; /* doesn't work !! */ + FT_Raster_BitTest_Func bit_test; /* doesn't work! */ + FT_Raster_BitSet_Func bit_set; /* doesn't work! */ void* user; FT_BBox clip_box; diff --git a/include/freetype/ftrender.h b/include/freetype/ftrender.h index f1be80844..bb6487be0 100644 --- a/include/freetype/ftrender.h +++ b/include/freetype/ftrender.h @@ -63,12 +63,13 @@ FT_BEGIN_HEADER FT_GlyphSlot slot ); /* deprecated */ -#define FT_Glyph_Init_Func FT_Glyph_InitFunc -#define FT_Glyph_Done_Func FT_Glyph_DoneFunc -#define FT_Glyph_Transform_Func FT_Glyph_TransformFunc -#define FT_Glyph_BBox_Func FT_Glyph_GetBBoxFunc -#define FT_Glyph_Copy_Func FT_Glyph_CopyFunc -#define FT_Glyph_Prepare_Func FT_Glyph_PrepareFunc +#define FT_Glyph_Init_Func FT_Glyph_InitFunc +#define FT_Glyph_Done_Func FT_Glyph_DoneFunc +#define FT_Glyph_Transform_Func FT_Glyph_TransformFunc +#define FT_Glyph_BBox_Func FT_Glyph_GetBBoxFunc +#define FT_Glyph_Copy_Func FT_Glyph_CopyFunc +#define FT_Glyph_Prepare_Func FT_Glyph_PrepareFunc + struct FT_Glyph_Class_ { @@ -108,11 +109,10 @@ FT_BEGIN_HEADER FT_Pointer mode_ptr ); /* deprecated identifiers */ -#define FTRenderer_render FT_Renderer_RenderFunc -#define FTRenderer_transform FT_Renderer_TransformFunc -#define FTRenderer_getCBox FT_Renderer_GetCBoxFunc -#define FTRenderer_setMode FT_Renderer_SetModeFunc - +#define FTRenderer_render FT_Renderer_RenderFunc +#define FTRenderer_transform FT_Renderer_TransformFunc +#define FTRenderer_getCBox FT_Renderer_GetCBoxFunc +#define FTRenderer_setMode FT_Renderer_SetModeFunc /*************************************************************************/ diff --git a/include/freetype/internal/ftobjs.h b/include/freetype/internal/ftobjs.h index c5f32385e..4ddd0e67a 100644 --- a/include/freetype/internal/ftobjs.h +++ b/include/freetype/internal/ftobjs.h @@ -556,14 +556,14 @@ FT_BEGIN_HEADER typedef struct FT_RendererRec_ { - FT_ModuleRec root; - FT_Renderer_Class* clazz; - FT_Glyph_Format glyph_format; - FT_Glyph_Class glyph_class; + FT_ModuleRec root; + FT_Renderer_Class* clazz; + FT_Glyph_Format glyph_format; + FT_Glyph_Class glyph_class; - FT_Raster raster; - FT_Raster_Render_Func raster_render; - FT_Renderer_RenderFunc render; + FT_Raster raster; + FT_Raster_Render_Func raster_render; + FT_Renderer_RenderFunc render; } FT_RendererRec; diff --git a/include/freetype/ttnameid.h b/include/freetype/ttnameid.h index 04c659626..99735eef9 100644 --- a/include/freetype/ttnameid.h +++ b/include/freetype/ttnameid.h @@ -4,7 +4,7 @@ /* */ /* TrueType name ID definitions (specification only). */ /* */ -/* Copyright 1996-2001 by */ +/* Copyright 1996-2002 by */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* */ /* This file is part of the FreeType project, and may only be used, */ @@ -31,48 +31,51 @@ FT_BEGIN_HEADER /* Possible values for the `platform' identifier code in the name */ /* records of the TTF `name' table. */ /* */ + /*************************************************************************/ + + + /*********************************************************************** + * + * @enum: + * TT_PLATFORM_XXX + * + * @description: + * A list of valid values for the `platform_id' identifier code in + * @FT_CharmapRec and @FT_SfntName structures. + * + * @values: + * TT_PLATFORM_APPLE_UNICODE :: + * Used by Apple to indicate a Unicode character map and/or name entry. + * See @TT_APPLE_ID_XXX for corresponding `encoding_id' values. Note + * that name entries in this format are coded as big-endian UCS-2 + * character codes _only_. + * + * TT_PLATFORM_MACINTOSH :: + * Used by Apple to indicate a MacOS-specific charmap and/or name entry. + * See @TT_MAC_ID_XXX for corresponding `encoding_id' values. Note that + * most TrueType fonts contain an Apple roman charmap to be usable on + * MacOS systems (even if they contain a Microsoft charmap as well). + * + * TT_PLATFORM_ISO :: + * This value was used to specify Unicode charmaps. It is however + * now deprecated. See @TT_ISO_ID_XXX for a list of corresponding + * `encoding_id' values. + * + * TT_PLATFORM_MICROSOFT :: + * Used by Microsoft to indicate Windows-specific charmaps. See + * @TT_MS_ID_XXX for a list of corresponding `encoding_id' values. + * Note that most fonts contain a Unicode charmap using + * (@TT_PLATFORM_MICROSOFT, @TT_MS_ID_UNICODE_CS). + * + * TT_PLATFORM_CUSTOM :: + * Used to indicate application-specific charmaps. + * + * TT_PLATFORM_ADOBE :: + * This value isn't part of any font format specification, but is used + * by FreeType to report Adobe-specific charmaps in an @FT_CharMapRec + * structure. See @TT_ADOBE_ID_XXX. + */ -/*********************************************************************** - * - * @enum: - * TT_PLATFORM_XXX - * - * @description: - * a list of valie values for the 'platform_d' identifier code in - * @FT_CharmapRec and @FT_SfntName structures - * - * @values: - * TT_PLATFORM_APPLE_UNICODE :: - * used by Apple to indicate a Unicode character map and/or name entry. - * see @TT_APPLE_ID_XXX for corresponding 'encoding_id' values. Note that - * name entries in this format are coded as big-endian UCS-2 character - * codes _only_ . - * - * TT_PLATFORM_MACINTOSH :: - * used by Apple to indicate a MacOS-specific charmap and/or name entry. - * see @TT_MAC_ID_XXX for corresponding 'encoding_id' values. Note that - * most TrueType fonts contain an Apple roman charmap to be usable on - * MacOS systems (even when they contain a Microsoft charmap as well) - * - * TT_PLATFORM_ISO :: - * this value was used to specify Unicode charmaps. It is however - * now deprecated. See @TT_ISO_ID_XXX for a list of - * corresponding 'encoding_id' values - * - * TT_PLATFORM_MICROSOFT :: - * used by Microsoft to indicate Windows-specific charmaps. See - * @TT_MS_ID_XXX for a list of corresponding 'encoding_id' values. - * note that most fonts contain a Unicode charmap using - * ( @@TT_PLATFORM_MICROSOFT, @TT_MS_ID_UNICODE_CS ) - * - * TT_PLATFORM_CUSTOM :: - * used to indicate application-specific charmaps. - * - * TT_PLATFORM_ADOBE :: - * this value isn't part of any font format specification, but is used - * by FreeType to report Adobe-specific charmaps in a @FT_CharMapRec - * structure. See @TT_ADOBE_ID_XXX - */ #define TT_PLATFORM_APPLE_UNICODE 0 #define TT_PLATFORM_MACINTOSH 1 #define TT_PLATFORM_ISO 2 /* deprecated */ @@ -81,22 +84,28 @@ FT_BEGIN_HEADER #define TT_PLATFORM_ADOBE 7 /* artificial */ -/*********************************************************************** - * - * @enum: - * TT_APPLE_ID_XXX - * - * @description: - * a list of valid values for the 'encoding_id' for - * @TT_PLATFORM_APPLE_UNICODE charmaps and name entries - * - * @values: - * TT_APPLE_ID_DEFAULT :: Unicode 1.0 - * TT_APPLE_ID_UNICODE_1_1 :: Unicode 1.1, specifies Hangul at U+34xx - * TT_APPLE_ID_ISO_10646 :: deprecated - * TT_APPLE_ID_UNICODE_2_0 :: Unicode 2.0 and beyond (UTF-16 BMP only) - * TT_APPLE_ID_UNICODE_32 :: UTF-32 (Adobe proposal for OpenType) - */ + /*********************************************************************** + * + * @enum: + * TT_APPLE_ID_XXX + * + * @description: + * A list of valid values for the `encoding_id' for + * @TT_PLATFORM_APPLE_UNICODE charmaps and name entries. + * + * @values: + * TT_APPLE_ID_DEFAULT :: + * Unicode version 1.0. + * TT_APPLE_ID_UNICODE_1_1 :: + * Unicode 1.1; specifies Hangul characters starting at U+34xx. + * TT_APPLE_ID_ISO_10646 :: + * Deprecated. + * TT_APPLE_ID_UNICODE_2_0 :: + * Unicode 2.0 and beyond (UTF-16 BMP only). + * TT_APPLE_ID_UNICODE_32 :: + * UTF-32 (Adobe proposal for OpenType). + */ + #define TT_APPLE_ID_DEFAULT 0 /* Unicode 1.0 */ #define TT_APPLE_ID_UNICODE_1_1 1 /* specify Hangul at U+34xx */ #define TT_APPLE_ID_ISO_10646 2 /* deprecated */ @@ -104,51 +113,52 @@ FT_BEGIN_HEADER #define TT_APPLE_ID_UNICODE_32 4 /* Adobe proposal */ -/*********************************************************************** - * - * @enum: - * TT_MAC_ID_XXX - * - * @description: - * a list of valid values for the 'encoding_id' for - * @TT_PLATFORM_MACINTOSH charmaps and name entries - * - * @values: - * TT_MAC_ID_ROMAN :: - * TT_MAC_ID_JAPANESE :: - * TT_MAC_ID_TRADITIONAL_CHINESE :: - * TT_MAC_ID_KOREAN :: - * TT_MAC_ID_ARABIC :: - * TT_MAC_ID_HEBREW :: - * TT_MAC_ID_GREEK :: - * TT_MAC_ID_RUSSIAN :: - * TT_MAC_ID_RSYMBOL :: - * TT_MAC_ID_DEVANAGARI :: - * TT_MAC_ID_GURMUKHI :: - * TT_MAC_ID_GUJARATI :: - * TT_MAC_ID_ORIYA :: - * TT_MAC_ID_BENGALI :: - * TT_MAC_ID_TAMIL :: - * TT_MAC_ID_TELUGU :: - * TT_MAC_ID_KANNADA :: - * TT_MAC_ID_MALAYALAM :: - * TT_MAC_ID_SINHALESE :: - * TT_MAC_ID_BURMESE :: - * TT_MAC_ID_KHMER :: - * TT_MAC_ID_THAI :: - * TT_MAC_ID_LAOTIAN :: - * TT_MAC_ID_GEORGIAN :: - * TT_MAC_ID_ARMENIAN :: - * TT_MAC_ID_MALDIVIAN :: - * TT_MAC_ID_SIMPLIFIED_CHINESE :: - * TT_MAC_ID_TIBETAN :: - * TT_MAC_ID_MONGOLIAN :: - * TT_MAC_ID_GEEZ :: - * TT_MAC_ID_SLAVIC :: - * TT_MAC_ID_VIETNAMESE :: - * TT_MAC_ID_SINDHI :: - * TT_MAC_ID_UNINTERP :: - */ + /*********************************************************************** + * + * @enum: + * TT_MAC_ID_XXX + * + * @description: + * A list of valid values for the `encoding_id' for + * @TT_PLATFORM_MACINTOSH charmaps and name entries. + * + * @values: + * TT_MAC_ID_ROMAN :: + * TT_MAC_ID_JAPANESE :: + * TT_MAC_ID_TRADITIONAL_CHINESE :: + * TT_MAC_ID_KOREAN :: + * TT_MAC_ID_ARABIC :: + * TT_MAC_ID_HEBREW :: + * TT_MAC_ID_GREEK :: + * TT_MAC_ID_RUSSIAN :: + * TT_MAC_ID_RSYMBOL :: + * TT_MAC_ID_DEVANAGARI :: + * TT_MAC_ID_GURMUKHI :: + * TT_MAC_ID_GUJARATI :: + * TT_MAC_ID_ORIYA :: + * TT_MAC_ID_BENGALI :: + * TT_MAC_ID_TAMIL :: + * TT_MAC_ID_TELUGU :: + * TT_MAC_ID_KANNADA :: + * TT_MAC_ID_MALAYALAM :: + * TT_MAC_ID_SINHALESE :: + * TT_MAC_ID_BURMESE :: + * TT_MAC_ID_KHMER :: + * TT_MAC_ID_THAI :: + * TT_MAC_ID_LAOTIAN :: + * TT_MAC_ID_GEORGIAN :: + * TT_MAC_ID_ARMENIAN :: + * TT_MAC_ID_MALDIVIAN :: + * TT_MAC_ID_SIMPLIFIED_CHINESE :: + * TT_MAC_ID_TIBETAN :: + * TT_MAC_ID_MONGOLIAN :: + * TT_MAC_ID_GEEZ :: + * TT_MAC_ID_SLAVIC :: + * TT_MAC_ID_VIETNAMESE :: + * TT_MAC_ID_SINDHI :: + * TT_MAC_ID_UNINTERP :: + */ + #define TT_MAC_ID_ROMAN 0 #define TT_MAC_ID_JAPANESE 1 #define TT_MAC_ID_TRADITIONAL_CHINESE 2 @@ -185,67 +195,72 @@ FT_BEGIN_HEADER #define TT_MAC_ID_UNINTERP 32 -/*********************************************************************** - * - * @enum: - * TT_ISO_ID_XXX - * - * @description: - * a list of valid values for the 'encoding_id' for - * @TT_PLATFORM_ISO charmaps and name entries - * - * their use is now deprecated - * - * @values: - * TT_ISO_ID_7BIT_ASCII :: ASCII - * TT_ISO_ID_10646 :: ISO/10646 - * TT_ISO_ID_8859_1 :: a.k.a. Latin-1 - */ + /*********************************************************************** + * + * @enum: + * TT_ISO_ID_XXX + * + * @description: + * A list of valid values for the `encoding_id' for + * @TT_PLATFORM_ISO charmaps and name entries. + * + * Their use is now deprecated. + * + * @values: + * TT_ISO_ID_7BIT_ASCII :: + * ASCII. + * TT_ISO_ID_10646 :: + * ISO/10646. + * TT_ISO_ID_8859_1 :: + * Also known as Latin-1. + */ + #define TT_ISO_ID_7BIT_ASCII 0 #define TT_ISO_ID_10646 1 #define TT_ISO_ID_8859_1 2 -/*********************************************************************** - * - * @enum: - * TT_MS_ID_XXX - * - * @description: - * a list of valid values for the 'encoding_id' for - * @TT_PLATFORM_MICROSOFT charmaps and name entries - * - * @values: - * TT_MS_ID_SYMBOLS_CS :: - * correspond to symbol encodings. see @FT_ENCODING_MS_SYMBOL - * - * TT_MS_ID_UNICODE_CS :: - * correspond to a Microsoft WGL4 charmap, matching Unicode. See - * @FT_ENCODING_UNICODE - * - * TT_MS_ID_SJIS :: - * corresponds to Microsoft S-JIS Japanese encoding. - * See @FT_ENCODING_MS_SJIS - * - * TT_MS_ID_GB2312 :: - * corresponds to Microsoft Simplified Chinese as used in China. See - * @FT_ENCODING_MS_GB2312 - * - * TT_MS_ID_BIG_5 :: - * corresponds to Microsoft Simplified Chinese as used in Taiwan and - * Hong Kong. See @FT_ENCODING_MS_BIG5 - * - * TT_MS_ID_WANSUNG :: - * corresponds to Microsoft Korean Wansung encoding. See - * @FT_ENCODING_MS_WANSUNG - * - * TT_MS_ID_JOHAB :: - * corresponds to Microsoft Johab encoding. See @FT_ENCODING_MS_JOHAB - * - * TT_MS_ID_UCS_4 :: - * corresponds to UCS-4 or UTF-32 charmaps. This is a recent Adobe proposal - * for OpenType. - */ + /*********************************************************************** + * + * @enum: + * TT_MS_ID_XXX + * + * @description: + * A list of valid values for the `encoding_id' for + * @TT_PLATFORM_MICROSOFT charmaps and name entries. + * + * @values: + * TT_MS_ID_SYMBOLS_CS :: + * Corresponds to symbol encodings. see @FT_ENCODING_MS_SYMBOL. + * + * TT_MS_ID_UNICODE_CS :: + * Corresponds to a Microsoft WGL4 charmap, matching Unicode. See + * @FT_ENCODING_UNICODE. + * + * TT_MS_ID_SJIS :: + * Corresponds to Microsoft SJIS Japanese encoding. + * See @FT_ENCODING_MS_SJIS. + * + * TT_MS_ID_GB2312 :: + * Corresponds to Microsoft Simplified Chinese as used in Mainland + * China. See @FT_ENCODING_MS_GB2312. + * + * TT_MS_ID_BIG_5 :: + * Corresponds to Microsoft Traditional Chinese as used in Taiwan and + * Hong Kong. See @FT_ENCODING_MS_BIG5. + * + * TT_MS_ID_WANSUNG :: + * Corresponds to Microsoft Korean Wansung encoding. See + * @FT_ENCODING_MS_WANSUNG. + * + * TT_MS_ID_JOHAB :: + * Corresponds to Microsoft Johab encoding. See @FT_ENCODING_MS_JOHAB. + * + * TT_MS_ID_UCS_4 :: + * Corresponds to UCS-4 or UTF-32 charmaps. This is a recent Adobe + * proposal for OpenType. + */ + #define TT_MS_ID_SYMBOL_CS 0 #define TT_MS_ID_UNICODE_CS 1 #define TT_MS_ID_SJIS 2 @@ -256,28 +271,24 @@ FT_BEGIN_HEADER #define TT_MS_ID_UCS_4 10 - /*************************************************************************/ - /* */ - /* possible values of the platform specific encoding identifier field in */ - /* the name records of the TTF `name' table if the `platform' identifier */ - /* code is TT_PLATFORM_ADOBE. */ - /* */ - /* These are artificial values defined ad-hoc by FreeType. */ - /* */ -/*********************************************************************** - * - * @enum: - * TT_ADOBE_ID_XXX - * - * @description: - * a list of valid values for the 'encoding_id' for - * @TT_PLATFORM_ADOBE charmaps. This is a FreeType-specific list !! - * - * @values: - * TT_ADOBE_ID_STANDARD :: Adobe standard encoding - * TT_ADOBE_ID_EXPERT :: Adobe expert encoding - * TT_ADOBE_ID_CUSTOM :: Adobe custom encoding - */ + /*********************************************************************** + * + * @enum: + * TT_ADOBE_ID_XXX + * + * @description: + * A list of valid values for the `encoding_id' for + * @TT_PLATFORM_ADOBE charmaps. This is a FreeType-specific extension! + * + * @values: + * TT_ADOBE_ID_STANDARD :: + * Adobe standard encoding. + * TT_ADOBE_ID_EXPERT :: + * Adobe expert encoding. + * TT_ADOBE_ID_CUSTOM :: + * Adobe custom encoding. + */ + #define TT_ADOBE_ID_STANDARD 0 #define TT_ADOBE_ID_EXPERT 1 #define TT_ADOBE_ID_CUSTOM 2 diff --git a/src/autohint/ahglobal.c b/src/autohint/ahglobal.c index f9c3a8da5..f2b679970 100644 --- a/src/autohint/ahglobal.c +++ b/src/autohint/ahglobal.c @@ -289,15 +289,15 @@ ah_hinter_compute_widths( AH_Hinter hinter ) { /* scan the array of segments in each direction */ - AH_Outline outline = hinter->glyph; - AH_Segment segments; - AH_Segment limit; - AH_Globals globals = &hinter->globals->design; - FT_Pos* widths; - FT_Int dimension; - FT_Int* p_num_widths; - FT_Error error = 0; - FT_Pos edge_distance_threshold = 32000; + AH_Outline outline = hinter->glyph; + AH_Segment segments; + AH_Segment limit; + AH_Globals globals = &hinter->globals->design; + FT_Pos* widths; + FT_Int dimension; + FT_Int* p_num_widths; + FT_Error error = 0; + FT_Pos edge_distance_threshold = 32000; globals->num_widths = 0; @@ -334,9 +334,9 @@ for ( dimension = 1; dimension >= 0; dimension-- ) { - AH_Segment seg = segments; - AH_Segment link; - FT_Int num_widths = 0; + AH_Segment seg = segments; + AH_Segment link; + FT_Int num_widths = 0; for ( ; seg < limit; seg++ ) diff --git a/src/autohint/ahglyph.c b/src/autohint/ahglyph.c index 46700d22b..052aef42b 100644 --- a/src/autohint/ahglyph.c +++ b/src/autohint/ahglyph.c @@ -32,12 +32,12 @@ #include void - ah_dump_edges( AH_Outline outline ) + ah_dump_edges( AH_Outline outline ) { - AH_Edge edges; - AH_Edge edge_limit; - AH_Segment segments; - FT_Int dimension; + AH_Edge edges; + AH_Edge edge_limit; + AH_Segment segments; + FT_Int dimension; edges = outline->horz_edges; @@ -84,12 +84,12 @@ /* A function used to dump the array of linked segments */ void - ah_dump_segments( AH_Outline outline ) + ah_dump_segments( AH_Outline outline ) { - AH_Segment segments; - AH_Segment segment_limit; - AH_Point points; - FT_Int dimension; + AH_Segment segments; + AH_Segment segment_limit; + AH_Point points; + FT_Int dimension; points = outline->points; @@ -98,7 +98,7 @@ for ( dimension = 1; dimension >= 0; dimension-- ) { - AH_Segment seg; + AH_Segment seg; printf ( "Table of %s segments:\n", @@ -298,11 +298,11 @@ /* ah_outline_new */ /* */ /* */ - /* Creates a new and empty AH_OutlineRec object. */ + /* Creates a new and empty AH_OutlineRec object. */ /* */ FT_LOCAL_DEF( FT_Error ) - ah_outline_new( FT_Memory memory, - AH_Outline * aoutline ) + ah_outline_new( FT_Memory memory, + AH_Outline* aoutline ) { FT_Error error; AH_Outline outline; @@ -324,10 +324,10 @@ /* ah_outline_done */ /* */ /* */ - /* Destroys a given AH_OutlineRec object. */ + /* Destroys a given AH_OutlineRec object. */ /* */ FT_LOCAL_DEF( void ) - ah_outline_done( AH_Outline outline ) + ah_outline_done( AH_Outline outline ) { FT_Memory memory = outline->memory; @@ -347,12 +347,12 @@ /* ah_outline_save */ /* */ /* */ - /* Saves the content of a given AH_OutlineRec object into a face's glyph */ - /* slot. */ + /* Saves the contents of a given AH_OutlineRec object into a face's */ + /* glyph slot. */ /* */ FT_LOCAL_DEF( void ) - ah_outline_save( AH_Outline outline, - AH_Loader gloader ) + ah_outline_save( AH_Outline outline, + AH_Loader gloader ) { AH_Point point = outline->points; AH_Point point_limit = point + outline->num_points; @@ -382,19 +382,19 @@ /* ah_outline_load */ /* */ /* */ - /* Loads an unscaled outline from a glyph slot into an AH_OutlineRec */ + /* Loads an unscaled outline from a glyph slot into an AH_OutlineRec */ /* object. */ /* */ FT_LOCAL_DEF( FT_Error ) - ah_outline_load( AH_Outline outline, - FT_Face face ) + ah_outline_load( AH_Outline outline, + FT_Face face ) { - FT_Memory memory = outline->memory; - FT_Error error = AH_Err_Ok; - FT_Outline* source = &face->glyph->outline; - FT_Int num_points = source->n_points; - FT_Int num_contours = source->n_contours; - AH_Point points; + FT_Memory memory = outline->memory; + FT_Error error = AH_Err_Ok; + FT_Outline* source = &face->glyph->outline; + FT_Int num_points = source->n_points; + FT_Int num_contours = source->n_contours; + AH_Point points; /* check arguments */ @@ -469,8 +469,8 @@ { /* do one thing at a time -- it is easier to understand, and */ /* the code is clearer */ - AH_Point point; - AH_Point point_limit = points + outline->num_points; + AH_Point point; + AH_Point point_limit = points + outline->num_points; /* compute coordinates */ @@ -512,10 +512,10 @@ /* compute `next' and `prev' */ { - FT_Int contour_index; - AH_Point prev; - AH_Point first; - AH_Point end; + FT_Int contour_index; + AH_Point prev; + AH_Point first; + AH_Point end; contour_index = 0; @@ -548,10 +548,10 @@ /* set-up the contours array */ { - AH_Point * contour = outline->contours; - AH_Point * contour_limit = contour + outline->num_contours; - short* end = source->contours; - short idx = 0; + AH_Point* contour = outline->contours; + AH_Point* contour_limit = contour + outline->num_contours; + short* end = source->contours; + short idx = 0; for ( ; contour < contour_limit; contour++, end++ ) @@ -622,11 +622,11 @@ FT_LOCAL_DEF( void ) - ah_setup_uv( AH_Outline outline, - AH_UV source ) + ah_setup_uv( AH_Outline outline, + AH_UV source ) { - AH_Point point = outline->points; - AH_Point point_limit = point + outline->num_points; + AH_Point point = outline->points; + AH_Point point_limit = point + outline->num_points; for ( ; point < point_limit; point++ ) @@ -677,10 +677,10 @@ /* compute all inflex points in a given glyph */ static void - ah_outline_compute_inflections( AH_Outline outline ) + ah_outline_compute_inflections( AH_Outline outline ) { - AH_Point * contour = outline->contours; - AH_Point * contour_limit = contour + outline->num_contours; + AH_Point* contour = outline->contours; + AH_Point* contour_limit = contour + outline->num_contours; /* load original coordinates in (u,v) */ @@ -792,7 +792,7 @@ FT_LOCAL_DEF( void ) - ah_outline_compute_segments( AH_Outline outline ) + ah_outline_compute_segments( AH_Outline outline ) { int dimension; AH_Segment segments; @@ -811,28 +811,28 @@ for ( dimension = 1; dimension >= 0; dimension-- ) { - AH_Point * contour = outline->contours; - AH_Point * contour_limit = contour + outline->num_contours; - AH_Segment segment = segments; - FT_Int num_segments = 0; + AH_Point* contour = outline->contours; + AH_Point* contour_limit = contour + outline->num_contours; + AH_Segment segment = segments; + FT_Int num_segments = 0; #ifdef AH_HINT_METRICS - AH_Point min_point = 0; - AH_Point max_point = 0; - FT_Pos min_coord = 32000; - FT_Pos max_coord = -32000; + AH_Point min_point = 0; + AH_Point max_point = 0; + FT_Pos min_coord = 32000; + FT_Pos max_coord = -32000; #endif /* do each contour separately */ for ( ; contour < contour_limit; contour++ ) { - AH_Point point = contour[0]; - AH_Point last = point->prev; - int on_edge = 0; - FT_Pos min_pos = +32000; /* minimum segment pos != min_coord */ - FT_Pos max_pos = -32000; /* maximum segment pos != max_coord */ - FT_Bool passed; + AH_Point point = contour[0]; + AH_Point last = point->prev; + int on_edge = 0; + FT_Pos min_pos = +32000; /* minimum segment pos != min_coord */ + FT_Pos max_pos = -32000; /* maximum segment pos != max_coord */ + FT_Bool passed; #ifdef AH_HINT_METRICS @@ -961,11 +961,11 @@ /* we do this by inserting fake segments when needed */ if ( dimension == 0 ) { - AH_Point point = outline->points; - AH_Point point_limit = point + outline->num_points; + AH_Point point = outline->points; + AH_Point point_limit = point + outline->num_points; - FT_Pos min_pos = 32000; - FT_Pos max_pos = -32000; + FT_Pos min_pos = 32000; + FT_Pos max_pos = -32000; min_point = 0; @@ -1034,11 +1034,11 @@ FT_LOCAL_DEF( void ) - ah_outline_link_segments( AH_Outline outline ) + ah_outline_link_segments( AH_Outline outline ) { - AH_Segment segments; - AH_Segment segment_limit; - int dimension; + AH_Segment segments; + AH_Segment segment_limit; + int dimension; ah_setup_uv( outline, AH_UV_FYX ); @@ -1048,14 +1048,16 @@ for ( dimension = 1; dimension >= 0; dimension-- ) { - AH_Segment seg1; - AH_Segment seg2; + AH_Segment seg1; + AH_Segment seg2; + /* now compare each segment to the others */ for ( seg1 = segments; seg1 < segment_limit; seg1++ ) { - FT_Pos best_score; - AH_Segment best_segment; + FT_Pos best_score; + AH_Segment best_segment; + /* the fake segments are introduced to hint the metrics -- */ /* we must never link them to anything */ @@ -1148,7 +1150,7 @@ static void - ah_outline_compute_edges( AH_Outline outline ) + ah_outline_compute_edges( AH_Outline outline ) { AH_Edge edges; AH_Segment segments; @@ -1169,9 +1171,9 @@ for ( dimension = 1; dimension >= 0; dimension-- ) { - AH_Edge edge; - AH_Edge edge_limit; /* really == edge + num_edges */ - AH_Segment seg; + AH_Edge edge; + AH_Edge edge_limit; /* really == edge + num_edges */ + AH_Segment seg; /*********************************************************************/ @@ -1198,7 +1200,7 @@ edge_limit = edges; for ( seg = segments; seg < segment_limit; seg++ ) { - AH_Edge found = 0; + AH_Edge found = 0; /* look for an edge corresponding to the segment */ @@ -1313,8 +1315,8 @@ if ( seg->link || is_serif ) { - AH_Edge edge2; - AH_Segment seg2; + AH_Edge edge2; + AH_Segment seg2; edge2 = edge->link; @@ -1398,10 +1400,10 @@ /* ah_outline_detect_features */ /* */ /* */ - /* Performs feature detection on a given AH_OutlineRec object. */ + /* Performs feature detection on a given AH_OutlineRec object. */ /* */ FT_LOCAL_DEF( void ) - ah_outline_detect_features( AH_Outline outline ) + ah_outline_detect_features( AH_Outline outline ) { ah_outline_compute_segments ( outline ); ah_outline_link_segments ( outline ); @@ -1420,15 +1422,15 @@ /* be snapped to a blue zone edge (top or bottom). */ /* */ FT_LOCAL_DEF( void ) - ah_outline_compute_blue_edges( AH_Outline outline, - AH_Face_Globals face_globals ) + ah_outline_compute_blue_edges( AH_Outline outline, + AH_Face_Globals face_globals ) { - AH_Edge edge = outline->horz_edges; - AH_Edge edge_limit = edge + outline->num_hedges; - AH_Globals globals = &face_globals->design; - FT_Fixed y_scale = outline->y_scale; + AH_Edge edge = outline->horz_edges; + AH_Edge edge_limit = edge + outline->num_hedges; + AH_Globals globals = &face_globals->design; + FT_Fixed y_scale = outline->y_scale; - FT_Bool blue_active[AH_BLUE_MAX]; + FT_Bool blue_active[AH_BLUE_MAX]; /* compute which blue zones are active, i.e. have their scaled */ @@ -1554,12 +1556,12 @@ /* edge' pointer from `design units' to `scaled ones'). */ /* */ FT_LOCAL_DEF( void ) - ah_outline_scale_blue_edges( AH_Outline outline, - AH_Face_Globals globals ) + ah_outline_scale_blue_edges( AH_Outline outline, + AH_Face_Globals globals ) { - AH_Edge edge = outline->horz_edges; - AH_Edge edge_limit = edge + outline->num_hedges; - FT_Int delta; + AH_Edge edge = outline->horz_edges; + AH_Edge edge_limit = edge + outline->num_hedges; + FT_Int delta; delta = globals->scaled.blue_refs - globals->design.blue_refs; diff --git a/src/autohint/ahglyph.h b/src/autohint/ahglyph.h index fc9941f6d..b116ed988 100644 --- a/src/autohint/ahglyph.h +++ b/src/autohint/ahglyph.h @@ -46,43 +46,43 @@ FT_BEGIN_HEADER FT_LOCAL( void ) - ah_setup_uv( AH_Outline outline, - AH_UV source ); + ah_setup_uv( AH_Outline outline, + AH_UV source ); /* AH_OutlineRec functions - they should be typically called in this order */ FT_LOCAL( FT_Error ) - ah_outline_new( FT_Memory memory, - AH_Outline * aoutline ); + ah_outline_new( FT_Memory memory, + AH_Outline* aoutline ); FT_LOCAL( FT_Error ) - ah_outline_load( AH_Outline outline, - FT_Face face ); + ah_outline_load( AH_Outline outline, + FT_Face face ); FT_LOCAL( void ) - ah_outline_compute_segments( AH_Outline outline ); + ah_outline_compute_segments( AH_Outline outline ); FT_LOCAL( void ) - ah_outline_link_segments( AH_Outline outline ); + ah_outline_link_segments( AH_Outline outline ); FT_LOCAL( void ) - ah_outline_detect_features( AH_Outline outline ); + ah_outline_detect_features( AH_Outline outline ); FT_LOCAL( void ) - ah_outline_compute_blue_edges( AH_Outline outline, - AH_Face_Globals globals ); + ah_outline_compute_blue_edges( AH_Outline outline, + AH_Face_Globals globals ); FT_LOCAL( void ) - ah_outline_scale_blue_edges( AH_Outline outline, - AH_Face_Globals globals ); + ah_outline_scale_blue_edges( AH_Outline outline, + AH_Face_Globals globals ); FT_LOCAL( void ) - ah_outline_save( AH_Outline outline, - AH_Loader loader ); + ah_outline_save( AH_Outline outline, + AH_Loader loader ); FT_LOCAL( void ) - ah_outline_done( AH_Outline outline ); + ah_outline_done( AH_Outline outline ); FT_END_HEADER diff --git a/src/autohint/ahhint.c b/src/autohint/ahhint.c index 33d65c6b0..7e967afc1 100644 --- a/src/autohint/ahhint.c +++ b/src/autohint/ahhint.c @@ -27,7 +27,7 @@ #include FT_OUTLINE_H -#define FACE_GLOBALS( face ) ((AH_Face_Globals )(face)->autohint.data) +#define FACE_GLOBALS( face ) ((AH_Face_Globals)(face)->autohint.data) #define AH_USE_IUP #define OPTIM_STEM_SNAP @@ -89,13 +89,13 @@ /* compute the snapped width of a given stem */ static FT_Pos - ah_compute_stem_width( AH_Hinter hinter, - int vertical, - FT_Pos width ) + ah_compute_stem_width( AH_Hinter hinter, + int vertical, + FT_Pos width ) { - AH_Globals globals = &hinter->globals->scaled; - FT_Pos dist = width; - FT_Int sign = 0; + AH_Globals globals = &hinter->globals->scaled; + FT_Pos dist = width; + FT_Int sign = 0; if ( dist < 0 ) @@ -202,9 +202,9 @@ /* align one stem edge relative to the previous stem edge */ static void ah_align_linked_edge( AH_Hinter hinter, - AH_Edge base_edge, - AH_Edge stem_edge, - int vertical ) + AH_Edge base_edge, + AH_Edge stem_edge, + int vertical ) { FT_Pos dist = stem_edge->opos - base_edge->opos; @@ -216,9 +216,9 @@ static void ah_align_serif_edge( AH_Hinter hinter, - AH_Edge base, - AH_Edge serif, - int vertical ) + AH_Edge base, + AH_Edge serif, + int vertical ) { FT_Pos dist; FT_Pos sign = 1; @@ -269,10 +269,10 @@ static void ah_hint_edges_3( AH_Hinter hinter ) { - AH_Edge edges; - AH_Edge edge_limit; - AH_Outline outline = hinter->glyph; - FT_Int dimension; + AH_Edge edges; + AH_Edge edge_limit; + AH_Outline outline = hinter->glyph; + FT_Int dimension; edges = outline->horz_edges; @@ -280,9 +280,9 @@ for ( dimension = 1; dimension >= 0; dimension-- ) { - AH_Edge edge; - AH_Edge anchor = 0; - int has_serifs = 0; + AH_Edge edge; + AH_Edge anchor = 0; + int has_serifs = 0; if ( hinter->no_horz_hints && !dimension ) @@ -297,7 +297,7 @@ { for ( edge = edges; edge < edge_limit; edge++ ) { - FT_Pos* blue; + FT_Pos* blue; AH_EdgeRec *edge1, *edge2; @@ -340,7 +340,7 @@ /* relative order of stems in the glyph.. */ for ( edge = edges; edge < edge_limit; edge++ ) { - AH_EdgeRec *edge2; + AH_EdgeRec* edge2; if ( edge->flags & AH_EDGE_DONE ) @@ -498,10 +498,10 @@ static void ah_hinter_align_edge_points( AH_Hinter hinter ) { - AH_Outline outline = hinter->glyph; - AH_Edge edges; - AH_Edge edge_limit; - FT_Int dimension; + AH_Outline outline = hinter->glyph; + AH_Edge edges; + AH_Edge edge_limit; + FT_Int dimension; edges = outline->horz_edges; @@ -509,7 +509,7 @@ for ( dimension = 1; dimension >= 0; dimension-- ) { - AH_Edge edge; + AH_Edge edge; edge = edges; @@ -517,12 +517,12 @@ { /* move the points of each segment */ /* in each edge to the edge's position */ - AH_Segment seg = edge->first; + AH_Segment seg = edge->first; do { - AH_Point point = seg->first; + AH_Point point = seg->first; for (;;) @@ -559,13 +559,13 @@ static void ah_hinter_align_strong_points( AH_Hinter hinter ) { - AH_Outline outline = hinter->glyph; - FT_Int dimension; - AH_Edge edges; - AH_Edge edge_limit; - AH_Point points; - AH_Point point_limit; - AH_Flags touch_flag; + AH_Outline outline = hinter->glyph; + FT_Int dimension; + AH_Edge edges; + AH_Edge edge_limit; + AH_Point points; + AH_Point point_limit; + AH_Flags touch_flag; points = outline->points; @@ -577,8 +577,8 @@ for ( dimension = 1; dimension >= 0; dimension-- ) { - AH_Point point; - AH_Edge edge; + AH_Point point; + AH_Edge edge; if ( edges < edge_limit ) @@ -632,8 +632,8 @@ /* otherwise, interpolate the point in between */ { - AH_Edge before = 0; - AH_Edge after = 0; + AH_Edge before = 0; + AH_Edge after = 0; for ( edge = edges; edge < edge_limit; edge++ ) @@ -687,12 +687,12 @@ #ifndef AH_OPTION_NO_WEAK_INTERPOLATION static void - ah_iup_shift( AH_Point p1, - AH_Point p2, - AH_Point ref ) + ah_iup_shift( AH_Point p1, + AH_Point p2, + AH_Point ref ) { - AH_Point p; - FT_Pos delta = ref->u - ref->v; + AH_Point p; + FT_Pos delta = ref->u - ref->v; for ( p = p1; p < ref; p++ ) @@ -704,17 +704,17 @@ static void - ah_iup_interp( AH_Point p1, - AH_Point p2, - AH_Point ref1, - AH_Point ref2 ) + ah_iup_interp( AH_Point p1, + AH_Point p2, + AH_Point ref1, + AH_Point ref2 ) { - AH_Point p; - FT_Pos u; - FT_Pos v1 = ref1->v; - FT_Pos v2 = ref2->v; - FT_Pos d1 = ref1->u - v1; - FT_Pos d2 = ref2->u - v2; + AH_Point p; + FT_Pos u; + FT_Pos v1 = ref1->v; + FT_Pos v2 = ref2->v; + FT_Pos d1 = ref1->u - v1; + FT_Pos d2 = ref2->u - v2; if ( p1 > p2 ) @@ -775,12 +775,12 @@ static void ah_hinter_align_weak_points( AH_Hinter hinter ) { - AH_Outline outline = hinter->glyph; - FT_Int dimension; - AH_Point points; - AH_Point point_limit; - AH_Point * contour_limit; - AH_Flags touch_flag; + AH_Outline outline = hinter->glyph; + FT_Int dimension; + AH_Point points; + AH_Point point_limit; + AH_Point* contour_limit; + AH_Flags touch_flag; points = outline->points; @@ -796,10 +796,10 @@ for ( dimension = 1; dimension >= 0; dimension-- ) { - AH_Point point; - AH_Point end_point; - AH_Point first_point; - AH_Point * contour; + AH_Point point; + AH_Point end_point; + AH_Point first_point; + AH_Point* contour; point = points; @@ -816,8 +816,8 @@ if ( point <= end_point ) { - AH_Point first_touched = point; - AH_Point cur_touched = point; + AH_Point first_touched = point; + AH_Point cur_touched = point; point++; @@ -907,13 +907,13 @@ /* scale and fit the global metrics */ static void ah_hinter_scale_globals( AH_Hinter hinter, - FT_Fixed x_scale, - FT_Fixed y_scale ) + FT_Fixed x_scale, + FT_Fixed y_scale ) { - FT_Int n; - AH_Face_Globals globals = hinter->globals; - AH_Globals design = &globals->design; - AH_Globals scaled = &globals->scaled; + FT_Int n; + AH_Face_Globals globals = hinter->globals; + AH_Globals design = &globals->design; + AH_Globals scaled = &globals->scaled; /* copy content */ @@ -994,12 +994,12 @@ /* create a new empty hinter object */ FT_LOCAL_DEF( FT_Error ) - ah_hinter_new( FT_Library library, - AH_Hinter* ahinter ) + ah_hinter_new( FT_Library library, + AH_Hinter *ahinter ) { AH_Hinter hinter = 0; - FT_Memory memory = library->memory; - FT_Error error; + FT_Memory memory = library->memory; + FT_Error error; *ahinter = 0; @@ -1030,13 +1030,13 @@ /* create a face's autohint globals */ FT_LOCAL_DEF( FT_Error ) - ah_hinter_new_face_globals( AH_Hinter hinter, - FT_Face face, - AH_Globals globals ) + ah_hinter_new_face_globals( AH_Hinter hinter, + FT_Face face, + AH_Globals globals ) { - FT_Error error; - FT_Memory memory = hinter->memory; - AH_Face_Globals face_globals; + FT_Error error; + FT_Memory memory = hinter->memory; + AH_Face_Globals face_globals; if ( FT_NEW( face_globals ) ) @@ -1062,7 +1062,7 @@ /* discard a face's autohint globals */ FT_LOCAL_DEF( void ) - ah_hinter_done_face_globals( AH_Face_Globals globals ) + ah_hinter_done_face_globals( AH_Face_Globals globals ) { FT_Face face = globals->face; FT_Memory memory = face->memory; @@ -1073,10 +1073,10 @@ static FT_Error - ah_hinter_load( AH_Hinter hinter, - FT_UInt glyph_index, - FT_Int32 load_flags, - FT_UInt depth ) + ah_hinter_load( AH_Hinter hinter, + FT_UInt glyph_index, + FT_Int32 load_flags, + FT_UInt depth ) { FT_Face face = hinter->face; FT_GlyphSlot slot = face->glyph; @@ -1087,6 +1087,7 @@ AH_Outline outline = hinter->glyph; AH_Loader gloader = hinter->loader; + /* load the glyph */ error = FT_Load_Glyph( face, glyph_index, load_flags ); if ( error ) @@ -1184,10 +1185,10 @@ /* we now need to hint the metrics according to the change in */ /* width/positioning that occured during the hinting process */ { - FT_Pos old_advance, old_rsb, old_lsb, new_lsb; - AH_Edge edge1 = outline->vert_edges; /* leftmost edge */ - AH_Edge edge2 = edge1 + - outline->num_vedges - 1; /* rightmost edge */ + FT_Pos old_advance, old_rsb, old_lsb, new_lsb; + AH_Edge edge1 = outline->vert_edges; /* leftmost edge */ + AH_Edge edge2 = edge1 + + outline->num_vedges - 1; /* rightmost edge */ old_advance = hinter->pp2.x; @@ -1404,12 +1405,12 @@ FT_UInt glyph_index, FT_Int32 load_flags ) { - FT_Face face = slot->face; - FT_Error error; - FT_Fixed x_scale = size->metrics.x_scale; - FT_Fixed y_scale = size->metrics.y_scale; - AH_Face_Globals face_globals = FACE_GLOBALS( face ); - FT_Render_Mode hint_mode = FT_LOAD_TARGET_MODE(load_flags); + FT_Face face = slot->face; + FT_Error error; + FT_Fixed x_scale = size->metrics.x_scale; + FT_Fixed y_scale = size->metrics.y_scale; + AH_Face_Globals face_globals = FACE_GLOBALS( face ); + FT_Render_Mode hint_mode = FT_LOAD_TARGET_MODE(load_flags); /* first of all, we need to check that we're using the correct face and */ @@ -1443,16 +1444,16 @@ #ifdef DEBUG_HINTER hinter->no_horz_hints = ah_debug_disable_vert; /* not a bug, the meaning */ - hinter->no_vert_hints = ah_debug_disable_horz; /* of h/v is inverted !! */ + hinter->no_vert_hints = ah_debug_disable_horz; /* of h/v is inverted! */ #endif - /* we snap the width of vertical stems for the monochrome and horizontal */ - /* LCD rendering targets only. Corresponds to X snapping */ + /* we snap the width of vertical stems for the monochrome and */ + /* horizontal LCD rendering targets only. Corresponds to X snapping. */ hinter->no_horz_snapping = FT_BOOL( hint_mode == FT_RENDER_MODE_NORMAL || hint_mode == FT_RENDER_MODE_LCD_V ); - /* we snap the width of horizontal stems for the monochrome and vertical */ - /* LCD rendering targets only. Corresponds to Y snapping */ + /* we snap the width of horizontal stems for the monochrome and */ + /* vertical LCD rendering targets only. Corresponds to Y snapping. */ hinter->no_vert_snapping = FT_BOOL( hint_mode == FT_RENDER_MODE_NORMAL || hint_mode == FT_RENDER_MODE_LCD ); @@ -1473,13 +1474,13 @@ /* retrieve a face's autohint globals for client applications */ FT_LOCAL_DEF( void ) ah_hinter_get_global_hints( AH_Hinter hinter, - FT_Face face, - void** global_hints, - long* global_len ) + FT_Face face, + void** global_hints, + long* global_len ) { - AH_Globals globals = 0; - FT_Memory memory = hinter->memory; - FT_Error error; + AH_Globals globals = 0; + FT_Memory memory = hinter->memory; + FT_Error error; /* allocate new master globals */ @@ -1510,7 +1511,7 @@ FT_LOCAL_DEF( void ) ah_hinter_done_global_hints( AH_Hinter hinter, - void* global_hints ) + void* global_hints ) { FT_Memory memory = hinter->memory; diff --git a/src/autohint/ahhint.h b/src/autohint/ahhint.h index d190eb43a..2c352d0c9 100644 --- a/src/autohint/ahhint.h +++ b/src/autohint/ahhint.h @@ -38,7 +38,7 @@ FT_BEGIN_HEADER /* create a new empty hinter object */ FT_LOCAL( FT_Error ) - ah_hinter_new( FT_Library library, + ah_hinter_new( FT_Library library, AH_Hinter* ahinter ); /* Load a hinted glyph in the hinter */ @@ -54,13 +54,13 @@ FT_BEGIN_HEADER ah_hinter_done( AH_Hinter hinter ); FT_LOCAL( void ) - ah_hinter_done_face_globals( AH_Face_Globals globals ); + ah_hinter_done_face_globals( AH_Face_Globals globals ); FT_LOCAL( void ) - ah_hinter_get_global_hints( AH_Hinter hinter, - FT_Face face, - void** global_hints, - long* global_len ); + ah_hinter_get_global_hints( AH_Hinter hinter, + FT_Face face, + void** global_hints, + long* global_len ); FT_LOCAL( void ) ah_hinter_done_global_hints( AH_Hinter hinter, diff --git a/src/autohint/ahmodule.c b/src/autohint/ahmodule.c index eb4ab1cff..1819e9ef9 100644 --- a/src/autohint/ahmodule.c +++ b/src/autohint/ahmodule.c @@ -25,15 +25,15 @@ #ifdef DEBUG_HINTER - AH_Hinter ah_debug_hinter = NULL; - FT_Bool ah_debug_disable_horz = 0; - FT_Bool ah_debug_disable_vert = 0; + AH_Hinter ah_debug_hinter = NULL; + FT_Bool ah_debug_disable_horz = 0; + FT_Bool ah_debug_disable_vert = 0; #endif typedef struct FT_AutoHinterRec_ { FT_ModuleRec root; - AH_Hinter hinter; + AH_Hinter hinter; } FT_AutoHinterRec; @@ -83,7 +83,7 @@ FT_UNUSED( module ); if ( face->autohint.data ) - ah_hinter_done_face_globals( (AH_Face_Globals )(face->autohint.data) ); + ah_hinter_done_face_globals( (AH_Face_Globals)(face->autohint.data) ); } diff --git a/src/autohint/ahoptim.c b/src/autohint/ahoptim.c index fb2a0003d..8d10f4a4d 100644 --- a/src/autohint/ahoptim.c +++ b/src/autohint/ahoptim.c @@ -157,8 +157,8 @@ static int - valid_stem_segments( AH_Segment seg1, - AH_Segment seg2 ) + valid_stem_segments( AH_Segment seg1, + AH_Segment seg2 ) { return seg1->serif == 0 && seg2 && @@ -173,15 +173,15 @@ static int optim_compute_stems( AH_Optimizer* optimizer ) { - AH_Outline outline = optimizer->outline; - FT_Fixed scale; - FT_Memory memory = optimizer->memory; - FT_Error error = 0; - FT_Int dimension; - AH_Edge edges; - AH_Edge edge_limit; - AH_Stem** p_stems; - FT_Int* p_num_stems; + AH_Outline outline = optimizer->outline; + FT_Fixed scale; + FT_Memory memory = optimizer->memory; + FT_Error error = 0; + FT_Int dimension; + AH_Edge edges; + AH_Edge edge_limit; + AH_Stem** p_stems; + FT_Int* p_num_stems; edges = outline->horz_edges; @@ -201,7 +201,7 @@ /* first of all, count the number of stems in this direction */ for ( edge = edges; edge < edge_limit; edge++ ) { - AH_Segment seg = edge->first; + AH_Segment seg = edge->first; do @@ -226,8 +226,8 @@ stem = stems; for ( edge = edges; edge < edge_limit; edge++ ) { - AH_Segment seg = edge->first; - AH_Segment seg2; + AH_Segment seg = edge->first; + AH_Segment seg2; do @@ -235,8 +235,8 @@ seg2 = seg->link; if ( valid_stem_segments( seg, seg2 ) ) { - AH_Edge edge1 = seg->edge; - AH_Edge edge2 = seg2->edge; + AH_Edge edge1 = seg->edge; + AH_Edge edge2 = seg2->edge; stem->edge1 = edge1; diff --git a/src/autohint/ahoptim.h b/src/autohint/ahoptim.h index 5d79fdec5..d7862ba96 100644 --- a/src/autohint/ahoptim.h +++ b/src/autohint/ahoptim.h @@ -37,22 +37,22 @@ FT_BEGIN_HEADER typedef struct AH_Stem_ { - FT_Pos pos; /* current position */ - FT_Pos velocity; /* current velocity */ - FT_Pos force; /* sum of current forces */ - FT_Pos width; /* normalized width */ + FT_Pos pos; /* current position */ + FT_Pos velocity; /* current velocity */ + FT_Pos force; /* sum of current forces */ + FT_Pos width; /* normalized width */ - FT_Pos min_pos; /* minimum grid position */ - FT_Pos max_pos; /* maximum grid position */ + FT_Pos min_pos; /* minimum grid position */ + FT_Pos max_pos; /* maximum grid position */ - AH_Edge edge1; /* left/bottom edge */ - AH_Edge edge2; /* right/top edge */ + AH_Edge edge1; /* left/bottom edge */ + AH_Edge edge2; /* right/top edge */ - FT_Pos opos; /* original position */ - FT_Pos owidth; /* original width */ + FT_Pos opos; /* original position */ + FT_Pos owidth; /* original width */ - FT_Pos min_coord; /* minimum coordinate */ - FT_Pos max_coord; /* maximum coordinate */ + FT_Pos min_coord; /* minimum coordinate */ + FT_Pos max_coord; /* maximum coordinate */ } AH_Stem; diff --git a/src/autohint/ahtypes.h b/src/autohint/ahtypes.h index 04f9b292b..c967975aa 100644 --- a/src/autohint/ahtypes.h +++ b/src/autohint/ahtypes.h @@ -183,7 +183,8 @@ FT_BEGIN_HEADER /* AH_PointRec */ /* */ /* */ - /* A structure used to model an outline point to the AH_OutlineRec type. */ + /* A structure used to model an outline point to the AH_OutlineRec */ + /* type. */ /* */ /* */ /* flags :: The current point hint flags. */ @@ -266,14 +267,14 @@ FT_BEGIN_HEADER /* */ /* score :: Used to score the segment when selecting them. */ /* */ - typedef struct AH_SegmentRec_ + typedef struct AH_SegmentRec_ { AH_Edge_Flags flags; AH_Direction dir; AH_Point first; /* first point in edge segment */ AH_Point last; /* last point in edge segment */ - AH_Point * contour; /* ptr to first point of segment's contour */ + AH_Point* contour; /* ptr to first point of segment's contour */ FT_Pos pos; /* position of segment */ FT_Pos min_coord; /* minimum coordinate of segment */ @@ -327,7 +328,7 @@ FT_BEGIN_HEADER /* Only set for some of the horizontal edges in a Latin */ /* font. */ /* */ - typedef struct AH_EdgeRec_ + typedef struct AH_EdgeRec_ { AH_Edge_Flags flags; AH_Direction dir; diff --git a/src/base/ftglyph.c b/src/base/ftglyph.c index a52ef299c..3f50cf86a 100644 --- a/src/base/ftglyph.c +++ b/src/base/ftglyph.c @@ -215,7 +215,7 @@ (FT_Glyph_DoneFunc) ft_bitmap_glyph_done, (FT_Glyph_CopyFunc) ft_bitmap_glyph_copy, (FT_Glyph_TransformFunc)0, - (FT_Glyph_GetBBoxFunc) ft_bitmap_glyph_bbox, + (FT_Glyph_GetBBoxFunc) ft_bitmap_glyph_bbox, (FT_Glyph_PrepareFunc) 0 }; @@ -336,7 +336,7 @@ (FT_Glyph_DoneFunc) ft_outline_glyph_done, (FT_Glyph_CopyFunc) ft_outline_glyph_copy, (FT_Glyph_TransformFunc)ft_outline_glyph_transform, - (FT_Glyph_GetBBoxFunc) ft_outline_glyph_bbox, + (FT_Glyph_GetBBoxFunc) ft_outline_glyph_bbox, (FT_Glyph_PrepareFunc) ft_outline_glyph_prepare }; diff --git a/src/base/ftobjs.c b/src/base/ftobjs.c index f9a2f6153..bb9fbcbef 100644 --- a/src/base/ftobjs.c +++ b/src/base/ftobjs.c @@ -404,9 +404,9 @@ /* documentation is in freetype.h */ FT_EXPORT_DEF( FT_Error ) - FT_Load_Glyph( FT_Face face, - FT_UInt glyph_index, - FT_Int32 load_flags ) + FT_Load_Glyph( FT_Face face, + FT_UInt glyph_index, + FT_Int32 load_flags ) { FT_Error error; FT_Driver driver; diff --git a/src/bdf/bdfdrivr.c b/src/bdf/bdfdrivr.c index b379a98c0..6b64ba6af 100644 --- a/src/bdf/bdfdrivr.c +++ b/src/bdf/bdfdrivr.c @@ -308,7 +308,7 @@ THE SOFTWARE. prop = bdf_get_font_property( font, (char *)"AVERAGE_WIDTH" ); if ( ( prop != NULL ) && ( prop->value.int32 >= 10 ) ) - root->available_sizes->width = (short)( prop->value.int32 / 10 ); + root->available_sizes->width = (short)( prop->value.int32 / 10 ); prop = bdf_get_font_property( font, (char *)"PIXEL_SIZE" ); if ( prop != NULL ) diff --git a/src/cff/cffgload.c b/src/cff/cffgload.c index f24da51a7..262505e1e 100644 --- a/src/cff/cffgload.c +++ b/src/cff/cffgload.c @@ -573,13 +573,17 @@ /* For incremental fonts get the character data using the */ /* callback function. */ if ( face->root.internal->incremental_interface ) - { - FT_Data data; - FT_Error error = face->root.internal->incremental_interface->funcs->get_glyph_data( - face->root.internal->incremental_interface->object, - glyph_index, &data ); + { + FT_Data data; + FT_Error error = + face->root.internal->incremental_interface->funcs->get_glyph_data( + face->root.internal->incremental_interface->object, + glyph_index, &data ); + + *pointer = (FT_Byte*)data.pointer; *length = data.length; + return error; } else @@ -587,6 +591,8 @@ { CFF_Font cff = (CFF_Font)(face->extra.data); + + return cff_index_access_element( &cff->charstrings_index, glyph_index, pointer, length ); } @@ -606,10 +612,13 @@ /* For incremental fonts get the character data using the */ /* callback function. */ if ( face->root.internal->incremental_interface ) - { + { FT_Data data; - data.pointer = *pointer; - data.length = length; + + + data.pointer = *pointer; + data.length = length; + face->root.internal->incremental_interface->funcs->free_glyph_data( face->root.internal->incremental_interface->object,&data ); } @@ -617,7 +626,9 @@ #endif /* FT_CONFIG_OPTION_INCREMENTAL */ { - CFF_Font cff = (CFF_Font)(face->extra.data); + CFF_Font cff = (CFF_Font)(face->extra.data); + + cff_index_forget_element( &cff->charstrings_index, pointer ); } } @@ -638,11 +649,12 @@ FT_Byte* charstring; FT_ULong charstring_len; + #ifdef FT_CONFIG_OPTION_INCREMENTAL - /* Incremental fonts don't necessarily have valid charsets. */ - /* They use the character code, not the glyph index, in this case. */ + /* Incremental fonts don't necessarily have valid charsets. */ + /* They use the character code, not the glyph index, in this case. */ if ( face->root.internal->incremental_interface ) - { + { bchar_index = bchar; achar_index = achar; } @@ -651,9 +663,10 @@ { CFF_Font cff = (CFF_Font)(face->extra.data); + bchar_index = cff_lookup_glyph_by_stdcharcode( cff, bchar ); achar_index = cff_lookup_glyph_by_stdcharcode( cff, achar ); - } + } if ( bchar_index < 0 || achar_index < 0 ) { @@ -2320,7 +2333,7 @@ #ifdef FT_CONFIG_OPTION_INCREMENTAL - /* Control data and length may not be available for incremental */ + /* Control data and length may not be available for incremental */ /* fonts. */ if ( face->root.internal->incremental_interface ) { @@ -2334,11 +2347,13 @@ /* See how charstring loads at cff_index_access_element() in */ /* cffload.c. */ { - CFF_IndexRec csindex = cff->charstrings_index; - glyph->root.control_data = - csindex.bytes + csindex.offsets[glyph_index] - 1; - glyph->root.control_len = - charstring_len; + CFF_IndexRec csindex = cff->charstrings_index; + + + glyph->root.control_data = + csindex.bytes + csindex.offsets[glyph_index] - 1; + glyph->root.control_len = + charstring_len; } } diff --git a/src/cid/cidobjs.c b/src/cid/cidobjs.c index b839fbf3d..ac5f16e4a 100644 --- a/src/cid/cidobjs.c +++ b/src/cid/cidobjs.c @@ -123,7 +123,7 @@ FT_LOCAL_DEF( FT_Error ) - CID_Size_Init( CID_Size size ) + cid_size_init( CID_Size size ) { FT_Error error = 0; PSH_Globals_Funcs funcs = cid_size_get_globals_funcs( size ); diff --git a/src/cid/cidobjs.h b/src/cid/cidobjs.h index 527eb3f26..2d72d73e2 100644 --- a/src/cid/cidobjs.h +++ b/src/cid/cidobjs.h @@ -123,7 +123,7 @@ FT_BEGIN_HEADER FT_LOCAL( FT_Error ) - CID_Size_Init( CID_Size size ); + cid_size_init( CID_Size size ); FT_LOCAL( FT_Error ) diff --git a/src/cid/cidriver.c b/src/cid/cidriver.c index e5b28ba30..4d6f442c0 100644 --- a/src/cid/cidriver.c +++ b/src/cid/cidriver.c @@ -93,7 +93,7 @@ (FT_Face_InitFunc) cid_face_init, (FT_Face_DoneFunc) cid_face_done, - (FT_Size_InitFunc) CID_Size_Init, + (FT_Size_InitFunc) cid_size_init, (FT_Size_DoneFunc) cid_size_done, (FT_Slot_InitFunc) cid_slot_init, (FT_Slot_DoneFunc) cid_slot_done, diff --git a/src/psaux/psauxmod.c b/src/psaux/psauxmod.c index 37a126cbc..fa0c4aa8c 100644 --- a/src/psaux/psauxmod.c +++ b/src/psaux/psauxmod.c @@ -58,7 +58,7 @@ t1_builder_done, t1_builder_check_points, t1_builder_add_point, - T1_Builder_Add_Point1, + t1_builder_add_point1, t1_builder_add_contour, t1_builder_start_point, t1_builder_close_contour diff --git a/src/psaux/psobjs.c b/src/psaux/psobjs.c index 245d9b71e..0ada9e917 100644 --- a/src/psaux/psobjs.c +++ b/src/psaux/psobjs.c @@ -1270,7 +1270,7 @@ /* check space for a new on-curve point, then add it */ FT_LOCAL_DEF( FT_Error ) - T1_Builder_Add_Point1( T1_Builder builder, + t1_builder_add_point1( T1_Builder builder, FT_Pos x, FT_Pos y ) { @@ -1328,7 +1328,7 @@ builder->path_begun = 1; error = t1_builder_add_contour( builder ); if ( !error ) - error = T1_Builder_Add_Point1( builder, x, y ); + error = t1_builder_add_point1( builder, x, y ); } return error; } diff --git a/src/psaux/psobjs.h b/src/psaux/psobjs.h index 6400b5884..9e81675bb 100644 --- a/src/psaux/psobjs.h +++ b/src/psaux/psobjs.h @@ -164,7 +164,7 @@ FT_BEGIN_HEADER FT_Byte flag ); FT_LOCAL( FT_Error ) - T1_Builder_Add_Point1( T1_Builder builder, + t1_builder_add_point1( T1_Builder builder, FT_Pos x, FT_Pos y ); diff --git a/src/psaux/t1decode.c b/src/psaux/t1decode.c index 05193057f..1ec741652 100644 --- a/src/psaux/t1decode.c +++ b/src/psaux/t1decode.c @@ -350,7 +350,7 @@ #define start_point t1_builder_start_point #define check_points t1_builder_check_points #define add_point t1_builder_add_point -#define add_point1 T1_Builder_Add_Point1 +#define add_point1 t1_builder_add_point1 #define add_contour t1_builder_add_contour #define close_contour t1_builder_close_contour diff --git a/src/pshinter/pshalgo3.c b/src/pshinter/pshalgo3.c index 518cc3428..db23505db 100644 --- a/src/pshinter/pshalgo3.c +++ b/src/pshinter/pshalgo3.c @@ -50,7 +50,7 @@ PSH3_Hint hint2 ) { return ( hint1->org_pos + hint1->org_len >= hint2->org_pos && - hint2->org_pos + hint2->org_len >= hint1->org_pos ); + hint2->org_pos + hint2->org_len >= hint1->org_pos ); } @@ -503,18 +503,18 @@ /* the stem is less than one pixel, we will center it */ /* around the nearest pixel center */ /* */ - pos = ( pos + (len >> 1) & -64 ); + pos = ( pos + ( (len >> 1) & -64 ) ); len = 64; } else { - FT_Pos delta = len - dim->stdw.widths[0].cur; + FT_Pos Delta = len - dim->stdw.widths[0].cur; - if ( delta < 0 ) - delta = -delta; + if ( Delta < 0 ) + Delta = -Delta; - if ( delta < 40 ) + if ( Delta < 40 ) { len = dim->stdw.widths[0].cur; if ( len < 32 ) @@ -523,20 +523,20 @@ if ( len < 3 * 64 ) { - delta = ( len & 63 ); + Delta = ( len & 63 ); len &= -64; - if ( delta < 10 ) - len += delta; + if ( Delta < 10 ) + len += Delta; - else if ( delta < 32 ) + else if ( Delta < 32 ) len += 10; - else if ( delta < 54 ) + else if ( Delta < 54 ) len += 54; else - len += delta; + len += Delta; } else len = ( len + 32 ) & -64; diff --git a/src/sfnt/ttload.c b/src/sfnt/ttload.c index 5a828f09f..94c32335d 100644 --- a/src/sfnt/ttload.c +++ b/src/sfnt/ttload.c @@ -559,8 +559,8 @@ /* */ static FT_Error tt_face_load_generic_header( TT_Face face, - FT_Stream stream, - FT_ULong tag ) + FT_Stream stream, + FT_ULong tag ) { FT_Error error; TT_Header* header; diff --git a/src/sfnt/ttsbit.c b/src/sfnt/ttsbit.c index 695105ed1..51513ea9c 100644 --- a/src/sfnt/ttsbit.c +++ b/src/sfnt/ttsbit.c @@ -622,9 +622,9 @@ FT_LOCAL_DEF( FT_Error ) tt_face_set_sbit_strike( TT_Face face, - FT_Int x_ppem, - FT_Int y_ppem, - FT_ULong *astrike_index ) + FT_Int x_ppem, + FT_Int y_ppem, + FT_ULong *astrike_index ) { FT_Int i; diff --git a/src/smooth/ftsmooth.c b/src/smooth/ftsmooth.c index f827da794..0e34c4e9b 100644 --- a/src/smooth/ftsmooth.c +++ b/src/smooth/ftsmooth.c @@ -153,7 +153,7 @@ pitch = width; if ( hmul ) { - width = width*hmul; + width = width * hmul; pitch = ( width + 3 ) & -4; } @@ -184,6 +184,7 @@ FT_Int n; FT_Vector* vec; + if ( hmul ) for ( vec = outline->points, n = 0; n < outline->n_points; n++, vec++ ) vec->x *= hmul; @@ -201,6 +202,7 @@ FT_Int n; FT_Vector* vec; + if ( hmul ) for ( vec = outline->points, n = 0; n < outline->n_points; n++, vec++ ) vec->x /= hmul; @@ -210,7 +212,6 @@ vec->y /= vmul; } - FT_Outline_Translate( outline, cbox.xMin, cbox.yMin ); if ( error ) @@ -228,7 +229,6 @@ } - /* convert a slot's glyph image into a bitmap */ static FT_Error ft_smooth_render( FT_Renderer render, @@ -268,7 +268,6 @@ } - FT_CALLBACK_TABLE_DEF const FT_Renderer_Class ft_smooth_renderer_class = { diff --git a/src/truetype/ttgload.c b/src/truetype/ttgload.c index 5eff015ef..398bae06e 100644 --- a/src/truetype/ttgload.c +++ b/src/truetype/ttgload.c @@ -93,7 +93,7 @@ FT_UShort k = header->number_Of_HMetrics; - if (k == 0) + if ( k == 0 ) { *bearing = *advance = 0; return; diff --git a/src/type1/t1gload.c b/src/type1/t1gload.c index 91979040f..0a3155db3 100644 --- a/src/type1/t1gload.c +++ b/src/type1/t1gload.c @@ -164,7 +164,7 @@ (FT_Byte**)type1->glyph_names, face->blend, 0, - 0, + FT_RENDER_MODE_NORMAL, T1_Parse_Glyph ); if ( error ) return error;