ChangeLog


Log

Author Commit Date CI Message
David Turner f582cf3f 2005-09-26T09:27:09 * src/autofit/aflatin.c (af_latin_compute_stem_width): fixed bad computation of the "vertical" flag, causing ugly things in LCD mode and others.
David Turner 03ee7c82 2005-09-23T14:14:15 * src/autofit/afangles.c (af_angle_atan): replaced CORDIC-based implementation with one using lookup tables. This simple thing speeds glyph loading by 18% according to ftbench !
David Turner 18e44430 2005-09-23T13:22:10 * src/base/Jamfile: adding src/base/ftgxval.c * src/gxvalid/gxvbsln.c, src/gxvalid/gxvcommn.c, src/gxvalid/gxvfeat.c, src/gxvalid/gxvjust.c, src/gxvalid/gxvkern.c, src/gxvalid/gxvlcar.c, src/gxvalid/gxvmort.c, src/gxvalid/gxvmort0.c, src/gxvalid/gxvmort1.c, src/gxvalid/gxvmort2.c, src/gxvalid/gxvmort4.c, src/gxvalid/gxvmort5.c, src/gxvalid/gxvmorx.c, src/gxvalid/gxvmorx0.c, src/gxvalid/gxvmorx1.c, src/gxvalid/gxvmorx2.c, src/gxvalid/gxvmorx5.c, src/gxvalid/gxvopbd.c, src/gxvalid/gxvprop.c, src/sfnt/sfdriver.c, src/truetype/ttgload.c: removing _many_ compiler warnings when compiling with Visual C++ at maximum level (/W4)
David Turner 99ded0be 2005-09-23T08:00:51 * src/autofit/aflatin.c (af_latin_hints_init): fixed a bug that prevented internal hint mode bitflags from being computed correctly
Werner Lemberg b3feb80e 2005-09-23T07:40:28 * docs/CHANGES: Mention SING Glyphlet support. Other minor doc fixes and CRLF issues.
David Turner ad20e6ba 2005-09-22T20:37:51 * src/base/Jamfile: fixing broken Jamfile
Werner Lemberg 8eacad6d 2005-09-19T07:07:11 * freetype2/src/sfnt/ttload.c (sfnt_dir_check): Modified to allow a font to have no `head' table if tables `SING' and `META' are present; this is to support `SING Glyphlet'. `SING Glyphlet' is an extension to OpenType developed by Adobe primarily to facilitate adding supplemental glyphs to an OpenType font (with emphasis on, but not necessariy limited to, gaiji to a CJK font). A SING Glyphlet Font is an OpenType font that contains the outline(s), either in a `glyf' or `CFF' table, for a glyph; `cmap', `BASE', and `GSUB' tables are present with the same format and functionaliy as a regular OpenType font; there are no `name', `head', `OS/2', and `post' tables; there are two new tables, `SING' which contains details about the glyphlet, and `META' which contains metadata. Further information on the SING Glyphlet format can be found at: http://www.adobe.com/products/indesign/sing_gaiji.html * freetype2/include/freetype/ttags.h (TTAG_SING, TTAG_META): New macros for the OpenType tables `SING' and `META'. These two tables are used in SING Glyphlet Format fonts.
Werner Lemberg 7e25c688 2005-09-09T18:00:06 * src/sfnt/sfobjs.c (sfnt_load_face): Reactivate code to set FT_FACE_FLAG_KERNING which has been commented out erroneously. * docs/CHANGES: Document it.
Werner Lemberg 99aa14c2 2005-09-05T19:31:27 Fixes for `make multi' and using C++ compiler. * gxvalid/gxvcommn.c (gxv_set_length_by_ushort_offset, gxv_set_length_by_ulong_offset, gxv_array_getlimits_byte, gxv_array_getlimits_ushort): Declare with FT_LOCAL_DEF. (gxv_compare_ranges): Make it static. (gxv_LookupTable_fmt0_validate, gxv_LookupTable_fmt2_validate, gxv_LookupTable_fmt4_validate, gxv_LookupTable_fmt6_validate, gxv_LookupTable_fmt8_validate, gxv_LookupTable_validate): Improve trace messages. (gxv_StateArray_validate, gxv_XStateArray_validate): s/class/clazz/. (GXV_STATETABLE_HEADER_SIZE, GXV_STATEHEADER_SIZE, GXV_XSTATETABLE_HEADER_SIZE, GXV_XSTATEHEADER_SIZE): Move to gxvcommn.h. * gxvalid/gxvcommn.h: Add prototypes for gxv_StateTable_subtable_setup, gxv_XStateTable_subtable_setup, gxv_XStateTable_validate, gxv_array_getlimits_byte, gxv_array_getlimits_ushort, gxv_set_length_by_ushort_offset, gxv_set_length_by_ulong_offset, gxv_odtect_add_range, gxv_odtect_validate. (GXV_STATETABLE_HEADER_SIZE, GXV_STATEHEADER_SIZE, GXV_XSTATETABLE_HEADER_SIZE, GXV_XSTATEHEADER_SIZE): Moved from gxvcommn.c. * src/gxvalid/gxvbsln.c (gxv_bsln_LookupValue_validate, gxv_bsln_parts_fmt1_validate): Improve trace messages. * gxvalid/gxvfeat.c: Split off predefined registry stuff to... * gxvalid/gxvfeat.h: New file. * gxvalid/gxvjust.c (gxv_just_wdc_entry_validate): Improve trace message. * gxvalid/gxvkern.c (GXV_kern_Dialect): Add KERN_DIALECT_UNKNOWN. (gxv_kern_subtable_fmt1_valueTable_load, gxv_kern_subtable_fmt1_subtable_setup, gxv_kern_subtable_fmt1_entry_validate): Fix C++ compiler errors. (gxv_kern_coverage_validate): Use KERN_DIALECT_UNKWOWN. Improve trace message. (gxv_kern_validate_generic): Fix C++ compiler error. Improve trace message. (gxv_kern_validate_classic): Fix C++ compiler error. * gxvalid/gxvmort0.c (gxv_mort_subtable_type0_validate): Declare with FT_LOCAL_DEF. * gxvalid/gxvmort1.c (gxv_mort_subtable_type1_substitutionTable_load, gxv_mort_subtable_type1_subtable_setup): Fix C++ compiler errors. (gxv_mort_subtable_type1_substTable_validate): Improve trace message. (gxv_mort_subtable_type1_validate): Declare with FT_LOCAL_DEF. * gxvalid/gxvmort2.c (gxv_mort_subtable_type2_opttable_load, gxv_mort_subtable_type2_subtable_setup, gxv_mort_subtable_type2_ligActionOffset_validate, gxv_mort_subtable_type2_ligatureTable_validate): Fix C++ compiler errors. (gxv_mort_subtable_type2_validate): Declare with FT_LOCAL_DEF. * gxvalid/gxvmort4.c (gxv_mort_subtable_type4_validate): Declare with FT_LOCAL_DEF. * gxvalid/gxvmort5.c (gxv_mort_subtable_type5_subtable_setup, gxv_mort_subtable_type5_InsertList_validate): Fix C++ compiler errors. (gxv_mort_subtable_type5_validate): Declare with FT_LOCAL_DEF. * gxvalid/gxvmort.c: Include gxvfeat.h. (gxv_mort_featurearray_validate, gxv_mort_coverage_validate): Declare with FT_LOCAL_DEF. (gxv_mort_subtables_validate, gxv_mort_validate): Improve trace messages. * gxvalid/gxvmort.h (gxv_mort_feature_validate): Remove. * gxvalid/gxvmorx0.c (gxv_morx_subtable_type0_validate): Declare with FT_LOCAL_DEF. * gxvalid/gxvmorx1.c (gxv_morx_subtable_type1_substitutionTable_load, gxv_morx_subtable_type1_subtable_setup, gxv_morx_subtable_type1_entry_validate, gxv_morx_subtable_type1_substitutionTable_validate): Fix C++ compiler errors. (gxv_morx_subtable_type1_validate): Declare with FT_LOCAL_DEF. * gxvalid/gxvmorx2.c (gxv_morx_subtable_type2_opttable_load, gxv_morx_subtable_type2_subtable_setup, gxv_morx_subtable_type2_ligActionIndex_validate, gxv_morx_subtable_type2_ligatureTable_validate): Fix C++ compiler errors. (gxv_morx_subtable_type2_validate): Declare with FT_LOCAL_DEF. Fix typo. * gxvalid/gxvmorx4.c (gxv_morx_subtable_type4_validate): Declare with FT_LOCAL_DEF. * gxvalid/gxvmorx5.c (gxv_morx_subtable_type5_insertionGlyph_load, gxv_morx_subtable_type5_subtable_setup): Fix C++ compiler error. (gxv_morx_subtable_type5_validate): Declare with FT_LOCAL_DEF. * gxvalid/gxvmorx.c (gxv_morx_subtables_validate, gxv_morx_validate): Improve trace message. * gxvalid/gxvopbd.c (gxv_opbd_LookupFmt4_transit): Fix compiler warnings. (gxv_opbd_validate): Improve trace message. * gxvalid/gxvprop.c: Decorate constants with `U' and `L' where appropriate. (gxv_prop_zero_advance_validate, gxv_prop_validate): Improve trace message. * gxvalid/gxvtrak.c (gxv_trak_trackTable_validate): Remove unused parameter. Update all callers. (gxv_trak_validate): Improve trace message. * rules.mk (GXV_DRV_H): Add gxvfeat.h.
Werner Lemberg 4a7f0b1c 2005-09-01T07:33:03 * src/gxvalid/gxvbsln.c (GXV_BSLN_VALUE_EMPTY): Add `U'. * src/gxvalid/gxmort1.c (GXV_MORT_SUBTABLE_TYPE1_HEADER_SIZE), src/gxvalid/gxmort2.c (GXV_MORT_SUBTABLE_TYPE2_HEADER_SIZE): Fix typo. * src/gxvalid/gxvmorx0.c, src/gxvalid/gxvmorx1.c, src/gxvalid/gxvmorx2.c, src/gxvalid/gxvmorx4.c, src/gxvalid/gxvmorx5.c, src/gxvalid/gxvmort.c: Improve tracing messages. Decorate constants with `U' and `L' where appropriate. Fix compiler warnings. Formatting.
Werner Lemberg a4aa1c5b 2005-08-31T22:39:23 * src/gxvalid/gxvbsln.c (gxv_bsln_validate): Fix tracing message. * src/gxvalid/gxvcommn.c (gxv_odtect_add_range): Use `const'. * src/gxvalid/gxvfeat.c, src/gxvalid/gxvjust.c, src/gxvalid/gxvkern.c, src/gxvalid/gxvlcar.c, src/gxvalid/gxvmod.c, src/gxvalid/gxvmort0.c, src/gxvalid/gxvmort1.c, src/gxvalid/gxvmort2.c, src/gxvalid/gxvmort4.c, src/gxvalid/gxvmort5.c, src/gxvalid/gxvmort.c: Improve tracing messages. Decorate constants with `U' and `L' where appropriate. Fix compiler warnings.
Werner Lemberg eff1ee3b 2005-08-31T20:40:00 * src/truetype/ttgload.c (load_truetype_glyph): Fix typo.
Werner Lemberg 9b71edb0 2005-08-31T16:29:51 * src/gxvalid/gxvbsln.c: Fix compiler warnings. * src/gxvalid/gxvcommn.c: Fix compiler warnings. (gxv_XEntryTable_validate, gxv_compare_ranges): Remove unused parameter. Update all callers. Improve tracing messages. Some formatting.
Werner Lemberg 4814030b 2005-08-31T07:13:27 * src/gxvalid/README: Revised.
Werner Lemberg a723526a 2005-08-30T00:22:46 * include/freetype/freetype.h, include/freetype/ftchapters.h: Add a preliminary section with some explanations about user allocation. * src/tools/docmaker/tohtml.py (HtmlFormatter.section_enter): Don't abort if there are no data types, functions, etc., in a section. Print synopsis only if we have a data type, function, etc. * docs/INSTALL.ANY, docs/INSTALL, docs/INSTALL.UNX, docs/CUSTOMIZE, docs/INSTALL.GNU, docs/TRUETYPE, docs/DEBUG, docs/UPGRADE.UNX, docs/VERSION.DLL, docs/formats.txt: Revised, formatted.
Werner Lemberg 3bfb1c08 2005-08-29T11:59:18 * src/truetype/ttgload.c [TT_MAX_COMPOSITE_RECURSE]: Removed. (load_truetype_glyph): Limit recursion depth by `maxComponentDepth'.
Werner Lemberg b82e773b 2005-08-26T05:50:27 * builds/unix/freetype2.in (CFlags): Add missing directory.
Werner Lemberg 169a6d8a 2005-08-25T06:00:55 * docs/CHANGES: Mention gxvalid module. Formatting and other minor changes.
Werner Lemberg 55b0908e 2005-08-24T08:04:56 * src/autofit/aflatin.c (af_latin_metrics_scale): Initialize render mode properly. Reported by chris@dokein.co.uk.
Suzuki, Toshiya (鈴木俊哉) a4386214 2005-08-24T04:31:31 Add gxvalid module to validate TrueType GX/AAT tables. Modifications on existing files: * Jamfile: Register gxvalid module. * src/base/Jamfile: Register ftgxval.c. * src/base/rule.mk: Register ftgxval.c. * docs/INSTALL.ANY: Register gxvalid/gxvalid.c. * include/freetype/config/ftheader.h: Add macro to include gxvalid header file, FT_GX_VALIDATE_H. * include/freetype/config/ftmodule.h: Register gxv_module_class. * include/freetype/ftchapters.h: Add comment about gx_validation. * include/freetype/ftotval.h: Change keyword FT_VALIDATE_XXX to FT_VALIDATE_OTXXX to co-exist gxvalid. * include/freetype/tttags.h: Add tag for TrueType GX/AAT tables. * include/freetype/internal/ftserv.h: Add macro to use gxvalid service, FT_SERVICE_GX_VALIDATE_H * include/freetype/internal/fttrace.h: Add trace facilities for gxvalid. New files on existing directories: * include/freetype/internal/services/svgxval.h: Registration of validation service for TrueType GX/AAT and classic kern table. * include/freetype/ftgxval.h: Public API definition to use gxvalid. * src/base/ftgxval.c: Public API of gxvalid. New files under src/gxvalid/: * src/gxvalid/Jamfile src/gxvalid/README src/gxvalid/module.mk src/gxvalid/rules.mk src/gxvalid/gxvalid.c src/gxvalid/gxvalid.h src/gxvalid/gxvbsln.c src/gxvalid/gxvcommn.c src/gxvalid/gxvcommn.h src/gxvalid/gxverror.h src/gxvalid/gxvfeat.c src/gxvalid/gxvfgen.c src/gxvalid/gxvjust.c src/gxvalid/gxvkern.c src/gxvalid/gxvlcar.c src/gxvalid/gxvmod.c src/gxvalid/gxvmod.h src/gxvalid/gxvmort.c src/gxvalid/gxvmort.h src/gxvalid/gxvmort0.c src/gxvalid/gxvmort1.c src/gxvalid/gxvmort2.c src/gxvalid/gxvmort4.c src/gxvalid/gxvmort5.c src/gxvalid/gxvmorx.c src/gxvalid/gxvmorx.h src/gxvalid/gxvmorx0.c src/gxvalid/gxvmorx1.c src/gxvalid/gxvmorx2.c src/gxvalid/gxvmorx4.c src/gxvalid/gxvmorx5.c src/gxvalid/gxvopbd.c src/gxvalid/gxvprop.c src/gxvalid/gxvtrak.c: New files, gxvalid body.
Werner Lemberg 2752bd1a 2005-08-22T07:11:31 * src/truetype/ttgload.c (TT_Load_Glyph): Only translate outline to (0,0) if bit 1 of the `head' table isn't set. This improves rendering of buggy fonts.
Wu, Chia-I (吳佳一) 15c1f5d3 2005-08-20T08:17:44 * src/truetype/ttdriver.c (Load_Glyph): Don't check the validity of ttmetrics here. TrueType fonts with only sbits always have ttmetrics.valid set to false. * src/truetype/ttgload.c (TT_Load_Glyph): Check that ttmetrics is valid before loading outline glyph. * src/cache/ftcimage.c (FTC_INode_New): Fix a memory leak.
Werner Lemberg 3774b997 2005-08-20T05:45:42 * src/sfnt/ttload.c (tt_face_load_metrics_header): Ignore missing `hhea' table for SFNT Mac fonts. Change based on a patch by mpsuzuki@hiroshima-u.ac.jp.
Werner Lemberg 53ac64e3 2005-08-20T05:33:09 * src/otvalid/otvmod.c (otv_validate): Use ft_validator_run instead of ft_setjmp.
Werner Lemberg ffa033b1 2005-08-19T08:56:29 * src/truetype/ttgload.c (load_truetype_glyph): Fix compiler warnings. Formatting.
Wu, Chia-I (吳佳一) d6d73989 2005-08-16T02:06:01 * src/truetype/ttinterp.c, src/truetype/ttinterp.h: Update copyright messages.
Wu, Chia-I (吳佳一) 0142e6af 2005-08-16T01:54:59 * src/truetype/ttinterp.c, src/truetype/ttinterp.h: Remove original TT_Done_Context and rename TT_Destroy_Context to TT_Done_Context with slight changes. * src/truetype/ttobjs.h (tt_slot_init): New function. * src/truetype/ttobjs.c (tt_driver_init): Initialize execution context here. (tt_slot_init): New function to create extra points for the internal glyph loader. We then use it directly, instead of face's glyph loader, when loading glyph. * src/truetype/ttdriver.c: Use tt_slot_init for glyph slot initialization. (TT_Load_Glyph): Load flag dependencies are handled here. Return error if size is NULL. * src/truetype/ttgload.c: Heavy cleanup and refactor. (TT_Hint_Glyph): New funcion to hint a zone, prepared by caller. (TT_Process_Simple_Glyph): Use loader->pp's instead of recalculating. Use TT_Hint_Glyph. No need to save/restore loader->stream before/after TT_Vary_Get_Glyph_Deltas now. (TT_LOADER_SET_PP): New macro to calculate and set the four phantom points. (TT_Process_Composite_Component, TT_Process_Composite_Glyph, load_truetype_glyph): Refactor load_truetype_glyph into these three functions. Never set exec->glyphSize to 0. (close #13107) Forget glyph frame before calling TT_Process_Simple_Glyph. (TT_Load_Glyph, load_sbit_image, tt_loader_init): Refactor TT_Load_Glyph into these three functions. Set various fields of `glyph' here, instead of in load_truetype_glyph and compute_glyph_metrics.
Werner Lemberg f20a4d35 2005-08-10T13:24:51 * docs/INSTALL.ANY: Updated.
Werner Lemberg b2d65d75 2005-08-03T21:21:11 * src/sfnt/sfdriver.c (sfnt_interface) [FT_OPTIMIZE_MEMORY]: Reactivate pointers to tt_find_sbit_image and tt_load_sbit_metrics to make X work again.
Werner Lemberg 8e3fc5ea 2005-08-03T21:17:53 * src/otvalid/otvcommn.h: Remove dead code. Formatting.
Wu, Chia-I (吳佳一) 89fff9b9 2005-07-31T11:41:54 * src/truetype/ttobjs.h (tt_size_run_fpgm, tt_size_run_prep): New functions. * src/truetype/ttobjs.c (tt_size_run_fpgm, tt_size_run_prep): New functions. (tt_size_init): Add 4, instead of 2, (phantom) points to twilight zone. Move code that runs fpgm to tt_size_run_fpgm. (Reset_Outline_Size): Move code that runs prep to tt_size_run_prep. (tt_glyphzone_new): Allocate right size of arrays. Set max_points and max_contours properly.
Wu, Chia-I (吳佳一) 2a41ab9e 2005-07-26T08:14:03 * src/truetype/ttdriver.c (Set_Char_Sizes): Avoid unnecessary computations and clean up. * src/truetype/ttobjs.h (struct TT_SizeRec_): Comment on the internal copy of metrics.
Werner Lemberg 07437dba 2005-07-13T06:56:08 * include/freetype/ftoutln.h (FT_Outline_Embolden): Fix prototype. Reported by Xerxes.
Werner Lemberg 3500df46 2005-07-05T09:00:11 * include/freetype/internal/ftmemory.h (FT_REALLOC_ARRAY): Fix typo. Reported by Brett Hutley.
David Turner c5621628 2005-06-30T11:46:46 * src/sfnt/ftbitmap.c, src/truetype/ttgload.c, src/sfnt/ttcmap.c: removing compiler warnings (Visual C++ /W4) * Jamfile, src/otvalid/{otvcommn.h,otvgdef.c,otvgpos.c,otvgsub.c, otvjstf.c}: modified the code to use a different pre-processor trick to implement the OTV_NEST1, OTV_NEST2 and OTV_NEST3 macros. The code now compiles neatly with Visual C++. The 'otvalid' module has been put in the Jamfile build again.
Wu, Chia-I (吳佳一) 8cfb220e 2005-06-20T09:04:50 * include/freetype/internal/ftobjs.h, src/base/ftobjs.c: New function ft_glyphslot_grid_fit_metrics. * src/truetype/ttgload.c (compute_glyph_metrics): Use ft_glyphslot_grid_fit_metrics. * src/cff/cffgload.c (cff_slot_load), src/cid/cidgload.c (cid_slot_load_glyph), src/type1/t1gload.c (T1_Load_Glyph): Use ft_glyphslot_grid_fit_metrics. FT_Outline_Get_CBox is called twice. * src/base/ftsynth.c (FT_GlyphSlot_Embolden): Modify metrics to more reasonable values when emboldening outline glyphs. The theoretic ones are unrealistic.
Werner Lemberg 49f4d34e 2005-06-16T19:07:08 * src/base/ftoutln.c (FT_Outline_Embolden): Strength should be halved. * src/base/ftsynth.c (FT_GlyphSlot_Embolden): Change the default strength. Don't increase slot->advance.y. * include/freetype/freetype.h (FREETYPE_MINOR): Set to 2. (FREETYPE_PATCH): Set to 0. * builds/unix/configure.ac (version_info): Set to 9:9:3. Currently, we are still binary compatible. * 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.9/2.1.10/. * docs/CHANGES, docs/VERSION.DLL: Updated. * ChangeLog: Split off older entries into... * ChangeLog.20, ChangeLog.21: These new files. The next release will be 2.2.0, so don't worry about source code backwards compatibility. * include/freetype/ftimage.h (FT_Outline_MoveToFunc, FT_Outline_LineToFunc, FT_Outline_ConicToFunc, FT_Outline_CubicToFunc, FT_SpanFunc, FT_Raster_RenderFunc), include/freetype/ftrender.h (FT_Glyph_TransformFunc, FT_Renderer_RenderFunc, FT_Renderer_TransformFunc): Decorate parameters with `const' where appropriate. * src/sfnt/ttsbit.c (tt_face_load_sbit_image): Compute vertBearingY to make glyphs centered vertically. * src/truetype/ttgload.c (compute_glyph_metrics): Compute vertBearingY to make glyphs centered vertically. Fix some bugs in vertical metrics: . loader->pp3.y and loader->pp4.y are in 26.6 format, not in font units. . As we use the glyph's cbox to calculate the top bearing now there iss no need to adjust `top'. * src/otvalid/otvcommn.h (OTV_OPTIONAL_TABLE): Use FT_UShort to be in sync with OTV_OPTIONAL_OFFSET. Reported by YAMATO Masatake. * docs/release: Update.
Werner Lemberg 765cb0fa 2005-06-08T12:54:15 * Version 2.1.10 released. ========================== * src/pcf/readme: Renamed to... * src/pcf/README: This.
Werner Lemberg 288ce143 2005-06-08T11:56:55 * builds/amiga/*: Added copyright notes, reworked some comments.
Werner Lemberg 60a04df7 2005-06-04T23:04:30 Add license.
Werner Lemberg 255ce16e 2005-06-04T05:27:18 * include/freetype/ftimage.h (FT_Outline_MoveToFunc, FT_Outline_LineToFunc, FT_Outline_ConicToFunc, FT_Outline_CubicToFunc, FT_Raster_RenderFunc), include/freetype/ftrender.h (FT_Glyph_TransformFunc, FT_Renderer_RenderFunc, FT_Renderer_TransformFunc): Don't use `const' to stay compatible with FreeType 2.1.9.
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 25500f8c 2005-05-30T07:50:39 Add missing ChangeLog entry.
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 b4119a93 2005-05-24T13:46:17 * README.CVS: Mention file permissions.
Werner Lemberg 67d546a8 2005-05-24T04:49:42 * configure: Always remove config.mk, builds/unix/unix-def.mk, and builds/unix/unix-cc.mk. This fixes repeated calls of the script. Reported by Nelson Beebe and Behdad Esfahbod.
Werner Lemberg b8b8de80 2005-05-23T21:34:17 Fix ChangeLog.
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 e75c81a3 2005-05-22T20:43:38 Fix ChangeLog.
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 fe25ac74 2005-05-17T20:37:50 Add missing ChangeLog entry.
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 958f019d 2005-05-09T22:29:36 * include/freetype/internal/ftserv.h (FT_FACE_FIND_GLOBAL_SERVICE) [__cplusplus]: Fix typo.
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 a0a3aa93 2005-04-28T05:34:25 * docs/TODO: Updated.
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 1ea53e87 2005-04-13T18:12:36 * docs/TODO: Updated. * autogen.sh: Use `--force' for all commands.
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.
Werner Lemberg 14911fac 2005-04-04T20:38:33 Fix ChangeLog.
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 a76108ba 2005-04-03T20:11:42 * docs/CHANGES, include/freetype/freetype.h: Improve documentation of FT_Set_Pixel_Sizes and FT_Set_Char_Size.
Werner Lemberg a6e9ff3d 2005-03-26T22:57:57 * builds/amiga/src/base/ftsystem.c (ft_amiga_stream_io): Fix buffer offsets after a large read.
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 4a80d05e 2005-03-26T10:18:38 Update of the Amiga port. * builds/amiga/makefile, builds/amiga/makefile.os4, builds/amiga/smakefile: Included the base extension files (ftbitmap.c, ftotval.c, ftpfr.c, ftstroke.c, ftxf86.c).
Werner Lemberg 61c2c33a 2005-03-25T22:18:01 Update of the Amiga port. * builds/amiga/makefile, builds/amiga/smakefile: Handle new modules. * builds/amiga/makefile.os4: Makefile for AmigaOS4 SDK. * builds/amiga/README: Updated. * builds/amiga/include/freetype/config/ftconfig.h: Handle gcc for AmigaOS4. * builds/amiga/include/freetype/config/ftmodule.h: Handle new modules. * builds/amiga/src/base/ftdebug.c: Updated to current version of default ftdebug.c. Add various include files and macros to have proper support for both AmigaOS4 and older AmigaOS versions. Don't declare KVPrintF explicitly. Replace getenv with GetVar. Actually enable debugging code. * builds/amiga/src/base/ftsystem.c: Major rewrite.
Werner Lemberg c740c191 2005-03-23T17:44:34 * tests/*: Removed.
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 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 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)