src/autohint


Log

Author Commit Date CI Message
Werner Lemberg 3ae7cc99 2003-04-22T07:49:24 Cleanups.
David Turner d6ec6eee 2003-03-20T20:58:57 * src/autohint/ahglyph.h, src/autohint/ahglyph.c, src/autohint/ahglobal.c, src/autohint/ahhint.c: fixed blue-scale problem * src/cache/ftccache.c: fixed small bug that could crash the cache in rare circumstances (mostly with broken fonts)
David Turner a41d3f05 2003-02-18T22:36:04 * src/autohint/ahhint.c: disabled the advance width "correction" which seemed to provide more trouble than benefits..
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 146ff279 2003-01-22T22:47:04 * src/autohint/ahhint.c: small fix to the stem width optimisation
David Turner 14018b4a 2003-01-12T18:26:10 2003-01-11 David Chester <davidchester@qmx.net> * include/freetype/config/ftoption.h, src/autohint/ahglobal.h, src/autohint/ahglobal.c, src/autohint/ahglyph.c, src/autohint/ahtypes.h: included David Chester's patches to the auto-hinter in order to slightly improve the output. Note that everything is controlled through the new FT_CONFIG_OPTION_CHESTER_HINTS defined at the end of "ftoption.h", there are also individual FT_CONFIG_CHESTER_XXX macros to control individual "features". Note that all improvements are enabled by default, but can be tweaked for optimization and testing purpose. The configuration macros will most likely disappear in the short future. 2003-01-11 David Turner <david@freetype.org> * include/freetype/internal/fnttypes.h: fixed a structure field definition to avoid memory overwrites
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 621e4886 2002-12-16T21:51:24 2002-12-16 David Turner <david@freetype.org> * docs/VERSION.DLL: updating document to better explain the differences between the three version numbers being used on Unix, as well as provide the AutoConf fragment provided by Lars Clausen * src/smooth/ftgrays.c (gray_render_conic): fixed small bug that prevented bezier arcs with negative vertical coordinates to be rendered appropriately 2002-11-27 Vincent Caron <v.caron@zerodeux.net> * builds/unix/unix-def.in, builds/unix/freetype-config.in, builds/unix/configure.ac, src/gzip/rules.mk, src/gzip/ftgzip.c: adding support for system zlib installations when available on the target platform (Unix only)
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
David Turner 31654e1b 2002-09-24T23:39:58 2002-09-25 David Turner <david@freetype.org> * src/autohint/ahtypes.h: disabling metrics hinting in the auto-hinter. this produces much better anti-aliased text 2002-09-25 Anthony Fok <anthony@thizlinux.com> * src/sfnt/ttcmap0.c: added support for opens___.ttf (it contains a charmap that uses offset=0xFFFFU instead of 0x0000 to indicate a missing glyph)
Werner Lemberg c5e56659 2002-09-21T08:33:27 More 16bit fixes. * src/autohint/ahglobal.c (sort_values): Use FT_Pos for `swap'. (ah_hinter_compute_widths): Use FT_Pos for `dist'. Use AH_MAX_WIDTHS. * src/autohint/ahglyph.c (ah_outline_scale_blue_edges): Use FT_Pos for `delta'. (ah_outline_compute_edges): Replace some ints with FT_Int and FT_Pos. (ah_test_extrema): Clean up code. (ah_get_orientation): Use 4 FT_Int variables instead of FT_BBox to hold indices. * src/autohint/ahtypes.h (AH_SegmentRec): Change type of `score' to FT_Pos.
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 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.
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 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 dcb61e47 2002-07-05T15:54:26 * src/pfr/pfrobjs.c (pfr_slot_load): fixed a small bug that returned incorrect advances when the outline resolution was different from the metrics resolution * src/autohint/ahhint.c: removing compiler warnings * src/autohint/ahglyph.c: slight improvements to the serif detection code. More work is needed though..
David Turner 699053ca 2002-07-04T22:48:12 2002-07-03 David Turner <david@freetype.org> * src/autohint/ahglobal.c, src/autohint/ahtypes.h, src/autohint/ahhint.c: small improvements to the automatic hinter. un-even stem-widths have now disappeared and everything looks much better, even if there are still issues with serifed fonts.
David Turner 0d73b0c4 2002-06-26T23:45:21 * include/freetype/internal/ftobject.h: updating the object sub-system definitions (still experimental) * src/base/fthash.c (ft_hash_remove): fixing a small reallocation bug * include/freetype/fttrigon.h, src/base/fttrigon.c: adding FT_Vector_From_Polar and FT_Angle_Diff to the trigonometric functions * include/freetype/ftstroker.h, src/base/ftstroker.c: adding path stroker component (work in progress)
Werner Lemberg bff86cbe 2002-06-26T05:58:24 Minor fixes and grammatical corrections/additions.
David Turner 25a6e3a1 2002-06-10T23:03:35 * include/freetype/internal/ftobjs.h, src/autohint/ahglyph.c, src/base/ftobjs.c, src/objs/fttype1.c, src/sfnt/ttcmap0.c, src/smooth/ftgrays.c: changed uses of "setjmp" and "longjmp" to "ft_setjmp" and "ft_lonjmp". Removed direct references to <stdio.h> and <setjmp.h> when appropriate, to eventually replace them with a FT_CONFIG_STANDARD_LIBRARY_H. Useful for the XFree86 Font Server backend based on FT2.
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 f8ba2005 2002-03-30T13:16:35 * include/freetype/t1tables.h (t1_blend_max): Fix typo. * src/base/ftstream.c: Simplify FT_ERROR calls. formatting, copyright update
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 eba5ad4b 2002-03-14T12:56:35 no message
David Turner 9657ef05 2002-03-14T08:49:59 * include/freetype/internal/autohint.h, src/autohint/ahmodule.c, src/base/ftapi.c, src/base/ftobjs.c: updating the type definitions for the auto-hinter module. (i.e. FT_AutoHinter_Interface => FT_AutoHinter_ServiceRec, FT_AutoHinter_Interface* => FT_AutoHinter_Service, etc..)
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 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 4d57024d 2002-02-24T02:59:24 * moving all code related to glyph loaders to "internal/ftgloadr.h" and "src/base/ftgloadr.c". Note also that the type "FT_GlyphLoader" is now a pointer to the structure "FT_GlyphLoaderRec"..
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.
David Turner f7f82d77 2002-01-06T10:13:40 the TrueType glyph loader is now much more paranoid, this avoids unpleasant overwrites in the case of invalid glyph data (found in the output of buggy font converters) the computation of auto-hinted stem widths has been modified to avoid certain color fringes in LCD-decimation rendering (a.k.a. "ClearType")
David Turner 1127b2bf 2001-12-30T01:30:11 improving the computation of the advance widths of auto-hinted glyphs, in order to produce better letter spacing..
Werner Lemberg 3681e37d 2001-12-23T00:56:36 Formatting.
David Turner 9a9edc66 2001-12-22T16:07:52 fixing the autohinter: the advance of auto-hinted glyphs in mono-spaced fonts was incorrect
Werner Lemberg e9e130c0 2001-12-07T21:56:32 Formatting.
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 adf07a93 2001-10-30T23:51:24 * src/smooth/ftgrays.c: adding experimental "gamma" support. This produces smoother glyphs at small sizes for very little cost * src/autohint/ahglyph.c, src/autohint/ahhint.c: various fixes to the auto-hinter. They merely improve the output of sans-serif fonts. Note that there are still problems with serifed fonts and composites (accented characters) * tests/gview.c: updated the debugging glyph viewer to show the hints generated by the "autohint" module
David Turner 9d7e5e8b 2001-10-29T17:22:12 other auto-hinter experiments not worthy of a Changelog entry
David Turner b92479b8 2001-10-29T10:45:57 experimental changes to debug the auto-hinter. These are not worthy of a Changelog entry yet..
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 5a1de37e 2001-10-24T07:32:55 replaced liberal uses of "memset" by the "MEM_Set" macro call (some platforms don't provide this ANSI function !!) some changes to "ftsystem.c" implementations in order to use the new memory debugger on Unix, VMS and Amiga too !!
Werner Lemberg a560a1e0 2001-07-03T12:45:24 * src/autohint/ahhint.c (ah_hinter_align_weak_points): Remove unused variable `edges'. (ah_hinter_load): Remove unused variables `old_width' and `new_width'. * src/cid/cidload.c (cid_decrypt): Use `U' for constant (again). * src/psaux/psobjs.c (T1_Decrypt): Ditto. * src/type1/t1parse.c (T1_Get_Private_Dict): Ditto.
Werner Lemberg 415235df 2001-06-28T17:49:10 finishing function header formatting updating copyrights
Werner Lemberg f814d0fa 2001-06-27T16:18:10 First round in converting type foo ( ... ) to type foo ( ... ) Other minor formatting issues.
David Turner dee78134 2001-06-27T09:26:46 * include/freetype/ftconfig.h, src/*/*.c: changed the definition and uses of the FT_CALLBACK_DEF macro in order to support 16-bit compilers
Werner Lemberg 8eb0353f 2001-06-19T23:03:41 Formatting.
David Turner 61f06856 2001-06-19T13:41:59 * include/freetype/fterrors.h: updated some of the error macros to simplify Werner's latest tricks :o)
David Turner 8edbcabc 2001-06-19T08:28:24 - updated doc for FT_New_Memory_Face - removed lots of compiler warnings in lint-style warning modes (/W4 with Visual C++)
Werner Lemberg cf24d515 2001-06-18T14:23:45 Minor cleanups to remove compiler warnings. * include/freetype/cache/ftcmanag.h (FTC_MAX_BYTES_DEFAULT): Use `L' for constant. * include/freetype/config/ftoption.h (FT_RENDER_POOL_SIZE): Ditto. * src/base/ftcalc.c (FT_MulDiv): Use `L' for constant. * src/base/ftglyph.c (FT_Glyph_Get_CBox): Remove `error' variable. * src/base/fttrigon.c (ft_trig_arctan_table): Use `L' for constants. * src/base/ftobjs.c (FT_Done_Size): Fix return value. (FT_Set_Char_Size, FT_Set_Pixel_Sizes, FT_Get_Kerning): Remove unused `memory' variable. * src/autohint/ahglyph.c (ah_get_orientation): Use `L' for constant. * src/autohint/ahhint.c (ah_hint_edges_3, ah_hinter_align_edge_points): Remove unused `before' and `after' variables. (ah_hinter_align_weak_points): Remove unused `edge_limit' variable. (ah_hinter_load): Remove unused `new_advance', `start_contour', and `metrics' variables. * src/cff/cffload.c (CFF_Load_Encoding): Remove dead code to avoid compiler warning. * src/cff/cffobjs.c (CFF_Init_Face): Remove unused `base_offset' variable. * src/cff/cffgload.c (CFF_Parse_CharStrings): Remove unused `outline' variable. (cff_compute_bias): Use `U' for constant. * src/cid/cidload.c (cid_decrypt): Ditto. * src/psaux/psobjs.c (T1_Decrypt): Ditto. * src/psaux/t1decode.c (T1_Decoder_Parse_CharStrings): Ditto. * src/sfnt/ttload.c (TT_Load_Kern): Remove unused `version' variable. * src/sfnt/ttsbit.c (TT_Load_SBit_Image): Remove unused `top' variable. * src/truetype/ttgload.c (load_truetype_glyph): Remove unused `num_contours' and `ins_offset' variables. (compute_glyph_metrics): Remove unused `Top' and `x_scale' variables. (TT_Load_Glyph): Remove unused `memory' variable. * src/smooth/ftgrays.c (grays_raster_render): Use `L' for constants.
Werner Lemberg 00a2207f 2001-06-18T10:35:00 Make the new error scheme source compatible with older FT versions by introducing another layer. * include/freetype/fterrors.h (FT_ERRORDEF_, FT_NOERRORDEF_): New macros. (FT_NOERRORDEF): Removed. * include/*/*err*.h: Use FT_ERRORDEF_ and FT_NOERRORDEF_.
David Turner 0ebd3338 2001-06-08T10:54:43 * src/autohint/ahhint.c (ah_hinter_load_glyph): fixed a bug that corrupted transformed glyphs that were auto-hinted (the transform was applied twice !!)
Werner Lemberg 1f7f0e87 2001-06-06T17:30:41 Complete redesign of error codes. Please check ftmoderr.h for more details. * include/freetype/internal/cfferrs.h, include/freetype/internal/tterrors.h, include/freetype/internal/t1errors.h: Removed. Replaced with files local to the module. All extra error codes have been moved to `fterrors.h'. * src/sfnt/ttpost.h: Move error codes to `fterrors.h'. * src/autohint/aherrors.h, src/cache/ftcerror.h, src/cff/cfferrs.h, src/cid/ciderrs.h, src/pcf/pcferror.h, src/psaux/psauxerr.h, src/psnames/psnamerr.h, src/raster/rasterrs.h, src/sfnt/sferrors.h, src/smooth/ftsmerrs.h, src/truetype/tterrors.h, src/type1/t1errors.h, src/winfonts/fnterrs.h: New files defining the error names for the module it belongs to. * include/freetype/ftmoderr.h: New file, defining the module error offsets. Its structure is similar to `fterrors.h'. * include/freetype/fterrors.h (FT_NOERRORDEF): New macro. (FT_ERRORDEF): Redefined to use module error offsets. All internal error codes are now public; unused error codes have been removed, some are new. * include/freetype/config/ftheader.h (FT_MODULE_ERRORS_H): New macro. * include/freetype/config/ftoption.h (FT_CONFIG_OPTION_USE_MODULE_ERRORS): New macro. All other source files have been updated to use the new error codes; some already existing (internal) error codes local to a module have been renamed to give them the same name as in the base module. All make files have been updated to include the local error files. * src/cid/cidtokens.h: Replaced with... * src/cid/cidtoken.h: This file for 8+3 consistency. * src/raster/ftraster.c: Use macros for header file names.
David Turner 66cb4790 2001-05-14T14:04:23 * src/base/ftcalc.c (FT_DivFix): fixed a bug in the 64-bit code that created incorrect scale factors !! * src/autohint/ahglobal.c, src/autohint/ahglyph.c, src/autohint/ahhint.c: fixed the incorrect blue zone computations, and improved the composite support. Note that these changes result in improved rendering, while sometimes introducing their own artefacts. That's probably the last big change to the autohinter before the introduction of its complete replacement..
David Turner ebe85f59 2001-05-11T14:25:57 * include/freetype/fttrigon.h, src/base/fttrigon.c, src/base/ftbase.c, src/base/Jamfile, src/base/rules.mk: adding trigonometric functions to the core API (using Cordic algorithms). * builds/top_level.mk, builds/newline, builds/detect.mk: fixed problems with Make on Windows 2000, as well as problems when "make distclean" is invoked on a non-Unix platform when there is no "config.mk" in the current directory.. * builds/freetype.mk: fixed a problem with object deletions under Dos/Windows/OS/2 systems * src/tools: added new directory to hold tools and test programs moved docmaker.py, glnames.py to it.. * src/tools/docmaker.py: improved the script to add the current date at the footer of each web page (useful to distinguish between versions) * Jamfile: fixed incorrect HDRMACRO argument. * TODO: removed the cubic arc bbox computation note, since it has been fixed recently.. * include/freetype/t1tables.h, include/freetype/config/ftoption.h: formatting
Werner Lemberg cbc9938e 2001-04-06T07:05:50 * builds/os2/*.mk: These files have been forgotten to update to the structure of similar makefiles. * builds/dos/*.mk: Ditto. * builds/ansi/*.mk: Ditto. * builds/win32/win32-def.mk (BUILD): Fix typo. * builds/compiler/*.mk (CLEAN_LIBRARY): Don't use NO_OUTPUT. This is already used in the link_*.mk files. * src/*/Jamfile: Slight changes to make files more cryptic.
Werner Lemberg a1844e09 2001-04-03T21:07:36 * Jamfile, src/Jamfile, src/*/Jamfile: Formatted. Slight changes to give files identical structure.
David Turner 5bf0a394 2001-03-24T17:10:09 * Jamrules, Jamfile, src/Jamfile, src/*/Jamfile: Adding jamfiles to the source tree. see www.freetype.org/jam/index.html for details
David Turner 8d3a401f 2001-03-20T11:14:24 * builds/*/*-def.mk: changed the objects directory from "obj" to "objs" * include/freetype/config/ftheader.h: removed obsolete macros like FT_SOURCE_FILE, etc.. and added cache-specific macro definitions that were previously defined in <freetype/ftcache.h>. Added comments to be included in a new API Reference section. * src/*/*: removed the use of FT_SOURCE_FILE, etc.. now, each component needs to added its own directory to the include path at compile time. Modified all "rules.mk" and "descrip.mms" accordingly..
Werner Lemberg 914b289f 2001-03-10T17:07:42 * src/*/*.c: Added many casts to make code more 64bit-safe.
Werner Lemberg e274cfd3 2001-03-04T21:53:08 * src/autohint/ahtypes.h (AH_Hinter): Add elements `disable_horz_edges', `disable_vert_edges'. * src/autohint/ahhint.c (ah_hint_edges_3, ah_hinter_hint_edges): Use them (and remove static variables with the same names). * src/pcf/pcfutil.c (BitOrderInvert): Add `const'. * docs/glnames.py: Updated to latest pstables.h changes. * src/psnames/pstables.h: Add more `const'. * src/pcf/pcfutil.c: Ditto. * src/base/ftglyph.c (FT_Glyph_To_Bitmap): Fixing typo (FT_Glyph_Done -> FT_Done_Glyph). * include/freetype/ttnameid.h: Added some new Microsoft language codes and LCIDs as found in Office Xp. * builds/hurd/detect.mk: New file. Added support to detect the GNU Hurd operating system as Unix-like. Fix submitted by Anthony Fok <foka@debian.org>. * src/type1/t1gload.c (T1_Load_Glyph): Set glyph control data to the the Type 1 glyph charstring (used by conversion programs). Submitted by Ha Shao <hashao@chinese.com>. * src/base/ftgrays.c (grays_sweep): The function didn't exit immediately if `num_cells' was 0 as it should. Thanks to Boris for finding this out. * src/base/ftglyph.c (FT_Glyph_To_Bitmap): Fixed memory leak when bitmap rendering fails (thanks to Graham Asher). * docs/docmaker.py, include/freetype/*.h: Updated the DocMaker script to support chapters and section block ordering. Updated the public header files accordingly. * src/base/ftglyph.c (FT_Glyph_Copy): Advance width and glyph format were not correctly copied.
Werner Lemberg c3e987e2 2001-01-03T06:47:10 * builds/vms: Support files for VMS architecture added. * descrip.mms, src/*/descrip.mms: VMS makefiles added. * README.VMS: New file. * LICENSE.TXT: Added info about PCF driver license.
Tom Kacvinsky 45fbecbb 2000-12-22T07:24:02 Removed unnecessary comments and commented-out code from ah_hinter_load_glyph.
Tom Kacvinsky f8d841a7 2000-12-21T01:25:13 Changed functions ah_hinter_load and ah_hinter_load_glyph so that synthetic fonts render correctly. Previously, the first glyph rendered from such a font did not have the FontMatrix applied.
Werner Lemberg 63408a12 2000-12-13T23:44:37 include/freetype/internal/internal.h: Fixed header inclusion macros to use direct definitions. This is the only way to do these things in a portable way :-( The rest of the code should follow shortly though everything compiles now. * builds/compiler/intelc.mk, builds/compiler/watcom.mk: New files. * builds/win32/detect.mk: Added support for the Intel C/C++ compiler, as well as _preliminary_ (read: doesn't work!) support for Watcom. Also added a new setup target. Type "make setup list" for a list of supported command-line compilers on Win32. * src/base/ftdebug.c: Added dummy symbol to avoid empty file if conditionals are off.
David Turner 170c0d4c 2000-12-13T19:55:11 * include/freetype/config/ft2build.h, include/freetype/internal/internal.h: fixed header inclusion macros to use direct definitions. This is the only way to do these things in a portable way :-( The rest of the code should follow shortly though everything compiles now.. * builds/compiler/intelc.mk, builds/compiler/watcom.mk, builds/win32/detect.mk: added support for the Intel C/C++ compiler, as well as _preliminary_ (read: doesn't work !!) support for Watcom. Also added a new setup target. Type "make setup list" for a list of supported command-line compilers on Win32..
Werner Lemberg d5c1b27d 2000-12-12T22:28:12 * include/freetype/config/ft2build.h (FT2_ROOT, FT2_CONFIG_ROOT): Removed. ANSI C doesn't (explicitly) allow macro expansion in arguments using `##'. (FT2_PUBLIC_FILE, FT2_CONFIG_FILE, FT2_INTERNAL_FILE): Use directory names directly. Make them configurable. Use `##' to strip leading and trailing spaces from arguments. * builds/unix/ft2unix.h: Adapted. * src/base/ftsystem.c (ft_alloc, ft_realloc, ft_free, ft_io_stream, ft_close_stream): Use FT_CALLBACK_DEF. * builds/unix/ftsystem.c: Use new header scheme. (FT_Done_Memory): Use free() from FT_Memory structure. * src/base/ftinit.c, src/base/ftmac.c: Header scheme fixes. * include/freetype/config/ft2build.h (FT2_CONFIG_ROOT, FT2_PUBLIC_FILE, FT2_CONFIG_FILE, FT2_INTERNAL_FILE, FT_SOURCE_FILE): Use `##' operator to be really ANSI C compliant.
Werner Lemberg 16a60e87 2000-12-12T16:29:46 next try
Werner Lemberg 90d9964e 2000-12-09T00:45:38 * */*.h: Changed body inclusion macro names to start and end with `__' (those which haven't converted yet). Fixed minor conversion issues. * src/winfonts/winfnt.c: Updated to new header inclusion scheme. * */*.[ch]: Changed source files to adhere to the new * src/cff/cff.c, src/cff/rules.mk: Updated. * */*.[ch]: Now using <ft2build.h> as the default build and setup
Werner Lemberg cc069beb 2000-12-08T16:17:16 cleanups
David Turner 19ed8afe 2000-12-08T02:42:29 - updated all source files to adhere to the new inclusion scheme - the CFF loader now loads the encodings and charset tables though doesn't use them for now
David Turner 940d3064 2000-12-05T23:07:16 re-fixed FTC_Manager_Done :-)
Werner Lemberg 5c4f5ebd 2000-11-18T04:42:41 formatting
David Turner e006675e 2000-11-16T19:06:28 added support to synthetic Type 1 fonts. Why didn't this thing get committed ??
David Turner a6c747d2 2000-11-08T19:44:48 fixed a small bug: the "linearHoriAdvance" and "vertHoriAdvance" were not set correctly when the auto-hinter is used to load/hint a glyph..
Werner Lemberg dc72aff4 2000-11-04T08:33:38 Finishing David's latest changes (there were some errors in it).
David Turner 54e75749 2000-11-04T02:52:02 defining new types to hold "internal" fields of public objects: FT_Face_Internal, FT_Size_Internal, FT_Slot_Internal these contain some fields that may change between releases of FreeType, without affecting the size of FT_FaceRec, FT_SizeRec, FT_GlyphSlotRec, etc.., which means that drivers wouldn't need to be recompiled if we only add new fields to an internal structure.. I plan to hack a few things related to the auto-hinter and I need this move to ensure that we will not break binary compatibility between 2.0 and 2.1 :-) - David
David Turner 76a5f623 2000-11-04T01:55:49 major reformatting of the sources: FT_EXPORT_DEF => FT_EXPORT FT_EXPORT_FUNC => FT_EXPORT_DEF BASE_DEF => FT_BASE BASE_FUNC => FT_BASE_DEF LOCAL_DEF => FT_LOCAL LOCAL_FUNC => FT_LOCAL_DEF LOCAL_FUNC_X => FT_CALLBACK_DEF LOCAL_DEF_X => FT_CALLBACK_TABLE FT_CPLUSPLUS => FT_CALLBACK_TABLE_DEF
Werner Lemberg e4b32a5d 2000-10-31T20:42:18 Removing trailing whitespace.
Werner Lemberg 47a5f41d 2000-10-17T03:38:43 Added copyright messages to all Makefiles. Added documentation to FT_Get_Sfnt_* stuff (in ftnames.[ch]) minor other doc fixes
Werner Lemberg 6fbe4db6 2000-10-05T04:53:31 minor formatting issues
David Turner f00a4de9 2000-10-03T22:03:09 fixed two bugs: - one bug in the auto-hinter that could cause some program crashes with certain fonts - fixed the loading of the font matrix "offset" parameters in Type 1 and CID-keyed fonts..
David Turner a39acf55 2000-08-23T02:47:57 updated "psaux" and "type1z". The Type 1 driver now completely relies on "psaux". I now need to change the CID driver accordingly, then finally move the Type 2 parsing routines to "psaux" when appropriate..
Werner Lemberg 29a90e26 2000-08-03T00:03:08 Updating unix/ftconfig.in to recent config/ftconfig.h changes. More C++ fixes: Introducing LOCAL_FUNC_X for local functions used in function pointers (there are no local anonymous functions in C++) and FT_CPLUSPLUS (instead of FT_EXPORT_VAR) to define linkage of structures which contain function pointers.
Werner Lemberg 3a89c2a4 2000-08-01T17:05:20 Removing FT_MAKE_OPTION_SINGLE_LIBRARY_OBJECT. It has never worked. Instead, define BASE_DEF() and BASE_FUNC() similarly to FT_EXPORT_DEF() and FT_EXPORT_FUNC(), respectively, allowing the programmer to define proper types and/or export lists for multiple DLLs if necessary (e.g. ftbase.dll -- standalone, fttype1.dll -- needs ftbase.dll, etc.). The library is finally compiling and linking natively with a C++ compiler!
Werner Lemberg c713d924 2000-08-01T13:17:04 Added #ifdef's for C++ to all header files.
Werner Lemberg e72c9fec 2000-07-31T18:59:02 Simplifying the FIELD_* and FRAME_* macros. Before calling these macros, you should #define FT_STRUCTURE to the structure which will be filled. Replaced FT_FIELD_REF with FT_FIELD_SIZE, FT_FIELD_SIZE_DELTA, and FT_FIELD_OFFSET to make the code more readable; additionally, it should be more portable because we no longer cast a pointer to an FT_UShort (which e.g. fails with Sun's C++ compiler) but computes the difference between two pointers which is guaranteed to work. Fixing warnings (and C++ errors) while using Sun's latest cc and CC incarnations. Most of them are related to variable shadowing.
Werner Lemberg 58b17f96 2000-07-27T23:29:08 Formatting.
David Turner c5cdf8bc 2000-07-27T21:40:22 re-adding a "unix-dev.mk". Debugging libtool output is just too much of a pain for me, I prefer a good old static lib without optimizations :-) "make devel" is back on Unix then..
Werner Lemberg c703b1bf 2000-07-27T16:57:35 *slight* formatting only. Congratulations, David! :-)
David Turner 666b11d5 2000-07-27T15:59:08 small fix to the auto-hinter: the filling direction of each glyph is now re-computed on the fly, given that we cannot rely on the "flags" field of the source outline.. this fixes problems with many fonts, including the Arphic ones (not to say that CJK fonts are handled better for now though..)
Werner Lemberg c3dd151b 2000-07-26T14:11:15 autohint: Formatting. Replacing many enums with #defines since we do arithmetics (especially ORing which would produce undefined enum values). The ideal thing instead of #defines is `const int' as provided in C++... Adding header files to rules.mk
Werner Lemberg 04563546 2000-07-24T06:01:34 `make install' is available now. Formatting.
Werner Lemberg db578ae0 2000-07-23T21:27:52 Adding $(SO) and $(SA), denoting objects and library for a static build. This is currently used for Unix only -- it should be extended that it is possible to build DLLs and static libs on other platforms also. Formatting.