src/pshinter


Log

Author Commit Date CI Message
Werner Lemberg bbdee28f 2004-11-17T08:19:27 * builds/unix/configure.ac: Add `-fno-strict-aliasing' if gcc is used. * builds/unix/configure: Regenerated. * builds/unix/config.guess, builds/unix/config.sub: Updated from `config' CVS module at subversions.gnu.org. * src/cache/ftcglyph.c (FTC_GNode_UnselectFamily, FTC_GCache_Lookup): Fix comparison with zero. * docs/INSTALL.VMS: Updated. * vms_make.com: Updated. All `descrip.mms' files are now created automatically. * src/*/descrip.mms: Removed.
Werner Lemberg 33e90642 2004-04-02T07:13:53 * builds/unix/ft-munmap.m4 (FT_MUNMAP_PARAM): Fix arguments of AC_COMPILE_IFELSE. * builds/unix/aclocal.m4: Regenerated with `aclocal -I .' from automake 1.8a. * builds/unix/configure: Regenerated with autoconf 2.59a. * builds/unix/config.guess, builds/unix/config.sub: Updated from `config' CVS module at subversions.gnu.org * builds/unix/install-sh, builds/unix/mkinstalldirs: Updated from `texinfo' CVS module at subversions.gnu.org. * builds/freetype.mk (refdoc): Updated.
Werner Lemberg dfa46199 2004-03-05T09:26:24 * Jamfile, vms_make.com, builds/win32/visualc/freetype.dsp, builds/win32/visualc/freetype/vcproj, include/freetype/ftmoderr.h: Add LZW module. * Jamfile.in: Removed. * docs/CHANGES: Updated. * include/freetype/internal/ftobjs.h: s/MIN/FT_MIN/, s/MAX/FT_MAX/, s/ABS/FT_ABS/. Updated all callers. * src/type1/t1load.c (parse_dict), src/pcf/pcfdrivr.c (PCF_Face_Init): Use FT_ERROR_BASE. Add support for PCF fonts compressed with LZW (extension .pcf.Z, created with `compress'). * include/freetype/config/ftoption.h, devel/ftoption.h (FT_CONFIG_OPTION_USE_LZW): New macro. * include/freetype/ftlzw.h: New file. * include/freetype/config/ftheader.h (FT_LZW_H): New macro for ftlzw.h. * src/lzw/*: New files. * src/pcf/pcfdrivr.c: Include FT_LZW_H. (PCF_Face_Init): Try LZW also. * src/gzip/ftgzip.c: s/0/Gzip_Err_Ok/ where appropriate. Beautify.
Werner Lemberg ed279ac7 2004-03-03T16:06:17 * src/pshinter/pshalgo.c (psh_hint_table_init): Simplify code.
Werner Lemberg 0399e121 2004-03-02T07:01:20 * src/pshinter/pshglob.c (psh_globals_scale_widths): Don't use FT_RoundFix but FT_PIX_ROUND. (psh_blues_snap_stem): Don't use blue_shift but blue_threshold. *src/pshinter/pshalgo.c (PSH_STRONG_THRESHOLD_MAXIMUM): New macro. (psh_glyph_find_string_points): Use PSH_STRONG_THRESHOLD_MAXIMUM. (psh_glyph_find_blue_points): New function. Needed for fonts like p052003l.pfb (URW Palladio L Roman) which have flex curves at the base line within blue zones, but the flex curves aren't covered by hints. (ps_hints_apply): Use psh_glyph_find_blue_points.
Werner Lemberg d4af90b2 2004-02-27T20:32:39 * src/pshinter/pshglob.c (psh_globals_new): Fix value of `dim->stdw.count'. Don't assign default values to blue scale and blue shift.
Werner Lemberg 675431be 2004-02-25T21:17:49 * include/freetype/t1tables.h (PS_PrivateRec): Add `expansion_factor'. * src/pshinter/pshglob (psh_blues_scale_zones): Fix computation of blues->no_overshoots -- `blues_scale' is stored with a magnification of 1000, and `scale' returns fractional pixels. * src/type1/t1load.c (T1_Open_Face): Initialize `blue_shift', `blue_fuzz', `expansion_factor', and `blue_scale' according to the Type 1 specification. * src/type1/t1tokens.h: Handle `ExpansionFactor'. * docs/CHANGES: Updated.
Werner Lemberg 4cb09724 2004-02-23T18:22:32 * src/pshinter/pshalgo.c (PSH_STRONG_THRESHOLD): Changed to hold the accepted shift for strong points in fractional pixels (which is a heuristic value). (psh_glyph_find_strong_points): Compute threshold for psh_hint_table_find_strong_points. (psh_hint_table_find_strong_point): Add parameter to pass threshold.
Werner Lemberg a5724ef8 2004-02-21T16:47:20 * src/pshinter/pshrec.c (ps_mask_table_set_bits): Don't call ps_mask_table_alloc but ps_mask_table_last. (ps_hints_t2mask): Use correct position and number for vertical and horizontal hinter mask bits. * docs/CHANGES: Updated.
Werner Lemberg f9831a66 2004-01-15T11:02:07 * src/pshinter/pshalgo.c (psh_glyph_init): Move assignment of `glyph->memory' up to free arrays properly in case of failure.
Werner Lemberg 80cfbd70 2003-12-26T07:26:08 * src/base/fttrigon.c, src/base/ftgloadr.c: Inlude FT_INTERNAL_OBJECTS_H. * src/base/ftstroke.c (FT_Outline_GetInsideBorder, FT_Outline_GetOutsideBorder): s/or/o/ to make it compile with C++ compilers. * src/cache/ftcmru.c, include/freetype/cache/ftcmru.h: s/select/selection/ to avoid compiler warning. * src/cff/cffload.h: s/select/ftselect/ to avoid potential compiler warning. Formatting.
David Turner 87c0d30f 2003-12-24T01:10:46 * include/freetype/fttypes.h src/autofit/afangles.c src/autofit/aflatin.c src/autohint/ahglyph.c src/autohint/ahhint.c src/base/ftcalc.c src/base/ftgloadr.c src/base/ftglyph.c src/base/ftobjs.c src/base/ftsynth.c src/base/fttrigon.c src/cff/cffgload.c src/cid/cidgload.c src/cid/cidload.c src/pfr/pfrgload.c src/pfr/pfrload.c src/pfr/pfrsbit.c src/psaux/psobjs.c src/pshinter/pshalgo.c src/pshinter/pshglob.c src/pshinter/pshrec.c src/raster/ftrend1.c src/sfnt/ttcmap0.c src/smooth/ftsmooth.c src/truetype/ttdriver.c src/truetype/ttgload.c src/truetype/ttinterp.c src/truetype/ttobjs.c src/type1/t1gload.c src/winfonts/winfnt.c: use of the FT_PAD_XXX and FT_PIX_XXX macros to avoid compiler warnings with very pedantic compilers. Hints: (x) & -64 will warn if (x) is not signed.. use (x) & ~63 instead !
Werner Lemberg 43ba0842 2003-06-23T19:26:53 * src/tools/glnames.py: Updated to AGL 2.0. * src/psnames/pstables.h: Regenerated. * include/freetype/cache/ftcglyph.h, include/freetype/ttnameid.h, src/base/ftcalc.c, src/base/fttrigon.c, src/cff/cffgload.c, src/otlayout/otlgsub.c, src/pshinter/pshrec.c, src/psnames/psmodule.c, src/sfnt/sfobjs.c, src/truetype/ttdriver.c: Decorate constants with `U' and `L' if appropriate. * include/freetype/ftmoderr.h: Updated to include recent module additions. * src/pshinter/pshnterr.h (FT_ERR_BASE): Define as `FT_Mod_Err_PShinter'. * src/type42/t42error.h (FT_ERR_BASE): Define as `FT_Mod_Err_Type42'. * src/pshinter/pshrec.h (PS_HINTS_MAGIC): Removed. Not used. * include/freetype/config/ftconfig.h [__MWERKS__]: Define FT_LONG64 and FT_INT64.
Werner Lemberg 8ad2c57e 2003-06-22T15:34:38 Add `src/pshinter/pshnterr.h'.
Werner Lemberg 779afe4b 2003-06-22T15:33:53 * src/winfonts/winfnt.c (FNT_Load_Glyph): Use first_char in computation of glyph_index. (FNT_Size_Set_Pixels): To find a strike, first check pixel_height only, then try to find a better hit by comparing pixel_width also. Without this fix it isn't possible to access all strikes. Also compute metrics.max_advance to be in sync with other bitmap drivers. * src/base/ftobjs.c (FT_Set_Char_Size): Remove redundant code. (FT_Set_Pixel_Size): Assign value to `metrics' after validation of arguments. Synchronize computation of height and width for bitmap strikes. The `width' field in the FT_Bitmap_Size structure is now only useful to enumerate different strikes. The `max_advance' field of the FT_Size_Metrics structure should be used to get the (maximum) width of a strike. * src/bdf/bdfdrivr.c (BDF_Face_Init): Don't use AVERAGE_WIDTH for computing `available_sizes->width' but make it always equal to `available_sizes->height'. * src/pcf/pcfread.c (pcf_load_font): Don't use RESOLUTION_X for computing `available_sizes->width' but make it always equal to `available_sizes->height'. * src/truetype/ttdriver.c (Set_Pixel_Sizes): Pass only single argument to function. * src/psnames/psmodule.c (ps_unicode_value): Handle `.' after `uniXXXX' and `uXXXX[X[X]]'. * src/bdf/bdfdrivr.c: s/FT_Err_/BDF_Err/. * src/cache/ftccache.c, src/cache/ftcsbits.c, src/cache/ftlru.c: s/FT_Err_/FTC_Err_/. * src/cff/cffcmap.c: s/FT_Err_/CFF_Err_/. * src/pcf/pcfdrivr.c: s/FT_Err_/PCF_Err_/. * src/psaux/t1cmap.c: Include psauxerr.h. s/FT_Err_/PSaux_Err_/. * src/pshinter/pshnterr.h: New file. * src/pshinter/rules.mk: Updated. * src/pshinter/pshalgo.c, src/pshinter/pshrec.c: Include pshnterr.h. s/FT_Err_/PSH_Err_/. * src/pfr/pfrdrivr.c, src/pfr/pfrobjs.c, src/pfr/pfrsbit.c: s/FT_Err_/PFR_Err_/. * src/sfnt/sfdriver.c, src/sfnt/sfobjs.c, src/sfnt/ttcmap0.c, src/sfnt/ttload.c: s/FT_Err_/SFNT_Err_/. * src/truetype/ttgload.c: s/FT_Err_/TT_Err_/. * src/gzip/ftgzip.c: Load FT_MODULE_ERRORS_H and define FT_ERR_PREFIX and FT_ERR_BASE. s/FT_Err_/Gzip_Err_/.
Werner Lemberg 0240d29c 2003-06-09T15:54:18 * src/gzip/ftgzip.c (ft_gzip_file_fill_output): Handle Z_STREAM_END correctly. * src/pshinter/pshglob.c (psh_globals_new): Change calculation of dim->stdw.count to avoid compiler problem. * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Move the block variables to the beginning of the function to avoid compiler problems. Add casts necessary for 16bit compilers. * src/pfr/rules.mk (PFR_DRV_SRC): Add pfrsbit.c. (PFR_DRV_H): Add pfrtypes.h. * include/freetype/config/ftconfig.h: s/__MWKS__/__MWERKS__/. * src/pfr/pfrsbit.c (pfr_bitwriter_init): Change type of third argument to FT_Bool. (pfr_lookup_bitmap_data): Change type of third and fourth argument to FT_UInt. Updated caller. (pfr_load_bitmap_bits): Change type of fourth argument to FT_Bool.
Werner Lemberg 858f310b 2003-06-09T04:46:30 Completely revised FreeType's make management. . In all makefiles `/' is used as the path separator. The conversion to the real path separators is done as late as possible using $(subst ...). . $(HOSTSEP) no longer exists. Now, $(SEP) gives the path separator for the operating system, and the new $(COMPILER_SEP) the path separator for the compiler tools. . $(BUILD) has been renamed to $(BUILD_DIR). In general, all directory variables end with `_DIR'. The variants ending in `_' (like `BASE_' have been removed). The following ChangeLog entries only describe changes which are not related to the redesign. * builds/beos/beos-def.mk (BUILD_DIR): Fix typo. * builds/compiler/watcom.mk (LINK_LIBRARY): Fix linker call to avoid overlong arguments as suggested by J. Ali Harlow <ali@avrc.city.ac.uk>. * builds/dos/dos-wat.mk: New file. * builds/freetype.mk (FREETYPE_H): Include header files from the `devel' subdirectory. * builds/os2/os2-dev.mk, builds/unix/unixddef.mk, builds/unix/unixddef.mk, builds/win32/w32-bccd.mk, builds/win32/w32-dev.mk (BUILD_DIR): Fix path. * builds/unix/configure.ac, builds/unic/configure: Updated. * builds/unix/unix-def.in (DISTCLEAN): Add `freetype2.pc'. * devel/ftoption.h: Updated.
Werner Lemberg bf7c8321 2003-06-06T05:07:53 * include/freetype/internal/psaux.h (T1_FieldType): Add T1_FIELD_TYPE_FIXED_1000 and T1_FIELD_TYPE_FIXED_1000_P. (T1_FIELD_FIXED_1000, T1_FIELD_FIXED_1000_P): New macros. * src/psaux/psobjs.c (ps_parser_load_field): Handle T1_FIELD_TYPE_FIXED_1000 and T1_FIELD_TYPE_FIXED_1000_P. * src/cff/cffparse.c (cff_kind_fixed_thousand): New enumeration. (CFF_FIELD_FIXED_1000): New macro. (cff_parser_run): Handle cff_kind_fixed_thousand. * src/cff/cfftoken.h: Use CFF_FIELD_FIXED_1000 for blue_scale. * src/cff/cffload (cff_subfont_load): Fix default values of expansion_factor and blue_scale. * src/cif/cidtoken.h, src/type1/t1tokens.h: Use T1_FIELD_FIXED_1000 for blue_scale. * src/pshinter/pshglob.c (psh_globals_new): Fix default value of blue_scale.
Werner Lemberg 73861976 2003-06-05T04:31:05 * include/freetype/internal/ftdriver.h, include/freetype/internal/ftobjs.h, include/freetype/internal/psaux.h, src/cid/cidgload.c, src/psaux/psobjs.c, src/psaux/t1decode.c, src/psaux/psobjs.h, src/pshinter/pshrec.c, src/pshinter/pshalgo.c, src/psnames/psmodule.c, src/raster/ftraster.c, src/sfnt/sfobjs.c, src/smooth/ftgrays.c, src/smooth/ftsmooth.c, src/truetype/ttobjs.c, src/truetype/ttdriver.c, src/truetype/ttgload.c, src/type1/t1afm.c, src/type1/t1gload.c, src/type1/t1gload.h, src/type1/t1load.c, src/type1/t1objs.c, src/type42/t42parse.c, src/type42/t42parse.h: Many casts and slight argument type changes to make it work with a 16bit compiler.
Werner Lemberg 65ba724b 2003-05-30T09:12:50 Avoid overwriting of numeric font dictionary entries for synthetic fonts. Additionally, some entries were handled as `integer' instead of `number'. * include/freetype/internal/psaux.h (T1_FieldType): Add T1_FIELD_TYPE_BOOL_P, T1_FIELD_TYPE_INTEGER_P, and T1_FIELD_TYPE_FIXED_P. (T1_FIELD_BOOL_P, T1_FIELD_NUM_P, T1_FIELD_FIXED_P): New macros. * src/psaux/psobjs.c (ps_parser_load_field): Handle new field types. * include/freetype/internal/cfftypes.h (CFF_FontRecDict), src/cff/cfftoken.h: Change type of underline_position and underline_thickness to FT_Fixed. * src/cff/cffload.c (cff_subfont_load): Fix default values of underline_position and underline_thickness. * src/cff/cffobjs.c (cff_face_init): Set underline_position and underline_thickness in `root'. * include/freetype/internal/t1types.h (T1_Font): Change point_type and stroke_width to pointers. * include/freetype/t1tables.h (PS_FontInfo): Change italic_angle, is_fixed_pitch, underline_position, and underline_thickness to pointers. * src/type1/t1tokens.h: Change italic_angle, is_fixed_pitch, underline_position, and underline_thickness to pointers. Change the type of the latter two to `fixed'. Change type of stroke_width to `fixed' and make it a pointer. Change paint_type to pointer. * src/type1/t1objs.c (T1_Face_Done): Updated. (T1_Face_Init): Updated. Fix assignment of underline_position and underline_thickness. * src/cid/cidtoken.h: Change italic_angle, is_fixed_pitch, underline_position, and underline_thickness to pointers. Change the type of the latter two to `fixed'. Change type of stroke_width to `fixed'. * src/cid/cidobjs.c (cid_face_done): Updated. (cid_face_init): Updated. Fix assignment of underline_position and underline_thickness. * src/type42/t42parse.c: Change italic_angle, is_fixed_pitch, underline_position, and underline_thickness to pointers. Change the type of the latter two to `fixed'. Change type of stroke_width to `fixed' and make it a pointer. Change paint_type to pointer. * src/type42/t42objs.c (T42_Face_Init): Updated. Fix assignment of underline_position and underline_thickness. (T42_Face_Done): Updated. * src/base/ftobjs.c (open_face_from_buffer): Fix compiler warning. * src/pshinter/pshglob.c, src/pshinter/pshglob.h (psh_globals_set_scale): Make it a local function. * test/gview.c: Fix remaming ps3->ps typo. Formatting.
Werner Lemberg 0bdf608f 2003-05-28T22:42:41 * src/pshinter/pshalgo1.[ch], src/pshinter/pshalgo2.[ch]: Removed. * src/pshinter/pshalgo.h: Removed. * src/pshinter/pshalgo3.[ch]: Renamed to... * src/pshinter/pshalgo.[ch]: New files. s/PSH3/PSH/. s/psh3/psh/. s/ps3/ps/. * src/pshinter/pshrec.c, src/pshinter/pshinter.c: Updated. * src/pshinter/rules.mk, src/pshinter/Jamfile: Updated * src/pshinter/pshglob.[ch] (psh_dimension_snap_width): Commented out. * tests/gview.c: Remove code for pshalgo1 and pshalgo2. Updated.
Werner Lemberg 4919dc7c 2003-05-28T05:52:05 * src/pshinter/pshalgo3.c (psh3_glyph_compute_extrema): Skip contours with only a single point to avoid segfault. * src/autohint/ahtypes.h (AH_OPTION_NO_STRONG_INTERPOLATION): Removed since unused.
Werner Lemberg 77c34b82 2003-05-20T22:06:38 * t1load.c (parse_blend_axis_types): Fix compiler warning. * src/gzip/ftgzip.c (ft_gzip_file_io): Avoid zero value of `delta' to prevent infinite loop. * docs/VERSION.DLL: Provide better autoconf snippet to check FreeType version. * src/base/ftobjs.c (open_face): Free `internal' not `face->internal' in case of error to avoid possible segfault. * src/pshinter/pshalgo3.c (ps3_hints_apply): Check whether we actually have an outline.
Werner Lemberg 6bd1c6d2 2003-05-20T05:01:49 * src/pshinter/pshalgo3.c (ps3_hints_apply): Try to optimize y_scale so that the top of non-capital letters is aligned on a pixel boundary whenever possible. * src/autohint/ahhint.c (ah_hint_edges): Make sure that lowercase m's maintain their symmetry.
Werner Lemberg bb3105e2 2003-04-23T15:17:43 Cleanups.
David Turner 5158fbc0 2003-03-27T21:35:44 * README: udpated * README.UNX: removed (now replaced by docs/INSTALL.UNX) * src/pshinter/pshalgo3.c: the hinter now performs as in 2.1.3 and will ignore stem quantization only when FT_LOAD_TARGET_SMOOTH is used * src/base/ftobjs.c: changed the default computations to include rounding in all cases, this is required to provide accurate kerning data when native TrueType hinting is enabled. * src/type1/t1load.c: the Type 1 loader now accepts more general names according to the Postscript spec (the previous one was too restrictive)
David Turner 4bdf4350 2003-01-30T23:24:18 various improvements for 2.1.4. see ChangeLog, I've got problems with copy & paste on my desktop !!
David Turner 032e23aa 2003-01-30T14:57:38 improvements to the Postscript hinter
David Turner 265799a9 2003-01-08T09:52:32 * src/autohint/ahtypes.h, src/autohint/ahhint.c, src/pshinter/pshalgo3.h, src/pshinter/pshalgo3.c: implemented the FT_RENDER_MODE_LIGHT hinting mode in the auto and postscript hinters
David Turner 60b32e16 2002-11-06T22:32:54 2002-11-05 David Turner <david@freetype.org> * include/freetype/config/ftoption.h, src/gzip/ftgzip.c: added support for the FT_CONFIG_OPTION_SYSTEM_ZLIB option, used to specify the use of system-wide zlib. Note that this macro, as well as FT_CONFIG_OPTION_BYTECODE_INTERPRETER, is not #undef-ed anymore. This allows the build system to define them depending on the configuration (typically by adding -D flags at compile time). * src/sfnt/ttcmap0.c (tt_face_build_cmaps): removed compiler warnings in optimized mode relative to the "volatile" local variables. This was not a compiler bug after all, but the fact that a pointer to a volatile variable is not the same than a volatile pointer to a variable :-) the fix was to change "volatile FT_Byte* p" into "FT_Byte* volatile p" * src/pfr/pfrload.c, src/pfr/pfrdrivr.c, src/gzip/inftrees.c: removed compiler warnings in optimized modes * src/gzip/*.[hc]: modified our ZLib copy in order to prevent exporting any zlib function names outside of the component. This prevents linking problems on some platforms, when applications want to link FreeType _and_ ZLib together. 2002-11-05 Juliusz <jch@pps.jussieu.fr> * src/psaux/psobjs.c (ps_table_add): modified increment loop in order to implement exponential behaviour
Werner Lemberg 7a99b507 2002-09-17T07:31:17 * src/type1/t1parse.h (T1_ParserRec): Change type of `base_len' and `private_len' to FT_Long. * src/cache/ftcsbits.c (ftc_sbit_node_load): Remove unused label. * src/pshinter/pshalgo3.c (psh3_hint_align): Remove unused variable.
David Turner 25f845aa 2002-09-09T23:45:29 * src/cache/ftccache.i: fixed a bug that prevented compilation in debug mode of template instantiation * src/cff/cffparse.c: fixed the CFF table loader. It didn't accept empty arrays, and this prevented the loading of certain fonts. * src/pshinter/pshalgo2.c, src/pshinter/pshalgo3.c: adding fix to prevent seg fault when hints are provided in an empty glyph !! * include/freetype/ftimage.h: removed incorrect "zft_" definitions and updated constants documentation comments * include/freetype/freetype.h (FT_FaceRec): updating documentation comment. The "descender" value is always *negative*, not positive !
David Turner 00d9f40c 2002-09-08T21:29:11 * src/smooth/ftsmooth.c, src/base/ftobjs.c, include/freetype/config/ftmodule.h: updated to correctly support sub-pixel rendering * include/freetype/cache/ftcimage.h, include/freetype/cache/ftcsbits.h, src/cache/ftcimage.c, src/cache/ftcsbit.c: updated to support sub-pixel rendering correctly. Definition of FTC_ImageTypeRec that replaces the obsolete FTC_ImageDesc, and has slightly different fields. The image type is now determined directly by "load_flags" values. * src/autohint/ahtypes.h, src/autohint/ahhint.c, src/pshinter/pshalgo3.c, src/pshinter/pshalgo3.h: various enhancements to the automatic and Postscript hinters !! and sub-pixel hinting now works correctly (see demo programs)
Werner Lemberg 6b5c669b 2002-09-05T15:10:54 * 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. Formatting, minor doc fixes.
David Turner d53bfeb8 2002-08-29T22:50:17 * 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..
David Turner d1245c0d 2002-08-27T22:34:20 updating sources to support the new FT_LOAD_TARGET_ constants to support target-specific hinting
David Turner b08fe2dc 2002-08-27T20:20:29 * 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 #define my_old_constants MY_NEW_CONSTANT - 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: 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. * 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 note that FT_LOAD_TARGET_NORMAL is 0, which means that the default behaviour of the font engine is _unchanged_.
Werner Lemberg edbcbde7 2002-08-22T08:49:42 Formatting.
Werner Lemberg ec810f8c 2002-08-22T06:04:32 * src/pshinter/pshalgo3.c (psh3_glyph_compute_inflections, psh3_glyph_compute_extrema, psh3_hint_table_find_strong_point): Fix compiler warnings and resolve shadowing of local variables.
David Turner 21f433ce 2002-08-21T22:06:41 * src/pshinter/pshalgo3.c, src/base/ftobjs.c, src/base/ftobject.c, src/autohint/ahglyph.c, include/freetype/freetype.h: fixing typos and removing compiler warnings
David Turner 66456162 2002-08-21T21:34:59 * src/pshinter/pshalgo3.c, src/autohint/ahangles.c, src/autohint/ahangles.h, src/autohint/ahglyph.c, src/autohint/ahhint.c, src/autohint/ahtypes.h: the automatic and Postscript hinter now automatically detect inflection points in glyph outlines and treats them specially. This is very useful to prevent nasty effect like the disappearing diagonals of "S" and "s" in many, many fonts..
David Turner fd5770b3 2002-08-19T06:06:44 - removal of compiler warnings - slight improvements to the Postscript hinter
Werner Lemberg b3d5e9cf 2002-07-28T05:05:24 s/ft_memset/FT_MEM_SET/. s/FT_MEM_SET/FT_MEM_ZERO/ where appropriate.
Werner Lemberg b94f3d3e 2002-07-26T14:52:29 * src/pshinter/pshalgo3.c (psh3_hint_table_record, psh3_hint_table_init, psh3_hint_table_activate_mask): Fix error message. Formatting.
Werner Lemberg 7f74a52a 2002-07-26T09:09:10 Fixing ChangeLog entries. Some formatting. * src/truetype/ttgload.c (load_truetype_glyph) [FT_CONFIG_OPTION_INCREMENTAL]: s/memset/ft_memset/. * src/autohint/ahhint.c (ah_hint_edges_3): Fix compiler warning. * src/cff/cffload.c (cff_encoding_load): Remove `memory' variable. * src/cff/cffcmap.c (cff_cmap_encoding_init): Remove `psnames' variable. * src/truetype/ttgload.c (load_truetype_glyph): Remove statement without effect. * src/truetype/ttdriver (Get_Char_Index, Get_Next_Char): Removed.
David Turner ee06410b 2002-07-09T16:49:12 * src/pshinter/pshglob.c: fixed a bug that prevented the hinter from using correct standard width and height values. resulting in hinting bugs with certain fonts (e.g. Utopia)
David Turner 971517ac 2002-07-08T23:13:25 * src/pshinter/pshglob.h, src/pshinter/pshglob.c: adding support for blue fuzz
David Turner 27c322e9 2002-07-08T22:26:11 * include/freetype/freetype.h, src/base/ftobjs.h, freetype/internal/ftobjs.h, freetype/internal/psaux.h, freetype/internal/pshints.h, src/psaux/t1decode.c, src/cff/cffgload.h, src/cff/cffgload.c, src/pshinter/pshalgo1.h, src/pshinter/pshalgo1.c, src/pshinter/pshalgo2.h, src/pshinter/pshalgo2.c, src/pshinter/pshalgo3.h, src/pshinter/pshalgo3.c: Adding support for hinter-specific bit flags, and the new FT_Set_Hint_Flags high-level API
David Turner 9f7d079c 2002-07-03T21:00:26 adding Owen Taylor's patches to the Postscript hinter for testing
David Turner 26438805 2002-07-01T21:57:36 where, if a glyph has more than hint mask, the second mask gets applied to points that should have been covered by the first mask.
Werner Lemberg 5bbb4940 2002-05-30T19:22:14 * src/bdf/descrip.mms, src/type42/descrip.mms: New files. * descrip.mms (all): Updated. * src/bdf/bdflib.c (_bdf_parse_glyphs): Fix typo which prevented compilation. * src/pshglob.c (psh_blues_scale_zones): Fix compiler warning.
David Turner 69e7ee03 2002-05-28T20:29:12 * src/pshinter/pshglob.c (psh_blues_scale_zones): fixed a bug that prevented family blue zones substitution from hapenning correctly
David Turner d15bc0d1 2002-04-12T09:31:48 * README.UNX: updated the Unix-specific quick-compilation guide to warn about the GNU Make requirement at compile time.. * include/freetype/config/ftstdlib.h, include/freetype/config/ftconfig.h, include/freetype/config/ftheader.h, include/freetype/internal/ftmemory.h, include/freetype/internal/ftobjs.h, src/autohint/ahoptim.c, src/base/ftdbgmem.c, src/base/ftdebug.c, src/base/ftmac.c, src/base/ftobjs.c, src/base/ftsystem.c, src/cache/ftcimage.c, src/cache/ftcsbits.c, src/cff/cffdriver.c, src/cff/cffload.c, src/cff/cffobjs.c, src/cid/cidload.c, src/cid/cidparse.c, src/cid/cidriver.c, src/pcf/pcfdriver.c, src/pcf/pcfread.c, src/psaux/t1cmap.c, src/psaux/t1decode.c, src/pshinter/pshalgo1.c, src/pshinter/pshalgo2.c, src/pshinter/pshrec.c, src/psnames/psmodule.c, src/raster/ftraster.c, src/sfnt/sfdriver.c, src/sfnt/ttload.c, src/sfnt/ttpost.c, src/smooth/ftgrays.c, src/type1/t1afm.c, src/type1/t1driver.c, src/type1/t1gload.c, src/type1/t1load.c, src/type1/t1objs.c, src/type1/t1parse.c: added the new configuration file "ftstdlib.h" used to define aliases for all ISO C library functions used by the engine (e.g. strlen, qsort, setjmp, etc...) this eases the porting of FreeType 2 to exotic environments like XFree86 modules/extensions.. also removed many #include <string.h>, #include <stdlib.h>, etc... from the engine's sources where they're not needed..
Werner Lemberg 04728a8b 2002-04-02T14:50:31 Fixes from the stable branch: * include/freetype/config/ftoption.h (FT_CONFIG_OPTION_OLD_CALCS): Removed. [FT_CONFIG_OPTION_OLD_CALCS]: Removed. * include/freetype/internal/ftcalc.h, src/base/ftcalc.c [FT_CONFIG_OPTION_OLD_CALCS]: Removed. * src/base/fttrigon.c (FT_Vector_Length): Change algorithm to match output of FreeType 1. * src/pshinter/pshglob.c (psh_globals_scale_widths): Fixed a small bug that created un-even stem widths when hinting Postscript fonts. formatting, updating copyright
Werner Lemberg b7b163cb 2002-03-31T18:48:24 * src/sfnt/ttcmap.c: 16bit fixes (0xFFFF -> 0xFFFFU). * src/sfnt/ttcmap0.c: 16bit fixes. (TT_Build_CMaps): Simplify debug messages. (tt_cmap12_char_next): Fix offset. * src/sfnt/ttload.c (TT_Load_Names, TT_Load_CMap): Fix debug messages. (TT_Load_OS2): 16bit fix.
David Turner e459d742 2002-03-22T13:52:37 * include/freetype/internal/ftmemory.h, and a lot of other files !!: changed the names of memory macros. Examples: MEM_Set => FT_MEM_SET MEM_Copy => FT_MEM_COPY MEM_Move => FT_MEM_MOVE ALLOC => FT_ALLOC FREE => FT_FREE REALLOC = >FT_REALLOC FT_NEW was introduced to allocate a new object from a _typed_ pointer.. note that ALLOC_ARRAY and REALLOC_ARRAY have been replaced by FT_NEW_ARRAY and FT_RENEW_ARRAY which take _typed_ pointer arguments. This results in _lots_ of sources being changed, but makes the code more generic and less error-prone..
David Turner b5713c54 2002-03-14T11:26:29 * include/freetype/internal/psglobals.h (removed), include/freetype/internal/pshints.h, src/pshinter/pshglob.h: removing obsolete file * include/freetype/internal/tttypes.h, include/freetype/internal/sfnt.h, src/base/ftnames.c, src/cff/cffdrivr.c, src/sfnt/*.c, src/truetype/*.c: updated SFNT/TrueType type definitions
Werner Lemberg 0d9165e1 2002-03-07T21:59:59 * src/base/ftdbgmem.c (ft_mem_table_resize, ft_mem_table_new, ft_mem_table_set, ft_mem_debug_alloc, ft_mem_debug_free, ft_mem_debug_realloc, ft_mem_debug_done, FT_Alloc_Debug, FT_Realloc_Debug, FT_Free_Debug): Fix compiler warnings. * src/base/ftcalc.c (FT_MulFix): Ditto. * src/cff/cffdrivr.c (cff_get_name_index): Ditto. * src/cff/cffobjs.c (CFF_Size_Get_Global_Funcs, CFF_Size_Init, CFF_GlyphSlot_Init): Ditto. * src/cid/cidobjs.c (CID_GlyphSlot_Init, CID_Size_Get_Globals_Funcs): Ditto. * src/type1/t1objs.c (T1_Size_Get_Globals_Funcs, T1_GlyphSlot_Init): Ditto. * src/pshinter/pshmod.c (pshinter_interface): Use `static const'. * src/winfonts/winfnt.c (FNT_Get_Next_Char): Remove unused variables. * include/freetype/internal/psaux.h (T1_Builder_Funcs): Renamed to... (T1_Builder_FuncsRec): This. (T1_Builder_Funcs): New typedef. (PSAux_Interface): Remove compiler warnings. * src/psaux/psauxmod.c (t1_builder_funcs), src/psaux/psobjs.h (t1_builder_funcs): Updated. * src/pshinter/pshglob.h (PSH_Blue_Align): Replaced with ... (PSH_BLUE_ALIGN_{NONE,TOP,BOT}): New defines. (PSH_AlignmentRec): Updated. * include/freetype/internal/ftstream.h (GET_Char, GET_Byte): Fix typo. * include/freetype/internal/ftgloadr.h (FT_SubGlyph): Ditto. * src/base/ftstream (FT_Get_Char): Rename to... (FT_Stream_Get_Char): This. * src/base/ftnames.c (FT_Get_Sfnt_Name): s/index/idx/ -- `index' is a built-in function in gcc, causing warning messages with gcc 3.0. * src/autohint/ahglyph.c (ah_outline_load): Ditto. * src/autohint/ahglobal.c (ah_hinter_compute_blues): Ditto. * src/cache/ftcmanag.c (ftc_family_table_alloc, ftc_family_table_free, FTC_Manager_Done, FTC_Manager_Register_Cache): Ditto. * src/cff/cffload.c (cff_new_index, cff_done_index, cff_explicit_index, CFF_Access_Element, CFF_Forget_Element, CFF_Get_Name, CFF_Get_String, CFF_Load_SubFont, CFF_Load_Font, CFF_Done_Font): Ditto. * src/psaux/psobjs.c (PS_Table_Add, PS_Parser_LoadField): Ditto. * src/psaux/t1decode.c (T1_Decoder_Parse_Charstrings): Ditto. * src/pshinter/pshrec.c (ps_mask_test_bit, ps_mask_clear_bit, ps_mask_set_bit, ps_dimension_add_t1stem, ps_hints_t1stem3, * src/pshinter/pshalgo1.c (psh1_hint_table_record, psh1_hint_table_record_mask, psh1_hint_table_activate_mask): Ditto. * src/pshinter/pshalgo2.c (psh2_hint_table_record, psh2_hint_table_record_mask, psh2_hint_table_activate_mask): Ditto. * src/sfnt/ttpost.c (Load_Format_20, Load_Format_25, TT_Get_PS_Name): Ditto. * src/truetype/ttgload.c (TT_Get_Metrics, Get_HMetrics, load_truetype_glyph): Ditto. * src/type1/t1load.c (parse_subrs, T1_Open_Face): Ditto. * src/type1/t1afm.c (T1_Get_Kerning): Ditto. * include/freetype/cache/ftcmanag.h (ftc_family_table_free): Ditto.
David Turner 49970977 2002-03-06T12:39:12 * src/pshinter/pshalgo2.c: changed 'print_zone' to 'psh2_print_zone' * src/pshinter/pshalgo1.c: changed 'print_zone' to 'psh1_print_zone'
Werner Lemberg 49bcf78d 2002-03-06T06:05:56 * src/pshinter/pshglob.h (PSH_DimensionRec): s/std/stdw/. * src/pshinter/pshglob.c (psh_global_scale_widths, psh_dimension_snap_width, psh_globals_destroy, psh_globals_new): Ditto.
David Turner bc82f1bb 2002-03-01T02:26:22 * include/freetype/ftconfig.h: changed FT_LOCAL xxxx to FT_LOCAL( xxxx ) everywhere in the source. Sames goes for FT_LOCAL_DEF xxxx translated into FT_LOCAL_DEF( xxxxx )
David Turner 222cec8c 2002-02-21T11:48:48 * include/freetype/internal/ftdebug.h, src/base/ftdebug.c: modified the debug sub-system initialization. trace levels can now be specified within the "FT2_DEBUG" environment variable. See the comments within "ftdebug.c" for more details * include/freetype/internal/fttrace.h: new file to define the trace levels used for debugging. it is used both to define enums and toggle names for FT2_DEBUG * src/base/ftobjs.c, src/base/ftstream.c: FT_Assert renamed to FT_ASSERT * include/freetype/internal/ftextend.h, src/base/ftextend.c, src/base/Jamfile, src/base/rules.mk: removing "ftextend" from the library, since it is now completely obsolete..
Werner Lemberg b5349a9b 2002-02-19T16:30:15 * builds/freetype.mk (FT_CFLAGS): Use $(INCLUDE_FLAGS) first. * src/cache/ftccache.c (ftc_cache_resize): Mark `error' as unused to avoid compiler warning. * src/cff/cffload.c (CFF_Get_String): Ditto. * src/cff/cffobjs.c (CFF_StrCopy): Ditto. * src/psaux/psobjs.c (PS_Table_Done): Ditto. * src/pcf/pcfread.c (pcf_seek_to_table_type): Ditto. * src/sfnt/sfdriver.c (get_sfnt_postscript_name): Ditto. (pcf_get_bitmaps): The same for `sizebitmaps'. * src/psaux/t1decode.c (T1_Decode_Parse_Charstrings): The same for `orig_y'. (t1operator_seac): Comment out more dead code. * src/pshinter/pshalgo2.c (ps2_hints_apply): Add `DEBUG_HINTER' conditional. * src/truetype/ttgload.c (TT_Process_Simple_Glyph, load_truetype_glyph): Add `TT_CONFIG_OPTION_BYTECODE_INTERPRETER' conditional.
Werner Lemberg a7d2f5e1 2002-02-19T01:12:23 * src/autohint/ahglyph.c (ah_outline_link_segments): Remove unused variables. * src/autohint/ahhint.c (ah_align_serif_edge): Use FT_UNUSED instead of UNUSED. * src/autohint/ahmodule.c (ft_autohinter_reset): Ditto. * src/pshinter/pshrec.c (ps_mask_table_merge): Fix typo in variable swapping code. * src/pshinter/pshglob.h (PSH_Blue_Align): Add PSH_BLUE_ALIGN_NONE. * src/pshinter/pshglob.c (psh_blues_snap_stem): Use it. * src/pshinter/pshalgo1.c (psh1_hint_table_optimize): Ditto. * src/pshinter/pshalgo2.c (psh2_hint_align): Ditto. * include/freetype/internal/ftobjs.h (UNUSED): Removed.
Werner Lemberg 8880f2c1 2002-01-25T16:05:39 * src/cache/ftccache.c (ftc_node_done, ftc_node_destroy): Fix compilation warnings. * src/base/descrip.mms (OBJS): Add `ftmm.obj'. * src/cache/descrip.mms (ftcache.obj): Dependencies added.
Werner Lemberg 3975e2e1 2002-01-09T21:01:18 Formatting.
David Turner f86709a1 2002-01-07T10:04:09 * src/base/ftobjs.c, src/base/ftoutln.c, src/cache/ftccmap.c, src/cff/cffload.c, src/cff/cffobjs.c, src/pshinter/pshalgo2.c, src/sfnt/ttload.c, src/sfnt/ttsbit.c: removing small compiler warnings (in pedantic compilation modes)
Werner Lemberg af594e60 2001-12-22T14:38:40 * builds/amiga/*: Adaptations to latest changes. Support added for MorphOS. * src/pshinter/pshrec.c (FT_COMPONENT): Redefine to `trace_pshrec'. (ps_mask_table_merge, ps_hints_open, ps_hints_stem, ps_hints_t1stem3, ps_hints_t2mask, ps_hints_t2counter): Fix FT_ERROR messages. * src/pshinter/pshalgo1.c (FT_COMPONENT): Define as `trace_pshalgo1'. * src/pshinter/pshalgo2.c (FT_COMPONENT): Define as `trace_pshalgo2'. * include/freetype/internal/ftdebug.h (FT_Trace): Updated. * docs/modules.txt: New file.
David Turner b5c7de5b 2001-12-21T21:21:13 * src/cff/cffgload.c: added a comment regarding "cntrmask" operator * src/pshinter/pshrec.c: now ignores invalid "hintmask" and "cntrmask" operators (instead of returning an error). Glyph 2028 of the CFF font "MSung-Light-Acro" couldn't be rendered otherwise (it seems its charstring is buggy, though this requires more analysis)..
David Turner 7c0d2081 2001-12-21T15:59:43 * src/cff/cffgload.c, src/psaux/t1decode.c, src/pshinter/pshrec.c, src/pshinter/ahalgo2.c, src/pshinter/pshglob.h: fixed a bug where the X and Y axis where inversed in the postscript hinter. this caused problem when displaying on non-square surfaces..
Werner Lemberg f05003da 2001-12-21T10:57:09 Formatting.
David Turner 0515c096 2001-12-21T04:16:42 * src/pshinter/pshglob.c (psh_globals_new): replaced a floating point constant with a fixed-float equivalent. For some reason, some compilers aren't capable of directly computing a floating pointer constant casted to FT_Fixed, and will link a math library instead !!
Werner Lemberg f41e71a1 2001-12-20T21:22:02 * src/base/ftobjs.c (FT_Done_Library): Remove compiler warning. Formatting.
David Turner c8087481 2001-12-20T13:14:18 * docs/TODO: added "stem3 and counter hints support" to the TODO list for the Postscript hinter * docs/BUGS: closed the AUTOHINT-NO-SBITS bug. * src/pshinter/pshrec.c (t2_hint_stems), src/cff/cffobjs.h, src/cff/cffobjs.c, src/cff/cffload.c, src/cff/cffload.h, src/cff/cffgload.c, src/cff/cffgload.h, src/cff/cffdriver.c, include/freetype/internal/cfftypes.h: added Postscript hinter support to the CFF driver * src/base/ftobjs.c (FT_Done_Library): fixed a stupid bug that crashed the library on exit
Werner Lemberg 5da9dd77 2001-12-16T08:17:33 * src/base/ftglyph (FT_Glyph_To_Bitmap): Remove compiler warning. * include/freetype/ftcache.h (FTC_Node_Unref): Removed. It is already in ftcmanag.h. * src/cache/ftcsbits.c (ftc_sbit_node_load): Remove unused variable `gfam'. * src/cache/ftcmanag.c (ftc_family_table_alloc, * ftc_family_table_free): Use FT_EXPORT_DEF. * include/freetype/cache/ftcmanag.h: Updated. * src/cache/ftccache.c (ftc_node_destroy): Use FT_EXPORT_DEF. * src/cache/ftccmap.c (ftc_cmap_node_init): Remove unused variable `cfam'. Remove compiler warning. (FTC_CMapCache_Lookup): Remove compiler warnings. (ftc_cmap_family_init): Ditto. (FTC_CMapCache_Lookup): Ditto. * builds/unix/configure.ac: Increase `version_info' to 8:0:2. * builds/unix/configure: Regenerated. * builds/mac/README: Updated.
David Turner bce2986d 2001-12-14T14:52:58 fixing hinted advance width bug in all font drivers
David Turner 2b30c17f 2001-12-12T16:07:29 * src/pshint/pshglob.c: adding correct BlueScale/BlueShift support, plus family blues processing * src/cff/cffgload.c: started adding support for the Postscript hinter
David Turner 14183ea0 2001-12-05T15:59:33 First of all, a big thanks to Werner and Antoine for their latest work !! * src/pshinter/pshalgo2.c (psh2_hint_table_init), src/pshinter/pshalgo1.c (psh1_hint_table_init): removed compiler warnings * include/freetype/cache/*, src/cache/*: yet another massive rewrite of the caching sub-system, in order to both increase performance and allow simpler cache sub-classing. As an example, the code for the image and sbit caches is now much simpler I still need to update the documentation in www/freetype2/docs/cache.html to reflect the new design though..
Werner Lemberg c3b21608 2001-12-05T01:22:05 Formatting. Cleaning up of ChangeLog. * docs/license.txt: s/X Windows/X Window System/. * src/raster/ftraster.c: Fix definition condition of MEM_Set(). * src/smooth/ftgrays.c (M_Y): Change value to 192. * src/base/ftdbgmem.c (ft_mem_table_destroy): Fix printf() parameter. Remove unused variable. * src/cache/ftcimage.c (ftc_image_node_init, ftc_image_node_compare): Remove unused variables. * src/cache/ftcsbits.c (ftc_sbit_node_weight): Remove unused variable. * src/raster/ftraster.c (MEM_Set): Move definition down to avoid compiler warning. * src/autohint/ahhint.c (ah_hinter_hint_edges): Use UNUSED() to avoid compiler warnings. * src/pcf/pcfread.c (tableNames): Use `const'. (pcf_read_TOC): Change counter name to avoid compiler warning. Use `const'. * src/pshinter/pshrec.c (ps_hints_close): Remove redundant declaration. * src/pshinter/pshalgo1.c (psh1_hint_table_init): Rename variables to avoid shadowing. * src/pshinter/pshalgo2.c (psh2_hint_table_activate_mask): Ditto. * src/type1/t1objs.h: Remove double declarations of `T1_Size_Init()' and `T1_Size_Done()'.
David Turner f2c56515 2001-11-20T01:29:34 * src/pshinter/{pshalgo2.c, pshalgo1.c}: fixed stupid bug in sorting routine that created nasty alignment artefacts. * src/pshinter/pshrec.c, tests/gview.c: debugging updates.. * src/smooth/ftgrays.c: de-activated experimental gamme support, apparently, "optimal" gamma tables depend on the monitor type, resolution and general karma, so it's better to compute them outside of the rasterizer itself..
David Turner 9d7e5e8b 2001-10-29T17:22:12 other auto-hinter experiments not worthy of a Changelog entry
David Turner a11cd4e1 2001-10-26T07:21:38 a few updates used to debug the auto-hinter as well as try to improve it significantly
David Turner 88cdbb34 2001-10-22T15:24:32 removed bogus warnings
David Turner 12d40dac 2001-10-21T15:41:11 * src/type1/t1load.c: fixed memory leak bugs that appeared with certain synthetized fonts (e.g. CourierBoldOblique, a.k.a. "cobo_____.pfb") * src/pshinter/pshalgo2.c, src/pshinter/pshalgo1.c, src/pshinter/pshglob.c: removing compiler warnings in pedantic modes (in multi-object compilation mode, mainly)
David Turner 7e4b52d1 2001-10-19T09:17:49 getting rid of compiler warnings
David Turner 0d7ccf1d 2001-10-19T07:34:20 adding or updating files to the old build system to compile the library with the Postscript hinter correctly..
David Turner f373e2d9 2001-10-18T13:20:01 rewrote "glnames.py" to fix a rather nasty bug that made FreeType return incorrect glyph names for certain glyph indices..
David Turner a83bc088 2001-10-18T11:38:43 adding new postscript hinter