include


Log

Author Commit Date CI Message
Werner Lemberg a37745ba 2005-03-23T16:45:24 * docs/CHANGES, docs/INSTALL.ANY: Updated. * include/freetype/ftmoderr.h: Replace `Autohint' with `Autofit'. Add `OTvalid'. * src/autofit/aferrors.h: New file. * src/autofit/afglobal.c, src/autofit/afhints.c, src/autofit/aflatin.c, src/autofit/afloader.c: s/FT_Err_/AF_Err_/. Include aferrors.h. * src/autofit/rules.mk (AUTOF_DRV_H): Include aferrors.h. * src/otvalid/otverror.h: s/FT_Mod_Err_OTV/FT_Mod_Err_OTvalid/.
Werner Lemberg ebf5585d 2005-03-16T01:49:54 Formatting.
David Turner 58609c40 2005-03-15T23:31:48 * docs/CHANGES: updating * src/type1/t1parse.c (T1_New_Parser), src/type42/t42parse.c (t42_parser_init): modifying functions to check the font header before allocating anything on the heap. * internal/freetype/ftmemory.h: introducing the new macros FT_ARRAY_MAX and FT_ARRAY_CHECK * src/pcf/pcfread.c, src/pcf/pcfutil.c: minor fixes and simplifications. try to protect the PCF driver from doing stupid things with broken fonts.
David Turner 68df4f73 2005-03-15T18:18:57 * src/bdf/bdflib.c: various improvements to the bdf loader, mainly used to reduce the amount of heap size required to only test wether we're dealing with a BDF font (the old code allocated 64 Kb right before any test). * src/lzw/ftlzw.c (FT_Stream_OpenLZW): modified the function to check the LZW header before doing anything else. This helps avoid un-necessary heap allocations (400 Kb of heap memory for the LZW decoder ! Oh my !) * src/gzip/ftgzip.c (FT_Stream_OpenGZip): ditto for the .gz decoder, though the code savings is smaller.
Werner Lemberg c11aeb64 2005-03-10T15:49:45 * src/truetype/ttpload.c (tt_face_load_cvt, tt_face_load_fpgm): Fix serious typo which prevented correct TT rendering. * include/freetype/internal/ftmemory.h: Undo change from 2005-03-03. To suppress warnings it is sufficient to use `-fno-strict-aliasing'.
Werner Lemberg 8acb867e 2005-03-08T11:43:36 Formatting.
Werner Lemberg 35fd84b9 2005-03-08T06:00:35 Formatting.
Werner Lemberg baa662bb 2005-03-03T23:05:29 * src/base/ftutil.c: Include FT_INTERNAL_OBJECTS_H.
David Turner 1339b974 2005-03-03T14:10:21 * include/freetype/config/ftmodule.h: moving the order of drivers to speed up font loading. the pcf and bdf loaders are still slow and eat memory like crazy.
David Turner 683973b4 2005-03-03T14:00:23 * include/freetype/internal/ftobjs.h, src/base/ftutil.c (ft_highpow2), src/pfr/pfrload.c, src/pfr/pfrobjs.c, src/pfr/pfrtypes.h: implement FT_OPTIMIZE_MEMORY, the kerning table is not loaded into the heap anymore.
David Turner 0780817a 2005-03-03T13:58:13 * include/freetype/internal/{ftmemory.h,ftserv.h}: removing compiler warnings with GCC 3.3 and above...
David Turner b9c22aff 2005-03-01T15:48:29 * src/autofit/{afhints.h,afhints.c,aflatin.h,aflatin.c,afloader.c}: various bug-fixes and drastic heap usage reduction improvements. * include/freetype/config/ftmodule.h: the auto-fitter is now the only supported auto-hinting module * include/freetype/config/ftstdlib.h: adding FT_INT_MAX definition
Werner Lemberg e793092d 2005-03-01T02:13:50 Formatting. * src/truetype/ttpload.c (tt_face_load_loca): Fix typo. * src/sfnt/ttkern.c: Include `ttkern.h'. (FT_COMPONENT): Updated. * include/freetype/internal/fttrace.h: Add entry for `ttkern'. * src/sfnt/ttsbit0.c: s/FT_Err_/SFNT_Err_/. Decorate constants with `U' and `L' where necessary. * src/sfnt/ttcmap.c (tt_cmap4_next): Remove unused variable.
David Turner 6a487b59 2005-02-28T22:09:07 * src/base/ftdbgmem.c (FT_DumpMemory): added sorting of memory sources according to decreasing maximum cumulative allocations. * include/freetype/internal/tttypes.h, src/sfnt/ttsbit.c, src/sfnt/ttsbit0.c, src/truetype/ttobjs.c, src/cff/cffobjs.c, src/sfnt/sfobjs.c: implementing new heap-optimized embedded bitmap loader. This one also fixes bug #12107 * src/sfnt/sfobjs.c: fixed bug that prevented loading SFNT fonts without a 'kern' table.
David Turner e5680279 2005-02-26T00:12:04 * many, many files: several memory optimizations were implemented to drastically reduce the heap usage of FreeType, especially in the case of memory-mapped files. The idea is to avoid loading and decoding tables in the heap, and instead access the raw data whenever possible (i.e. when it doesn't compromise performance). This had several impacts: first, opening vera.ttf uses a ridiculous amount of memory (when the FT_Library footprint is accounted for), until you start loading glyphs. Even then, you'll save at least 20 Kb compared to the non optimized case. performance of various operations, including open/close has also been dramatically improved. More optimisations to come. The auto-hinter eats memory like crazy? This must be stopped...
David Turner e70d5531 2005-02-22T16:53:06 * include/freetype/config/ftoption.h, include/freetype/internal/ttypes.h, src/truetype/ttpload.c, src/truetype/ttpload.h, src/truetype/ttgload.c: added the temporary configuration FT_OPTIMIZE_MEMORY to control various optimizations used to reduce the heap footprint of memory-mapped TrueType files. * src/truetype/ttpload.c (tt_face_load_loca, tt_face_get_location, tt_face_done_loca): when FT_OPTIMIZE_MEMORY is set, the locations table is read directly from memory-mapped streams, instead of being decoded into the heap. * src/truetype/ttpload.c: only load the CVT and fpgm tables when the bytecode interpreter is compiled in.
David Turner 3e26d07e 2005-02-22T15:38:12 * src/base/ftdbgmem.c: adding the ability to list all allocation sites in the memory debugger. Also a new function FT_DumpMemory() was added. It is only available in builds with FT_DEBUG_MEMORY defined, and you must declare it in your own code to use it, i.e. with something like: extern void FT_DumpMemory( FT_Memory ); ... FT_DumpMemory( memory ); * include/freetype/config/ftoptions.h: disabling TrueType bytecode interpreter ! * include/freetype/internal/ftmemory.h: adding FT_ARRAY_ZERO, as a convenience macro.
Werner Lemberg 8285d49a 2004-12-14T22:32:34 Small additions to fix reference creation.
Werner Lemberg f2438e1d 2004-12-14T16:01:29 * src/base/ftbitmap.c, include/freetype/ftbitmap.h: New files for handling various bitmap formats. * include/freetype/config/ftheader.h (FT_BITMAP_H): New macro. * src/base/rules.mk (BASE_EXT_SRC): Add ftbitmap.c. * src/bdf/bdfdrivr.c (BDF_Glyph_Load): Don't convert bitmaps to 8bpp but return them as-is. * docs/CHANGES: Mention new bitmap API. * include/freetype/ftchapter.s: Updated.
Werner Lemberg ece8b20e 2004-12-13T23:16:59 Documentation updates, whitespace.
Werner Lemberg a4aadf54 2004-12-13T11:40:36 Whitespace, sorting.
Werner Lemberg 34f4f39a 2004-12-09T22:22:52 * src/base/ftobjs.c (ft_glyphslot_clear): Reset `lsb_delta' and `rsb_delta'.
Werner Lemberg a3a2a045 2004-12-04T14:23:50 Formatting, copyright years.
Antoine Leca 1e32f2b4 2004-12-03T14:58:40 * include/freetype/ttnameid.h: Updated to latest specifications from Microsoft.
Werner Lemberg 1ec3963d 2004-11-24T07:08:21 * src/base/ftoutln.c (FT_OrientationExtremumRec, ft_orientation_extremum_compute): Removed. (FT_Outline_Get_Orientation): Rewritten, simplified. * src/autohint/ahglyph.c: Include FT_OUTLINE_H. (ah_test_extremum, ah_get_orientation): Removed. (ah_outline_load): Use FT_Outline_Get_Orientation. * src/base/ftsynth.c (ft_test_extrama, ft_get_orientation): Removed. (FT_GlyphSlot_Embolden): Use FT_Outline_Get_Orientation.
Werner Lemberg 80c4ef81 2004-11-19T17:02:37 Improve documentation for `FT_LOAD_IGNORE_GLOBAL_ADVANCE_WIDTH'.
Werner Lemberg 9abc7eb5 2004-11-19T16:55:32 Documentation update.
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 3605e470 2004-11-12T07:02:45 Add new function FT_Get_PS_Font_Private(). * include/freetype/internal/services/svpsinfo.h (PS_GetFontPrivateFunc): New service function. * include/freetype/t1tables.h, src/base/fttype1.c (FT_Get_PS_Font_Private): New function. * src/type1/t1driver.c (t1_ps_get_font_private): New function. (t1_service_ps_info): Updated. * src/cff/cffdrivr.c (cff_service_ps_info): Updated. * src/cid/cidriver.c (cid_service_ps_info): Updated. * src/type42/t42drivr.c (t42_ps_get_font_private): New function. (t42_service_ps_info): Updated. * src/type42/t42parse.c (t42_parse_dict): Remove compiler warning.
Werner Lemberg 023a4bf3 2004-10-14T11:33:04 * include/freetype/config/ftstdlib.h: Include `stddef.h'. (ft_ptrdiff_t): Define. * include/freetype/fttypes.h (FT_PtrDist): Use `ft_ptrdiff_t'. * src/cid/cidload.c (cid_parse_dict), src/type1/t1load.c (parse_dict): Fix compiler warning.
Werner Lemberg ee95b6f0 2004-09-10T14:39:00 Adding OpenType validation module. The code is based on the (unfinished) `otlayout' module but has been heavily modified to make it much more compact. * src/otvalid/*: New module. * include/freetype/ftotval.h, src/base/ftotval.c, include/freetype/internal/services/svotval.h: New files. * include/freetype/config/ftmodule.h: Add otv_module_class. * include/freetype/config/ftheader.h (FT_OPENTYPE_VALIDATE_H): New macro. * include/freetype/internal/ftserv.h (FT_SERVICE_OPENTYPE_VALIDATE_H): New macro. * include/freetype/internal/fttrace.h (otvmodule, otvcommon, otvbase, otvgdef, otvgpos, otvgsub, otvjstf): New trace components. * include/freetype/ftchapters.h: Updated. * src/base/Jamfile (Library), src/base/descrip.mms (OBJS), src/base/rules.mk (BASE_EXT_SRC): Updated. * docs/CHANGES: Updated.
Werner Lemberg 645af081 2004-09-06T07:06:56 * include/freetype/internal/ftobjs.h: Don't include FT_CONFIG_STANDARD_LIBRARY_H. (FT_Validator, FT_VAlidationLevel, FT_ValidatorRec, FT_VALIDATOR, ft_validator_init, ft_validator_run, ft_validator_error, FT_INVALID, FT_INVALID_TOO_SHORT, FT_INVALID_OFFSET, FT_INVALID_FORMAT, FT_INVALID_GLYPH_ID, FT_INVALID_DATA): Move to... * include/freetype/internal/ftvalid.h: New file. Make FT_INVALID return module-specific error codes. * include/freetype/internal/internal.h (FT_INTERNAL_VALIDATE_H): New macro. * include/freetype/fterrors.h: Undefine FT_ERR_PREFIX only if FT_KEEP_ERR_PREFIX isn't defined. * src/base/ftobjs.c: Include FT_INTERNAL_VALIDATE_H. * src/sfnt/ttcmap.h: Don't include FT_INTERNAL_OBJECTS_H but FT_INTERNAL_VALIDATE_H. * src/sfnt/ttcmap.c: Don't include FT_INTERNAL_OBJECTS_H but FT_INTERNAL_VALIDATE_H. Include sferrors.h before FT_INTERNAL_VALIDATE_H. s/FT_Err_Ok/SFNT_Err_Ok/. * src/sfnt/sferrors.h: Define FT_KEEP_ERR_PREFIX. * src/type1/t1afm.c: Include t1errors.h.
Werner Lemberg 92c9f105 2004-09-04T06:53:36 * src/base/ftdebug.c (ft_debug_init): Highest debug level is 7, not 6.
Werner Lemberg 510b8552 2004-08-30T05:27:57 * include/freetype/tttags.h (TTAG_BASE, TTAG_GDEF, TTAG_GPOS, TTAG_JSTF): New tags. * include/freetype/fttypes.h (FT_Bytes, FT_Tag): New typedefs. (FT_Int): Add `signed'.
Werner Lemberg 17439423 2004-08-11T05:25:37 * src/base/ftstream.c (FT_Stream_Close): Don't reset stream->close to NULL. This allows custom close functions to delete the FT_STREAM object. Add API to get information about SFNT tables. * include/freetype/internal/services/svsfnt.h (FT_SFNT_Table_Info_Func): New typedef. (SFNT_Table): Add it. * src/base/ftobjs (FT_Sfnt_Table_Info): New function. * include/freetype/tttables.h: Updated. * src/sfnt/sfdriver.c (sfnt_table_info): New function. (sfnt_service_sfnt_table): Add it. * docs/CHANGES: Updated. * include/freetype/freetype.h (FREETYPE_PATCH): Set to 10. * builds/unix/configure.ac (version_info): Set to 9:8:3. * builds/unix/configure: Updated. * builds/win32/visualc/index.html, builds/win32/visualc/freetype.dsp, builds/win32/visualc/freetype.vcproj: s/219/2110/, s/2.1.9/2.1.10/. * builds/freetype.mk (refdoc), README, Jamfile (RefDoc): s/2.1.8/2.1.9/. * docs/CHANGES, docs/VERSION.DLL: Updated. * src/base/ftrfork.c (FT_Raccess_Guess) [!FT_CONFIG_OPTION_GUESSING_EMBEDDED_FORK]: Remove compiler warnings.
Werner Lemberg 004f3da8 2004-07-28T00:09:02 * src/pcf/pcfread.c (pcf_interpret_style): Always allocate memory for face->style_name. * src/pcf/pcfdrivr.c (PCF_Face_Done): Free `style_name'. * include/freetype/config/ftconfig.h (FT_SIZEOF_LONG): Recognize five-byte `long' (which is avoided then).
Werner Lemberg 3fb70ba6 2004-07-19T20:02:35 formatting & small beautification
David Turner efa178ee 2004-07-18T07:21:29 disabling the bytecode interpreter again
David Turner 5ab41363 2004-07-18T07:15:18 * include/freetype/cache/ftcglyph.h, src/cache/ftcglyph.c: fixed a dangling pointer bug that happened in very rare cases: i.e. when a new family object was destroyed by an out-of-memory condition during a glyph node initialization. The function FTC_Cache_Lookup would flush the cache and restart the lookup with a bad pointer. * src/cache/ftcmanag.c: fixed a cache flushing bug
Werner Lemberg 43f0e26c 2004-07-17T16:45:21 * docs/CHANGES: Updated. * src/base/ftstroke.c (FT_Stroker_ParseOutline): Fix compiler warning.
David Turner 9f67a45d 2004-07-15T21:13:54 * include/freetype/ftstroke.h: updating documentation comments. I hereby declare the stroker as OFFICIAL !
David Turner 0634a876 2004-07-15T21:08:13 * src/base/ftstroke (FT_Stroker_ParseOutline): single points are not stroked, preventing a bug with pala.ttf and other fonts.
Werner Lemberg 21ddf945 2004-06-24T06:56:06 * include/freetype/internal/ftmemory.h [FT_DEBUG_MEMORY]: Declare FT_QAlloc_Debug and FT_QRealloc_Debug. * src/base/ftutil.c (FT_QAlloc): Fix error and debug messages. (FT_QRealloc): Call FT_QAlloc if original pointer is NULL. Fix error message.
David Turner 5290d2fb 2004-06-23T15:44:03 performance optimizations regarding face opening
Werner Lemberg e5f98e68 2004-06-19T20:50:08 Minor documentation improvement.
Werner Lemberg 79786fba 2004-06-15T14:13:10 * src/winfonts/winfnt.c (FNT_Face_Init): Set x_ppem and y_ppem based on pixel_width and pixel_height. (FNT_Size_Set_Pixels): Updated.
Werner Lemberg fefd8742 2004-06-12T13:21:20 * docs/CHANGES: Updated. Minor clean-ups.
David Turner b83239b7 2004-06-09T21:07:49 * include/freetype/cache/ftcmru.h, src/cache/ftcbasic.c, src/cache/ftccache.c, src/cache/ftcglyph.c, src/cache/ftcmanag.c, src/cache/ftcsbits.c: fixing some annoying bugs and inefficiencies in the cache sub-system.
David Turner 8530a228 2004-06-09T20:18:35 * include/freetype/freetype.h (FT_Glyph_Metrics, FT_GlyphSlotRec), src/autofit/afloader.c, src/autohint/ahhint.c: moved the definition of 'lsb_delta' and 'rsb_delta' from FT_GlyphMetrics to FT_GlyphSlotRec. The old location did BREAK BINARY COMPATIBILITY of the library !! * src/sfnt/sfobjs.c: removing compiler warning
Werner Lemberg 7d62f526 2004-06-04T22:30:10 * docs/CHANGES: Updated. Improve inter-letter spacing for autohinted glyphs. * include/freetype/freetype.h (FT_Glyph_Metrics): Add elements `lsb_delta' and `rsb_delta'. * src/autohint/ahhint.c (ah_hinter_load): Set `lsb_delta' and `rsb_delta' in slot->metrics.
Werner Lemberg 24bf96c5 2004-05-20T09:21:19 * src/type1/t1load.c (mm_axis_unmap, mm_weights_unmap): New auxiliary functions. (T1_Get_MM_Var): Provide axis tags. Use mm_axis_unmap and mm_weights_unmap to provide default values for design and normalized axis coordinates. * include/freetype/t1tables.h (PS_DesignMapRec): Change type of `design_points' to FT_Long. Update all users.
Werner Lemberg efd4e877 2004-05-13T12:59:59 * include/freetype/internal/psaux.h (T1_ParseState): New enumeration. (T1_BuilderRec): Replace `path_begun' with `parse_state'. Remove `error'. * src/psaux/t1decode.c (t1_decoder_parse_charstrings): Replace `Memory_Error' with `Fail' and update all users. Don't use `builder->error'. Replace `path_begun' with `parse_state' and check parsing states. * src/psaux/psobjs.c (t1_builder_init, t1_builder_start_point): Replace `path_begun' with `parse_state' and check parsing states.
Yamato, Masatake (大和正武) d1bc1ff8 2004-04-27T20:25:33 * include/freetype/internal/tttypes.h (GX_BlendRec_) [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Fix a typo. * src/truetype/ttgxvar.h (GX_BlendRec_): Fix a typo.
Werner Lemberg 44bb3035 2004-04-25T20:15:11 * src/pcf/pcfdrivr.c: Revert change from 2004-04-17. * src/pcf/pcfutil.c: Use FT_LOCAL_DEF. * src/pcf/pcfutil.h: Include FT_CONFIG_CONFIG_H. Use FT_BEGIN_HEADER and FT_END_HEADER. Use FT_LOCAL. 2004-04-24 George Williams <gww@silcom.com> Add support for Apple's distortable font technology (in GX fonts). * devel/ftoption.h, include/freetype/config/ftoption.h (TT_CONFIG_OPTION_GX_VAR_SUPPORT): New macro. * include/freetype/ftmm.h (FT_Var_Axis, FT_Var_Named_Style, FT_MM_Var): New structures. (FT_Get_MM_Var, FT_Set_Var_Design_Coordinates, FT_Set_Var_Blend_Coordinates): New function declarations. * include/freetype/internal/services/svmm.h (FT_Get_MM_Var_Func, FT_Set_Var_Design_Func): New typedefs. Update MultiMasters service. * include/freetype/internal/tttypes.h [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Include FT_MULTIPLE_MASTERS_H. (GX_Blend) [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: New typedef. (TT_Face) [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: New members `doblend' and `blend'. * include/freetype/tttags.h (TTAG_avar, TTAG_cvar, TTAG_gvar): New macros. * include/freetype/internal/fttrace.h: Add `ttgxvar'. * src/base/ftmm.c (FT_Get_MM_Var, FT_Set_Var_Design_Coordinates, FT_Set_Var_Blend_Coordinates): New functions. * src/sfnt/sfobjs.c (sfnt_load_face) [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Set FT_FACE_FLAG_MULTIPLE_MASTERS flag for GX var fonts. * src/truetype/ttgxvar.c, src/truetype/ttgxvar.h: New files. * src/truetype/truetype.c [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Include ttgxvar.c. * src/truetype/ttdriver.c [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Include FT_MULTIPLE_MASTERS_H, FT_SERVICE_MULTIPLE_MASTERS_H, and ttgxvar.h. (tt_service_gx_multi_masters) [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: New service. (tt_services) [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Updated. * src/truetype/ttgload.c [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Include ttgxvar.h. (TT_Process_Simple_Glyph, load_truetype_glyph) [TT_CONFIG_OPTION_GX_VAR_SUPPORT] :Support GX var fonts. * src/truetype/ttobjs.c [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Include ttgxvar.h. (tt_done_face) [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Call tt_done_blend. * src/truetype/ttpload.c [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Include ttgxvar.h. (tt_face_load_cvt) [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Call tt_face_vary_cvt. * src/truetype/rules.mk (TT_DRV_SRC): Add ttgxvar.c. * src/type1/t1driver.c (t1_service_multi_masters): Add T1_Get_MM_Var and T1_Set_Var_Design. * src/type1/t1load.c (FT_INT_TO_FIXED, FT_FIXED_TO_INT): New macros. (T1_Get_MM_Var, T1_Set_Var_Design): New functions. * src/type1/t1load.h (T1_Get_MM_Var, T1_Set_Var_Design): New function declarations.
Werner Lemberg e95365b2 2004-04-24T14:43:37 * include/freetype/ftcache.h (FT_Get_CharMap_Index): Rename declaration and move to... * include/freetype/freetype.h (FT_Get_Charmap_Index): Here. (FREETYPE_PATCH): Set to 9. * src/base/ftobjs.c (FT_Get_Charmap_Index): New function. * builds/unix/configure.ac (version_info): Set to 9:7:3. * builds/unix/configure: Updated. * builds/win32/visualc/index.html, builds/win32/visualc/freetype.dsp, builds/win32/visualc/freetype.vcproj: s/218/219/. * builds/freetype.mk (refdoc), README, Jamfile (RefDoc): s/2.1.8/2.1.9/. * docs/CHANGES, docs/VERSION.DLL: Updated.
Werner Lemberg 8a803a6c 2004-04-16T03:50:55 * include/freetype/config/ftconfig.h, src/base/ftstream.c (FT_Stream_ReadFields): More fixes using FT_CHAR_BIT. * include/freetype/config/ftconfig.h (FT_CHAR_BIT): New macro.
Werner Lemberg deadbb53 2004-04-13T21:08:17 * include/freetype/config/ftconfig.h: Use CHAR_BIT to define size of FT_SIZEOF_xxx. * include/freetype/internal/sfnt.h (TT_Find_SBit_Image_Func, TT_Load_SBit_Metrics_Func): New typedefs. (SFNT_Interface): Add find_sbit_image and load_sbit_metrics. * src/sfnt/sfdriver.c (sfnt_interface): Updated. * src/sfnt/ttsbit.h (tt_find_sbit_image, tt_load_sbit_metrics): New declarations. * src/sfnt/ttsbit.c (find_sbit_image): Renamed to... (tt_find_sbit_image): This. Updated all callers. (load_sbit_metrics): Renamed to... (tt_load_sbit_metrics): This. Updated all callers.
Werner Lemberg 8bb07e63 2004-03-27T08:43:17 Add vertical phantom points. * include/freetype/internal/tttypes.h (TT_LoaderRec): Add `top_bearing', `vadvance', `pp3, and `pp4'. * src/autofit/afloader.c (af_loader_load_g): Handle two more points. * src/autohint/ahhint.c (ah_hinter_load): Handle two more points. * src/truetype/ttgload.c (Get_VMetrics): New function. (TT_Load_Simple_Glyph, TT_Process_Simple_Glyph): Handle two more points. (load_truetype_glyph): Use Get_VMetrics. Handle two more points. (compute_glyph_metrics): Thanks to vertical phantom points we now can always compute `advance_height' and `top_bearing'. * src/truetype/ttobjs.h (TT_SubglyphRec): Add vertical phantom points. * src/autohint/ahglyph.c (ah_outline_load): Fix allocation of `news'. Converting some files to Unix end-of-line convention.
Werner Lemberg 2630e54d 2004-03-20T14:26:38 * src/sfnt/ttload.c (tt_face_load_sfnt_header): Reject face_index values > 0 if loading non-TTC fonts. * src/base/ftmac.c (open_face_from_buffer): Set positive face_index to zero before calling FT_Open_Face. * docs/CHANGES: Updated.
Werner Lemberg 0113f26b 2004-03-05T10:09:20 Delete Jamfile.in, add include/freetype/ftlzw.h.
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 e2455bad 2004-02-26T21:56:27 * docs/CHANGES: Updated. Improve MacOS fond support. Provide a new API `FT_New_Face_From_FSSpec' similar to `FT_New_Face'. * src/base/ftmac.c [__MWERKS__]: Include FSp_fpopen.h. STREAM_FILE [__MWERKS__]: New macro. (ft_FSp_stream_close, ft_FSp_stream_io) [__MWERKS__]: New functions. (file_spec_from_path) [__MWERKS__]: Updated #if statement. (get_file_type, make_lwfn_spec): Use `const' for argument. (is_dfont) [TARGET_API_MAC_CARBON]: Removed. (count_face_sfnt, count_faces): New functions. (parse_fond): Do some range checking. (read_lwfn): Change type of second argument. No longer call FSpOpenResFile. (OpenFileAsResource): New function. (FT_New_Face_From_LWFN): Use `const' for second argument. Use OpenFileAsResource. (FT_New_Face_From_Suitcase): Change type of second argument. No longer call FSpOpenResFile. Loop over all resource indices. (FT_New_Face_From_dfont) [TARGET_API_MAC_CARBON]: Removed. (FT_GetFile_From_Mac_Name): Use `const' for first argument. (ResourceForkSize): Removed. (FT_New_Face): Updated to use new functions. (FT_New_Face_From_FSSpec): New function. * include/freetype/ftmac.h: Updated.
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 75435334 2004-02-25T12:58:54 Provide generic access to MacOS resource forks. * src/base/ftrfork.c, include/freetype/internal/ftrfork.h: New files. * src/base/ftobjs.c: Include FT_INTERNAL_RFORK_H. (Mac_Read_POST_Resource, Mac_Read_sfnt_Resource): Remove arguments `resource_listoffset' and `resource_data' and adapt code accordingly. These values are calculated outside of the function now. Add new argument `offsets'. (IsMacResource): Use `FT_Raccess_Get_HeaderInfo' and `FT_Raccess_Get_DataOffsets'. (load_face_in_embedded_rfork): New function. (load_mac_face): Use load_face_in_embedded_rfork. (ft_input_stream_new): Renamed to... (FT_Stream_New): This. Use FT_BASE_DEF. Updated all callers. (ft_input_stream_free): Renamed to... (FT_Stream_Free): This. Use FT_BASE_DEF. Updated all callers. * src/base/ftbase.c: Include ftrfork.c. * src/base/rules.mk (BASE_SRC), src/base/Jamfile: Updated. * include/freetype/internal/internal.h (FT_INTERNAL_RFORK_H): New macro. * include/freetype/internal/fttrace.h: Added `rfork' as a new trace definition. * include/freetype/internal/ftstream.h: Declare FT_Stream_New and FT_Stream_Free. * include/freetype/config/ftoption.h, devel/ftoption.h (FT_CONFIG_OPTION_GUESSING_EMBEDDED_RFORK): New option. * include/freetype/config/ftstdlib.h (ft_strrchr): New macro.
Werner Lemberg 460355a5 2004-02-24T07:52:45 * docs/CHANGES: Updated. * include/freetype/internal/ftdebug.h: Include FT_FREETYPE_H. Provide a simple API to control FreeType's tracing levels. * include/freetype/internal/ftdebug.h (FT_Trace_Get_Count, FT_Trace_Get_Name): New declarations. * src/base/ftdebug.c (FT_Trace_Get_Count, FT_Trace_Get_Name): New functions.
Werner Lemberg c846eac1 2004-02-19T21:39:58 * include/freetype/freetype.h: Document FT_LOAD_TARGET_XXX properly. * src/base/ftglyph.c (ft_bitmap_glyph_class, ft_outline_glyph_class): Tag with FT_CALLBACK_TABLE_DEF. * src/smooth/ftsmooth.c (ft_smooth_render): Handle FT_RENDER_MODE_LIGHT.
Werner Lemberg bb75417a 2004-02-17T13:46:17 * include/freetype/ftmac.h (FT_GetFile_From_Mac_Name): Fix a typo (FT_EXPORT_DEF -> FT_EXPORT). * include/freetype/ftxf86.h (FT_Get_X11_Font_Format): Ditto.
Werner Lemberg 95867077 2004-02-12T08:33:20 * src/cid/cidload.c (cid_face_open): Always allocate face->cid_stream so that we can deallocate it safely. Make the PS parser more tolerant w.r.t. non-standard font data. In general, an error is only reported in case of a syntax error; a wrong type is now simply ignored (if possible). To be independent of the order of various MM-specific keywords, the parse_shared_dict routine has been removed -- the PS parser is now capable to skip this data. It no longer fails on parsing e.g. dup /WeightVector exch def Since the token following /WeightVector isn't `[' (starting an array) it is simply ignored. * include/freetype/fterrdef.h: Define `FT_Err_Ignore' (0xA2) as a new internal error value. * src/type1/t1load.c (parse_blend_axis_types, parse_blend_design_positions, parse_blend_design_map): Return T1_Err_Ignore if no proper array is following the keyword. (parse_weight_vector): Use T1_ToTokenArray, initializing `blend' structure, if necessary. Return T1_Err_Ignore if no proper array is following the keyword. (parse_shared_dict): Removed. (parse_encoding): Set parser->root.error to return T1_Err_Ignore if no result can be obtained. Check for errors before accessing `elements' array. (t1_keywords): Remove /shareddict. (parse_dict): Reset error if t1_load_keyword returns T1_Err_Ignore. Set keyword_flag only in case of success. Check error code if skipping an unrecognized token. (T1_Open_Face) [!T1_CONFIG_OPTION_NO_MM_SUPPORT]: Call T1_Done_Blend if blend commands haven't set up a proper MM font. * src/psaux/psobjs.c (ps_parser_load_field_table): Remove special code for synthetic fonts. Return PSaux_Err_Ignore if no proper value has been found.
Werner Lemberg 0a84eba8 2004-02-05T14:36:43 * include/freetype/cache/ftccache.h (FTC_CACHE_LOOKUP_CMP): Initialize `node'. * src/type1/t1load.c (parse_dict): Initialize `have_integer'.
Werner Lemberg 6b3d00e1 2004-02-03T21:34:29 * src/type1/t1load.c (parse_dict): Handle `RD' and `-|' commands outside of /Subrs or /CharStrings. This can happen if there is additional code manipulating those two arrays so that FreeType doesn't recognize them properly. (T1_Open_Face): Improve an error message. Remove CR/LF on many files.
David Turner f546bacd 2004-02-01T16:59:06 * src/sfnt/Jamfile: removing "ttcmap" from the list of sources * src/cache/*, include/freetype/cache/*: fixing a bug after heavy testing. The current sources are now "release candidates" for the final version of the cache sub-system * Jamfile: updating "refdoc" target, and adding "autohint" to the list of modules to build. Both the autohinter and autofitter will be built by default. But which one will be used is determined by the content of "ftmodule.h" * src/autofit/*: much updates, but the code is still buggy as hell. Aargh..
Werner Lemberg ef512e3e 2004-01-23T19:52:40 Add support for the hexadicimal representation of binary data started with `StartData' in CID-keyed Type 1 fonts. * include/freetype/internal/t1types.h (CID_FaceRec): Add new members `binary_data' and `cid_stream'. * src/cid/cidload.c (cid_read_subrs): Use `face->cid_stream'. (cid_hex_to_binary): New auxiliary function. (cid_face_open): Add new argument `face_index' to return quickly if less than zero. Updated all callers. Call `cid_hex_to_binary', then open and assign memory stream to `face->cid_stream' if `parser->binary_length' is non-zero. * src/cid/cidload.h: Updated. * src/cid/cidobjs.c (cid_face_done): Free `binary_data' and `cid_stream'. * src/cid/cidparse.c (cid_parser_new): Check arguments to `StartData' and set parser->binary_length accordingly. * src/cid/cidparse.h (CID_Parser): New member `binary_length'. * src/cid/cidgload.c (cid_load_glyph): Use `face->cid_stream'. * docs/CHANGES: Updated. include/freetype/config/ftstdlib.h (ft_atoi): Replaced with... (ft_atol): This. * src/base/ftdbgmem.c: s/atol/ft_atol/. * src/type42/t42drivr.c: s/ft_atoi/ft_atol/.
Werner Lemberg 6cda9c48 2004-01-22T09:07:12 * include/freetype/ftcache.h: Delete duplicated definition of FTC_FaceID. * src/cff/cffdrivr.c (cff_get_cmap_info): Call sfnt module's TT CMap Info service function if the cmap comes from sfnt. Return 0 if the cmap is sythesized in cff module. Formatting; updating copyright.
David Turner 75820e20 2004-01-16T09:07:59 * include/freetype/ftcache.h, include/freetype/cache/ftcmanag.h: adding FTC_Manager_LookupSize and FTC_Scaler to the public API (they were previously hidden)
David Turner fa0346d6 2004-01-16T08:57:05 * src/base/ftstroke.c, include/freetype/ftstroke.h: fixing bugs and adding FT_Glyph_Stroke and FT_Glyph_StrokerBorder APIs
David Turner 4632fccb 2004-01-15T19:07:44 * include/freetype/internal/ftmemory.h, src/autohint/ahhint.c, src/base/ftgloadr.c, src/base/ftglyph.c, src/base/ftoutln.c, src/base/ftstroke.c, src/cff/cffload.c, src/truetype/ttgload.c, src/truetype/ttinterp.c: introducing the new FT_ARRAY_COPY and FT_ARRAY_MOVE macros to make copying arrays easier
Werner Lemberg cb8ede4d 2003-12-27T21:44:18 * include/freetype/internal/sfnt.h (TT_Set_SBit_Strike_Func): Use FT_UInt for ppem values. * src/sfnt/ttsbit.c (tt_face_set_sbit_strike): Use FT_UInt for ppem values. * src/sfnt/ttsbit.h: Updated. * src/base/ftobjs.c (FT_Set_Pixel_Sizes): Don't allow ppem values larger than -0FFFF.
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.
Werner Lemberg c382afc8 2003-12-25T00:20:17 Improve documentation.
Werner Lemberg 328abf30 2003-12-24T13:37:58 * src/cff/cffgload.c (cff_lookup_glyph_by_stdcharcode): Handle CID-keyed fonts. Remove MS-DOS line endings. Minor formatting issues.
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 !
David Turner 02361222 2003-12-23T23:54:00 * include/freetype/cache/ftccache.h, include/freetype/cache/ftcmru.h, include/freetype/cache/ftcglyph.h, src/cache/ftcbasic.c, src/cache/ftccache.c, src/cache/ftccmap.c, src/cache/ftcmanag.c: additional speed optimization to the cache sub-system. It is now up to 70% faster than the one in the previous table release (i.e. 2.1.7). Note that the API did slightly change though.
Werner Lemberg 48b6ddb8 2003-12-22T23:01:20 * include/freetype/ftwinfnt.h (FT_WinFNT_ID_*): New definitions to describe the `charset' field in FT_WinFNT_HeaderRec. * src/winfonts/winfnt.c (FNT_Face_Init): Set encoding to FT_ENCODING_NONE except for FT_WinFNT_ID_MAC. * include/freetype/freetype.h (FT_Encoding): Improve comment, based on work by Detlef Würkner <TetiSoft@apg.lahn.de>. * docs/CHANGES: Updated.
David Turner 581ec91c 2003-12-22T21:53:37 * include/freetype/ftcache.h, include/freetype/cache/ftcmanag.h, include/freetype/cache/ftccache.h, include/freetype/cache/ftcmanag.h, include/freetype/cache/ftcmru.h (added), include/freetype/cache/ftlru.h (removed), include/freetype/cache/ftcsbits.h, include/freetype/cache/ftcimage.h, include/freetype/cache/ftcglyph.h, src/cache/ftcmru.c, src/cache/ftcmanag.c, src/cache/ftccache.c, src/cache/ftcglyph.c, src/cache/ftcimage.c, src/cache/ftcsbits.c, src/cache/ftccmap.c, src/cache/ftcbasic.c (added), src/cache/ftclru.c (removed): *Complete* rewrite of the cache sub-system to "solve" the following points: - all public APIs have been moved to FT_CACHE_H, everything under "include/freetype/cache" is only needed by client applications that want to implement their own caches - a new function named FTC_Manager_RemoveFaceID to deal with the uninstallation of FaceIDs - the image and sbit cache are now abstract classes, that can be extended much more easily by client applications - better performance in certain areas. Further optimizations to come shortly anyway... - the FTC_CMapCache_Lookup function has changed its signature, charmaps can now only be retrieved by index - FTC_Manager_Lookup_Face => FTC_Manager_LookupFace FTC_Manager_Lookup_Size => FTC_Manager_LookupSize (still in private header for the moment)
David Turner 89f331b7 2003-12-21T01:41:32 important bug fixes for new cache code
Werner Lemberg 32174ffb 2003-12-20T07:43:45 * devel/ftoption.h: Define FT_DEBUG_MEMORY. Reverted DEBUG changes in include/freetype/config/ftoption.h.
David Turner 57ecae22 2003-12-19T21:23:58 new version of the cache sub-system - still under debugging
Werner Lemberg 8f963be4 2003-12-18T15:29:20 * include/freetype/ttnameid.h (TT_ADOBE_ID_LATIN_1): New macro. * src/type1/t1objs.c (T1_Face_Init): Use TT_ADOBE_ID* values.
Werner Lemberg 91a67478 2003-12-17T14:28:22 Add new function FT_Get_CMap_Language_ID to extract the language ID for TrueType/sfnt fonts. * include/freetype/internal/services/svttcmap.h: New file. * include/freetype/internal/ftserv.h (FT_SERVICE_TT_CMAP_H): Add svttcmap.h. * src/sfnt/sfdriver.c: Include ttcmap0.h. (tt_service_get_cmap_info): New service. (sfnt_services): Updated. * src/sfnt/ttcmap0.c (tt_cmap*_get_info): New functions. (tt_cmap*_class_rec): Add tt_cmap*_get_info members. (tt_get_cmap_info): New function. * src/sfnt/ttcmap0.h: Include FT_SERVICE_TT_CMAP_H. (TT_CMap_ClassRec): New field `get_cmap_info'. (tt_get_cmap_info): New declaration. * src/base/ftobjs.c: Include FT_SERVICE_TT_CMAP_H. (FT_Get_CMap_Language_ID): New function implementation. * include/freetype/tttables.h (FT_Get_CMap_Language_ID): New function declaration.
Werner Lemberg efe52752 2003-12-16T07:12:40 * include/freetype/internal/tttypes.h (TT_TableDirRec, TT_CMapDirRec, TT_CMapDirEntryRec, TT_CMap0, TT_CMap2SubHeaderRec, TT_CMap2Rec, TT_CMap4Segment, TT_CMap4Rec, TT_CMap6, TT_CMapGroupRec, TT_CMap8_12Rec, TT_CMap10Rec, TT_CharMap_Func, TT_CharNext_Func, TT_CMapTableRec, TT_CharMapRec): Removed. Obsolete. * src/cff/cffobjs.h (CFF_CharMapRec): Removed. Obsolete.
Werner Lemberg b066c153 2003-12-16T06:42:11 * src/sfnt/ttcmap.c, src/sfnt/ttcmap.h: Removed. Obsolete. * include/freetype/internal/sfnt.h (SFNT_Interface): Remove obsolete fields `load_charmap' and `free_charmap'. (TT_CharMap_Load_Func, TT_CharMap_Free_Func): Removed. * src/sfnt/sfnt.c: Don't include ttcmap.c. * src/sfnt/rules.mk (SFNT_DRV_SRC): Don't include ttcmap.c. * src/sfnt/ttload.c: Don't include ttcmap.h. * src/sfnt/sfdriver.c: Don't include ttcmap.h. (sfnt_interface): Updated.
Werner Lemberg b35093e3 2003-12-16T05:37:57 Fix documentation.
Werner Lemberg fb4bfddb 2003-12-13T18:42:31 * src/type1/t1gload.c (T1_Parse_Glyph_And_Get_Char_String): Add cast. * src/cff/cffdrivr.c (cff_ps_has_glyph_names): Assure that return value is either 0 or 1.
Werner Lemberg b36d4a53 2003-12-12T15:38:39 * src/cff/cffdrivr.c (cff_get_glyph_name): Improve error message. (cff_get_name_index): Return if no PSNames service is available. (cff_ps_has_glyph_names): Handle CID-keyed fonts correctly. * src/cff/cfftypes.h (CFF_CharsetRec): New field `cids', used for CID-keyed fonts. This is the inverse mapping of `sids'. * src/cff/cffload.c (cff_charset_load): New argument `invert'. Initialize charset->cids if `invert' is set. (cff_font_load): In call to cff_charset_load, set `invert' to true for CID-keyed fonts. * src/cff/cffgload.c (cff_slot_load): Handle glyph index as CID and map it to the real glyph index. * docs/CHANGES: Updated.
Werner Lemberg dc8ad54f 2003-12-09T02:12:14 * include/freetype/internal/psaux.h (PS_TableRec): Change type of `lengths' to FT_PtrDist. (T1_DecoderRec): Change type of `subrs_len' to FT_PtrDist. * include/freetype/internal/t1types.h (T1_FontRec): Change type of `subrs_len' and `charstrings_len' to FT_PtrDist. * src/base/ftobjs.c (Mac_Read_POST_Resource): Replace `junk' variable with better solution. (IsMacResource): Remove unused variable `map_len'. Replace `junk' variable with better solution. (FT_Open_Face) [!FT_MACINTOSH]: Add conditional FT_CONFIG_OPTION_MAC_FONTS. * src/autohint/ahhint.c (ah_hinter_hint_edges, ah_hinter_align_strong_points): Add some casts. * src/base/ftoutln.c (FT_OrientationExtremumRec): Change type of `pos' to FT_Long. * src/base/ftobjs.c (Mac_Read_POST_Resource, Mac_Read_sfnt_Resource): Change type of `len' to FT_Long. * src/type42/t42parse.c (t42_parse_dict): Add cast for `n_keywords'.
Werner Lemberg 60217b7a 2003-12-08T21:11:31 * docs/raster.txt: New file, taken from FreeType 1 and completely revised.
Werner Lemberg 6f20dd50 2003-11-26T08:24:08 * src/base/ftcalc.c, include/freetype/internal/ftcalc.h (FT_MulDiv_No_Round): Surround code with `#ifdef TT_CONFIG_OPTION_BYTECODE_INTERPRETER ... #endif'.
Werner Lemberg 9f051a7f 2003-11-25T18:15:56 * src/base/ftcalc.c (FT_MulDiv_No_Round): New function (32 and 64 bit version). * include/freetype/internal/ftcalc.h: Updated. * src/truetype/ttinterp.c (TT_MULDIV_NO_ROUND): New macro. (TT_INT64): Removed. (DO_DIV): Use TT_MULDIV_NO_ROUND. * src/pfr/pfrdrivr.c (pfr_get_metrics): Directly use metrics->x_scale and metrics->y_scale.
David Turner ff9d2415 2003-11-23T21:39:51 * src/autofit/*: more updates
Werner Lemberg 5f5f6b36 2003-11-12T15:15:49 Fix documentation error.