src


Log

Author Commit Date CI Message
Werner Lemberg 60a04df7 2005-06-04T23:04:30 Add license.
Werner Lemberg 3d7b1d55 2005-06-01T15:30:44 * src/base/ftstroke.c (ft_stroker_inside): Revert `sigma' patch from 2004-07-11; this gives much better results under normal circumstances.
Werner Lemberg 38e82be1 2005-05-30T19:22:44 * include/freetype/ftbitmap.h (FT_Bitmap_Embolden): Minor documentation improvements. * include/freetype/ftoutln.h (FT_Outline_Embolden): Fix typos. * src/base/ftbitmap.c (FT_Bitmap_Embolden): Add support for bitmap of pixel_mode FT_PIXEL_MODE_GRAY2 or FT_PIXEL_MODE_GRAY4. If xstr is larger than 8 and bitmap is of pixel_mode FT_PIXEL_MODE_MONO, set xstr to 8 instead of returning error.
Werner Lemberg 71d76281 2005-05-30T07:54:20 * src/base/ftbitmap.c (FT_Bitmap_Embolden): Fix emboldening bitmap of mode FT_PIXEL_MODE_GRAY. Also add support for mode FT_PIXEL_MODE_LCD and FT_PIXEL_MODE_LCD_V. (ft_bitmap_assure_buffer): FT_PIXEL_MODE_LCD and FT_PIXEL_MODE_LCD_V should have ppb (pixel per byte) 1. Zero the padding when there's no need to allocate memory. * src/base/ftsynth.c (FT_GlyphSlot_Embolden): Handle slot->advance too. More suited emboldening strength.
Werner Lemberg c162eac5 2005-05-28T21:52:37 * src/base/ftbitmap.c (FT_Bitmap_Embolden): Handle negative pitch. Handle FT_PIXEL_MODE_GRAY with num_gray != 256. Improve speed for FT_PIXEL_MODE_GRAY. (ft_bitmap_assure_buffer): Accept FT_PIXEL_MODE_LCD and FT_PIXEL_MODE_LCD_V.
Werner Lemberg e70371c4 2005-05-27T06:01:28 * src/base/ftobjs.c (ft_cmap_done_internal): New function. (FT_CMap_Done): Remove cmap from cmap list. (destroy_charmaps, FT_CMap_New): Don't call FT_CMap_Done but ft_cmap_done_internal.
Werner Lemberg 3a36ef7e 2005-05-27T04:18:20 * src/base/ftsynth.c (FT_GlyphSlot_Embolden): Initialize `error'.
Werner Lemberg 6d8c1821 2005-05-26T21:02:25 * docs/GPL.txt: Update postal address of FSF. * include/freetype/ftbitmap.h (FT_Bitmap_Embolden): Improve documentation. * src/base/ftsynth.c (FT_BOLD_THRESHOLD): Removed. (FT_GlyphSlot_Embolden): Check whether slot is bitmap owner. Always modify the metrics.
Werner Lemberg afb2ba57 2005-05-25T05:51:01 * docs/CHANGES: Updated. * include/freetype/ftbitmap.h (FT_Bitmap_Embolden): New declaration. * include/freetype/ftoutln.h (FT_Outline_Embolden): New declaration. * src/base/ftbitmap.c (ft_bitmap_assure_buffer): New auxiliary function. (FT_Bitmap_Embolden): New function. * src/base/ftoutln.c (FT_Outline_Embolden): New function. * src/base/ftsynth.c: Don't include FT_INTERNAL_CALC_H and FT_TRIGONOMETRY_H but FT_BITMAP_H. (FT_GlyphSlot_Embolden): Use FT_Outline_Embolden or FT_Bitmap_Embolden.
Werner Lemberg 92aa527a 2005-05-23T21:33:02 * builds/amiga/makefile.os4 (WARNINGS), builds/compiler/gcc-dev.mk (CFLAGS), builds/compiler/gcc.mk (CFLAGS): Remove -fno-strict-aliasing. Say you have `(Foo*)x' and want to assign, pass, or return it as `(Bar*)'. If you simply say `x' or `(Bar*)x', then the C compiler would warn you that type casting incompatible pointer types breaks strict-aliasing. The solution is to cast to `(void*)' instead which is the generic pointer type, so the compiler knows that it should make no strict-aliasing assumption on `x'. But the problem with `(void*)x' is that seems like in C++, unlike C, `void*' is not a generic pointer type and assigning `void*' to `Bar*' without a cast causes an error. The solution is to cast to `Bar*' too, with `(Bar*)(void*)x' as the result -- this is what the patch does. * include/freetype/cache/ftccache.h (FTC_CACHE_LOOKUP_CMP), include/freetype/cache/ftcmru.h (FTC_MRULIST_LOOKUP_CMP): Remove cast on lvalue, use a temporary pointer instead. Cast temporarily to (void*) to not break strict aliasing. * include/freetype/internal/ftmemory.h (FT_MEM_ALLOC, FT_MEM_REALLOC, FT_MEM_QALLOC, FT_MEM_QREALLOC, FT_MEM_FREE), src/base/ftglyph.c (FT_Glyph_To_Bitmap): Cast temporarily to (void*) to not break strict aliasing. * src/base/ftinit.c (FT_USE_MODULE): Fix wrong type information. * builds/unix/configure.ac (XX_CFLAGS): Remove -fno-strict-aliasing. * src/sfnt/rules.mk (SFNT_DRV_SRC): Don't include ttsbit0.c -- it is currently loaded from ttsbit.c. Other formatting.
David Turner f9e05597 2005-05-23T13:04:53 * include/freetype/cache/ftcache.h, src/cache/ftccache.c, src/cache/ftcsbits.c: fixing bug #12213 (incorrect behaviour of the cache sub-system in low-memory conditions).
Werner Lemberg a4dbed30 2005-05-23T12:01:39 * src/base/rules.mk (BASE_SRC): Don't add ftsynth.c here but... (BASE_EXT_SRC): Here.
Werner Lemberg 8a62ea25 2005-05-22T20:46:40 * src/base/rules.mk (BASE_SRC): Add ftsynth.c.
Werner Lemberg f814f682 2005-05-22T20:33:09 * src/base/ftrfork.c (raccess_guess_apple_generic): Mark `version_number' and `entry_length' as unused. (raccess_guess_linux_double_from_file_name): Remove `memory'. (raccess_make_file_name): Mark `error' as unused. * src/bdf/bdflib.c (_bdf_parse_properties): Remove `memory'. * src/cid/cidobjs.c (cid_face_init): Remove `psnames'. * src/sfnt/sfobjs.c (sfnt_load_face): Remove `memory'. * src/truetype/ttgxvar.c (ft_var_readpackedpoints, ft_var_readpackeddeltas, ft_var_load_avar): Mark `error' as unused.
David Turner 01152db1 2005-05-21T10:42:32 * src/base/ftsynth.c (FT_GlyphSlot_Embolden): fixing a bug that produced unpleasant artefacts when trying to embolden very sharp corners.
Werner Lemberg b9ee7370 2005-05-20T21:52:19 * docs/CHANGES: Updated. * src/base/ftbitmap.c: Don't include FT_FREETYPE_H and FT_IMAGE_H but FT_BITMAP_H. (FT_Bitmap_Copy): New function (from ftglyph.c). * include/freetype/ftbitmap.h (FT_Bitmap_Copy): New public definition. * src/base/ftglyph.c: Include FT_BITMAP_H. (ft_bitmap_copy): Move to ftbitmap.c. (ft_bitmap_glyph_init): Remove `memory' variable. Create new bitmap object if FT_GLYPH_OWN_BITMAP isn't set. (ft_bitmap_glyph_copy): Use FT_Bitmap_Copy. (ft_bitmap_glyph_done): Use FT_Bitmap_Done. (ft_outline_glyph_init): Use FT_Outline_Copy. * src/base/ftoutln.c (FT_Outline_Copy): Handle source == target. (FT_Outline_Done_Internal): Check for valid `memory' pointer. (FT_Outline_Translate, FT_Outline_Reverse, FT_Outline_Render, FT_Outline_Transform): Check for valid `outline' pointer. * src/base/ftobjs.c (FT_New_GlyphSlot): Prepend glyph slot to face->glyph, otherwise a new second glyph slot cannot be created. (FT_Done_GlyphSlot): Fix memory leak. (FT_Open_Face): Updated -- face->glyph is already managed by FT_New_GlyphSlot. * src/type42/t42objs.c (T42_GlyphSlot_Done): Updated.
Werner Lemberg 8ae1dceb 2005-05-20T06:22:20 * include/freetype/ftimage.h (FT_Raster_Params), include/freetype/ftoutln.h (FT_Outline_Translate, FT_Outline_Transform), src/base/ftoutln.c (FT_Outline_Translate, FT_Outline_Transform): Decorate parameters with `const' where appropriate. Update all callers. * src/raster/ftraster.c (ft_black_reset), src/smooth/ftgrays.c (gray_raster_reset): Remove `const' from `pool_base' argument.
Werner Lemberg f9fccbee 2005-05-19T07:20:24 * src/raster/ftmisc.h: New file. Only needed if ftraster.c is compiled as stand-alone. * src/raster/ftraster.c: Add comment how to compile as stand-alone. s/FT_CONFIG_OPTION_STATIC_RASTER/FT_STATIC_RASTER/. s/TT_STATIC_RASTER/FT_STATIC_RASTER/. [_STANDALONE_]: Include ftimage.h and ftmisc.h. (FT_TRACE1, FT_TRACE6, ft_memset, FT_MEM_ZERO): Define conditionally. (Render_Glyph, Render_Gray_Glyph): Return Raster_Err_None (or Raster_Err_Unsupported). (ft_black_new) [_STANDALONE_]: Fix type of `the_raster'. (ft_black_init, ft_black_reset, ft_black_set_mode, ft_black_render): Use `ras', not `raster'. (ft_black_done): Use FT_UNUSED_RASTER. (Horizontal_Sweep_Init, Horizontal_Sweep_Step, Horizontal_Gray_Sweep_Span): Use FT_UNUSED_RASTER. * docs/CHANGES: Updated.
Werner Lemberg eaab4a3c 2005-05-18T07:01:59 * docs/announce: Start updating.
Werner Lemberg ce235eaf 2005-05-17T20:35:23 * builds/win32/visualc/freetype.vcproj: Updated. Exclude debug info for `Release' versions to reduce library size. * src/base/ftobjs.c (FT_Open_Face): Make it work as documented, this is, ignore `aface' completely if face_index < 0. Reported by David Osborn <spam@habitualhiatus.com>. * include/freetype/ftimage.h (FT_Outline_MoveToFunc, FT_Outline_LineTo_Func, FT_Outline_ConicToFunc, FT_Outline_CubicToFunc), src/smooth/ftgrays.c (gray_render_conic, gray_render_cubic, gray_move_to, gray_line_to, gray_conic_to, gray_cubic_to, gray_render_span, gray_sweep): Decorate parameters with `const' where appropriate.
Werner Lemberg fa420250 2005-05-11T20:04:35 * include/freetype/ftimage.h (FT_Raster_RenderFunc), include/freetype/ftrender.h (FT_Glyph_TransformFunc, FT_Renderer_Render_Func, FT_Renderer_TransformFunc), src/base/ftglyph.c (ft_outline_glyph_transform), src/raster/ftrend1.c (ft_raster1_transform, ft_raster1_render), src/smooth/ftgrays.c (FT_Outline_Decompose, gray_raster_render), src/smooth/ftsmooth.c (ft_smooth_transform, ft_smooth_render_generic, ft_smooth_render, ft_smooth_render_lcd, ft_smooth_render_lcd_v): Decorate parameters with `const' where appropriate. * src/raster/ftraster.c (RASTER_RENDER_POOL): Removed. Obsolete. (ft_black_render): Decorate parameters with `const' where appropriate. * src/sfnt/ttcmap.c (tt_cmap4_set_range): Fix typo (FT_PEEK_SHORT -> FT_PEEK_USHORT) which caused crashes. Reported by Ismail Donmez <ismail@kde.org.tr>.
Werner Lemberg 22ad9ef0 2005-05-09T22:11:36 Handle unsorted SFNT type 4 cmaps correctly (reported by Dirck Blaskey). * src/sfnt/ttcmap.h (TT_CMap): Add member `unsorted'. * src/sfnt/ttcmac.c: Use SFNT_Err_Ok where appropriate. (tt_cmap0_validate, tt_cmap2_validate, tt_cmap6_validate, tt_cmap8_validate, tt_cmap10_validate, tt_cmap12_validate): Use `FT_Error' as return type. (tt_cmap4_validate): Use `FT_Error' as return type. Return error code for unsorted cmap. (tt_cmap4_char_index, tt_cmap4_char_next): Use old code for unsorted cmaps. (tt_face_build_cmaps): Set `unsorted' variable in cmap. Minor formatting.
Werner Lemberg 43ebad42 2005-05-07T06:10:19 * src/truetype/ttpload.c (tt_face_get_location): Fix typo.
Werner Lemberg 483daa9f 2005-05-06T19:24:13 * src/cff/cffobjs.c (cff_face_init): Set ppem value in top dictionary for SFNT-based CFF.
Werner Lemberg 5452fbe3 2005-05-05T07:44:20 Handle malformed `loca' table entries. * docs/TODO: Add some bugs which should be fixed. * include/freetype/internal/tttypes.h (TT_FaceRec): Add `glyf_len' element. * src/truetype/ttpload.c (tt_face_load_loca): Get length of `glyf' table. (tt_face_get_location): Fix computation of `asize' for malformed `loca' entries.
David Turner 750fa961 2005-05-01T10:11:32 * Jamfile: removing otvalid from the list of compiled modules * include/freetype/internal/ftserv.h: added compiler pragmas to get rid of annoying warnings with Visual C++ compiler in maximum warning mode * src/autofit/afhints.c, src/autofit/aflatin.c, src/base/ftstroke.c, src/bdf/bdfdrivr.c, src/cache/ftcbasic.c, src/cache/ftccmap.c, src/cache/ftcmanag.c, src/cff/cffload.c, src/cid/cidload.c, src/lzw/zopen.c, src/otvalid/otvgdef.c, src/pcf/pcfread.c, src/sfnt/sfobjs.c, src/truetype/ttgxvar.c: removing compiler warnings
Werner Lemberg ea5b8562 2005-04-24T21:50:41 * src/otvalid/otvcommn.c (otv_GSUBGPOS_have_MarkAttachmentType_flag): Handle table == 0.
Werner Lemberg b01676b2 2005-04-18T07:13:07 * src/cff/cffobjs.c (cff_face_init): Set default upem value in top font dict also. Handle font matrix settings in subfonts. * src/cff/cffgload.c (cff_slot_load): Use the correct font matrix for CID-keyed fonts with subfonts. * docs/formats.txt: Updated.
Werner Lemberg c01c9042 2005-04-14T16:03:15 * include/freetype/freetype.h (FT_Vector_Transform), include/freetype/ftimage.h (FT_Raster_Params), include/freetype/ftoutln.h, src/base/ftoutln.c (FT_Outline_Get_CBox, FT_Outline_Copy, FT_Outline_Transform, FT_Vector_Transform, FT_Outline_Get_Bitmap), src/raster/ftraster.c (ft_black_render), src/smooth/ftgrays.c (gray_raster_render): Decorate parameters with `const' where appropriate. * src/sfnt/ttsbit0.c (tt_sbit_decoder_load_image): Fix arguments to call of tt_sbit_decoder_load_bitmap.
Werner Lemberg e7602c4b 2005-04-14T11:43:40 * src/type1/t1load.c (parse_charstrings): Catch this non-standard beginning of the /CharStrings dictionary: /CharStrings 118 dict def Private begin CharStrings begin
Werner Lemberg 4f65eed8 2005-04-09T09:50:39 src/pshinter/pshalgo.c (ps_hints_apply): Change scaling values only if `fitted' is not zero.
Werner Lemberg 8744edfe 2005-04-06T14:48:55 * src/truetype/ttgload.c (tt_face_get_metrics) [FT_OPTIMIZE_MEMORY]: Fix typo which sometimes causes wrong metrics for the last glyph.
David Turner 0529ba8d 2005-04-03T22:09:41 * include/freetype/config/ftoption.h: commenting the definition of FT_OPTIMIZE_MEMORY for the upcoming 2.1.10 release * src/autofit/afhints.c: small tweak to use a bit less heap memory within the auto-fitter
Werner Lemberg 730b7b1f 2005-04-03T20:44:43 * src/type1/t1parse.c (T1_New_Parser): Relax the check for a valid first line in the font.
Werner Lemberg e5bcbf95 2005-04-01T23:57:31 Add comment about hard-coded dropout mode.
Werner Lemberg 2cefb52f 2005-03-26T10:27:09 * src/autofit/afglobal.c (af_face_globals_get_metrics): s/index/gidx/. * src/sfnt/ttsbit0.c (tt_sbit_decoder_load_image): Fix compiler warnings. * src/sfnt/rules.mk (SFNT_DRV_SRC): Add ttsbit0.c. * src/sfnt/ttsbit0.h: Dummy file for build with `make'.
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/.
David Turner 665279f0 2005-03-22T22:10:45 removing the 'autohint' module from the library, since it is now replaced by 'autofit'
Werner Lemberg ebf5585d 2005-03-16T01:49:54 Formatting.
David Turner 5d02b8a1 2005-03-15T23:48:15 * src/bdf/bdflib.c: removing compiler warnings
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 1dbcbabf 2005-03-11T09:14:21 Improving comment.
David Turner 465a5324 2005-03-10T18:31:49 * src/tools/glnames.py: adding comment explaining the compression being used for the Adobe Glyph List.
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 56ef6bc4 2005-03-10T06:28:07 * src/tools/glnames.py: Formatted. Format output to be in sync with other FreeType code. Import `re' and `os.path'. (StringTable) <__init__>: Add parameter to initialize master table name. (StringTable) <dump>: Don't pass master table name. (StringTable) <dump_sublist>: Emit explanatory comment. Simplify and make output more human readable. (t1_bias, glyph_list, adobe_glyph_names): Removed. Unused. (main): Use `basename' for file name in header. * src/psnames/pstables.h: Regenerated. Other formatting.
David Turner 705620be 2005-03-09T17:36:02 * src/base/ftobjs.c (FT_Set_Char_Sizes): fix for bug #12263
David Turner 12e51f16 2005-03-09T17:33:03 * src/tools/glnames.py: rewrote the generator for the 'pstables.h' header, which contains various constant tables related to glyph names. It now uses a different storage scheme that saves about 20 Kb and closes bug #12262 * src/psnames/pstables.h: re-generated header file * src/psnames/psmodule.c: rewrote some parts to comply with recent changes in 'pstables.h'
Werner Lemberg 3ab770b1 2005-03-08T20:24:56 Cosmetic fixes.
Werner Lemberg 8acb867e 2005-03-08T11:43:36 Formatting.
Werner Lemberg 35fd84b9 2005-03-08T06:00:35 Formatting.
David Turner 8d4ccf53 2005-03-06T10:17:28 * src/autofit/aflatin.c (af_latin_metrics_init): fixing bug #12212 (auto-hinter refuses to work if no Unicode charmap in font)
David Turner fe5c906e 2005-03-06T08:14:36 * src/otvalid/{otvgsub.c, otvgpos.c}: making static tables constant
Werner Lemberg baa662bb 2005-03-03T23:05:29 * src/base/ftutil.c: Include FT_INTERNAL_OBJECTS_H.
Werner Lemberg f13516c8 2005-03-03T17:09:08 Various fixes for C and C++ compiling. * src/autofit/*: Add copyright messages. Formatting. * src/autofit/afhints.c (af_glyph_hints_done): Don't use `AF_Dimension' but `int' for loop counter. * src/autofit/aflatin.c (af_latin_metrics_init_widths): Don't use `AF_Dimension' but `int' for loop counter. Use proper enumeration value for `render_mode'. (af_latin_metrics_scale_dim): Don't shadow variables. (af_latin_hints_compute_segments): Use proper cast for `major_dir' and `segment_dir'. (af_latin_align_linked_edge, af_latin_hint_edges): Fix arguments of call to `af_latin_compute_stem_width'. (af_latin_hints_apply): Don't use `AF_Dimension' but `int' for loop counter. * src/base/ftdbgmem.c (ft_mem_table_get_source, FT_DumpMemory): Use proper cast for memory allocation. * src/cff/cffdrivr.c (cff_get_kerning): Use proper cast for initialization of `sfnt'. * src/sfnt/sfdriver.c: Include `ttkern.h'. * src/sfnt/ttkern.c (tt_face_get_kerning): Don't shadow variables. * src/truetype/ttgload.c: Include `ttpload.h'. * src/truetype/ttpload.c (tt_face_load_loca) [FT_OPTIMIZE_MEMORY]: Remove redundant variable.
David Turner dc736a6a 2005-03-03T14:09:10 * src/sfnt/ttsbit0.c, src/truetype/ttpload.c: removing compiler warnings
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.
Werner Lemberg b19b0810 2005-03-02T11:24:23 * src/autofit/afdummy.c, src/autofit/afdummy.h (af_dummy_script_class): Fix type. * src/autofit/aflatin.c, src/autofit/aflatin.h (af_latin_script_class): Fix type. * src/autofit/rules.mk (AUTOF_DRV_SRC): Fix typo. Formatting.
David Turner 1e03fff6 2005-03-01T22:57:25 removing compiler warnings
David Turner 5bc063da 2005-03-01T22:49:32 * src/autofit/{rules.mk,module.mk,afangles.h}: adding missing files * src/autofit/afloader.c: fixing small bug that could crash the engine with certain fonts.
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 150c0dc6 2005-02-28T17:17:47 optimization of linear charmap scanning for Format 4
David Turner fa0eb0c9 2005-02-27T21:35:50 * src/sfnt/ttkern.c (tt_face_load_kern): fixing a small bug which returned invalid (random) values for the horizontal kerning
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 8e58ff26 2005-02-14T07:25:07 * src/cff/cffcmap.c (cff_cmap_unicode_init): Don't try to build a cmap for a CID-keyed font which doesn't have SIDs.
Werner Lemberg 1d565fb0 2005-02-13T21:42:42 * src/type1/t1load.c (read_binary_data): Return more meaningful value. (parse_encoding, parse_subrs, parse_charstrings, parse_dict): Check parser error value after call to T1_Skip_PS_Token (where necessary). * src/type1/t1parse.c (T1_Get_Private_Dict): Check parser error value after call to T1_Skip_PS_Token. * src/cid/cidparse.c (cid_parser_new): Check parser error value after call to cid_parser_skip_PS_token. * src/type42/t42parse.c (t42_parse_encoding, t42_parse_sfnts, t42_parse_charstrings, t42_parse_dict): Check parser error value after call to T1_Skip_PS_Token (where necessary). * src/psaux/psobjc.c (skip_string, ps_parser_skip_PS_token, ps_tobytes): Add error messages.
Werner Lemberg 0358b21d 2005-02-10T16:59:37 Formatting.
David Turner e99b9a99 2005-02-10T16:11:29 * src/base/ftbitmap.c (FT_Bitmap_Convert): small improvements to the conversion function (mainly stupid optimization, because I like these... shame on me) * src/base/Jamfile: adding ftbitmap.c to the list of compiled files
David Turner 37b67724 2005-02-10T15:06:00 Fixing bug #11921
Werner Lemberg c9114b99 2005-02-10T08:18:27 * builds/unix/freetype-config.in: Add new flag `--ftversion' to return the FreeType version. Suggested by George Williams <gww@silcom.com>. * docs/CHANGES: Updated. * src/otvalid/otvmod.c (otv_validate): Deallocate arrays in case of error. Reported by YAMANO-UCHI Hidetoshi <mer@din.or.jp>. * src/psaux/t1decode.c (t1_decoder_parse_charstrings) <op_closepath>: Accept `T1_Parse_Have_Moveto' state also which can happen in empty glyphs. Reported by Ian Brown <ian.brown@printsoft.de>.
Werner Lemberg 4c1867bf 2005-02-04T00:02:31 * src/otlayout/*: Removed. Obsolete.
Werner Lemberg 213b9d01 2004-12-28T08:00:09 * src/cff/cffobjs.c (cff_face_init): Improve computation of FT_STYLE_BOLD_FLAG.
Werner Lemberg b897e4c9 2004-12-28T07:49:15 * src/cff/cffobjs.c (cff_face_init): A CFF within an SFNT can have only a single font. This is undocumented but has been verified on the opentype list.
Werner Lemberg 0f2a4157 2004-12-28T07:31:35 * src/base/ftbitmap.c (FT_Bitmap_Convert): Fix compiler warning.
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 133eee06 2004-12-12T06:55:40 * src/base/ftobjs.c (FT_Get_Kerning): Make kerning amount dependent on ppem by scaling down for ppem < 25, then do normal rounding. This gives slightly better results than rounding towards zero.
Werner Lemberg 62f89787 2004-12-09T22:57:18 * src/base/ftobjs.c (FT_Get_Kerning): Always round towards zero for FT_KERNING_DEFAULT. This greatly enhances the kerning for small ppem values.
Werner Lemberg 34f4f39a 2004-12-09T22:22:52 * src/base/ftobjs.c (ft_glyphslot_clear): Reset `lsb_delta' and `rsb_delta'.
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 85cc0a32 2004-11-23T22:10:21 * src/truetype/ttinterp.h: Fix typo.
Werner Lemberg b9ff415d 2004-11-19T10:35:52 Fix a serious bug in the TT hinter. * src/truetype/ttgload.c (TT_Process_Simple_Glyph): Don't shift points vertically before hinting. * docs/CHANGES: Updated. * src/cache/ftcglyph.c (FTC_GNode_UnselectFamily, FTC_GCache_Lookup): A new try to fix comparison with zero.
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 685dd4f7 2004-10-13T05:15:44 * src/sfnt/ttcmap.c (tt_face_build_cmaps): Check for pointer overflow. * src/sfnt/ttload.c (tt_face_load_hdmx): Protect against bad input. Don't use FT_QNEW_ARRAY but FT_NEW_ARRAY to make deallocation work in case of failure. * src/sfnt/ttsbit.c (Load_SBit_Range): Check range intervals. (tt_face_load_sbit_strikes): Allocate `strike_sbit_ranges' after frame test. * src/truetype/ttgload.c (TTLoad_Simple_Glyph): Add assertion for `flag'.
Werner Lemberg 33febc0f 2004-10-09T07:07:43 * docs/CHANGES: Updated. Fix handling of NPUSHW if skipped in data stream. * src/truetype/ttinterp.c (opcode_length): Set value for NPUSHW to -2. (SkipCode, TT_RunIns): Use opcode_length value for computation of bytes to be skipped.
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 2c1e5709 2004-09-08T13:36:39 * src/tools/docmaker/sources.py (re_source_block_format2) <column>: Use lookahead assertion to not match `*/'. This removes spurious insertions of `/' in the HTML output.
Werner Lemberg 619e1476 2004-09-08T09:47:44 * src/truetype/ttgxvar.c (TT_Vary_Get_Glyph_Deltas): Fix call to FT_NEW_ARRAY.
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 4b8397c7 2004-08-29T16:50:09 * src/otlayout/otlgpos.c (otl_gpos_subtable_validate): Add argument to pass number of lookups. Update all callers. Don't call otl_lookup_list_validate but otl_lookup_validate. (otl_gpos_validate): Call otl_lookup_list_validate instead of otl_gpos_subtable_validate. * src/otlayout/otlgpos.h: Updated. * src/otlayout/otljstf.c (otl_jstf_max_validate): Add argument to pass number of lookups. Update all callers. * src/cff/cffparse.c (cff_parse_real): s/exp/exponent/ to avoid compiler warning. * src/sfnt/ttcmap0.c, src/sfnt/ttcmap0.h: Renamed to... * src/sfnt/ttcmap.c, src/sfnt/ttcmap.h: This. * src/sfnt/Jamfile, src/sfnt/rules.mk, src/sfnt/sfdriver.c, src/sfnt/sfnt.c, src/sfnt/sfobjs.c: Updated. * builds/compiler/gcc-dev.mk (CFLAGS): Don't add `-Wnested-externs' if compiler is g++ (v3.3.3 emits a warning otherwise).
Werner Lemberg e79e3d3e 2004-08-28T15:23:04 * src/otlayout/otlgpos.c (otl_value_length): Return number of bytes, not number of 16bit entities. (otl_gpos_lookup2_validate): Check class definition tables for format 2. Fix loop for format 2. (otl_liga_mark2_validate): Fix offset for otl_anchor_validate.
Werner Lemberg b2c40b5b 2004-08-28T08:02:46 * src/base/ftmac.c: Don't include truetype/ttobjs.h. Don't include type1/t1objs.h. (FT_New_Face_From_FSSpec) [!__MWERKS__]: Remove compiler warnings.
Werner Lemberg 009ce1ab 2004-08-28T07:59:53 * src/otlayout/otlayout.h: Add copyright. (OTL_INVALID_OFFSET): Removed. * src/otlayout/otlgdef.h: Include otlayout.h. Comment out inclusion of otltable.h. * src/otlayout/otlgpos.c (otl_gpos_lookup4_validate): Fix call to otl_base_array_validate. (otl_liga_mark2_validate): Fix `for' loop. * src/otlayout/otlgsub.c (otl_ligature_validate): Check `glyph_id', not components array. * src/otlcommn.c (otl_lookup_get_count, otl_feature_get_count): Comment out. (otl_lookup_list_get_count, otl_feature_list_get_count): Activate. (otl_feature_list_validate, otl_gsubgpos_get_lookup_count): s/otl_lookup_get_count/otl_lookup_list_get_count/. (otl_script_list_validate): s/otl_feature_get_count/otl_feature_list_get_count/. (otl_script_validate): Call otl_lang_validate for default language. * src/otlayout/otlcommn.h: Updated.