2005-08-23 Werner Lemberg * src/autofit/aflatin.c (af_latin_metrics_scale): Initialize render mode properly. Reported by chris@dokein.co.uk. 2005-08-23 suzuki toshiya 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. 2005-08-21 Werner Lemberg * 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. 2005-08-20 Chia I Wu * 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. 2005-08-20 Werner Lemberg * 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. 2005-08-20 Masatake YAMATO * src/otvalid/otvmod.c (otv_validate): Use ft_validator_run instead of ft_setjmp. 2005-08-19 Werner Lemberg * src/truetype/ttgload.c (load_truetype_glyph): Fix compiler warnings. 2005-08-16 Chia I Wu * src/truetype/ttinterp.c, src/truetype/ttinterp.h: Update copyright messages. 2005-08-16 Chia I Wu * 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. Update all callers. (TT_New_Context): Now takes TT_Driver argument directly. Update all callers. * 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 (tt_driver_class): Use tt_slot_init for glyph slot initialization. (Load_Glyph): Load flag dependencies are handled here. Return error if size is NULL. * src/truetype/ttgload.c: Heavy cleanup and refactoring. (org_to_cur): Removed. (TT_Load_Simple_Glyph): Call FT_GlyphLoader_CheckPoints. (TT_Hint_Glyph): New funcion to hint a zone, prepared by caller. (TT_Process_Simple_Glyph): s/load/loader/. Use loader->pp values instead of recalculation. Use TT_Hint_Glyph. No need to save/restore loader->stream before and after TT_Vary_Get_Glyph_Deltas now. (TT_LOADER_SET_PP): New macro to calculate and set the four phantom points. (load_truetype_glyph): Never set exec->glyphSize to 0. This closes Savannah bug #13107. Forget glyph frame before calling TT_Process_Simple_Glyph. Use TT_LOADER_SET_PP. Scale all four phantom points. Split off some functionality to ... (TT_Process_Composite_Component, TT_Process_Composite_Glyph): These new functions. (TT_Load_Glyph): Set various fields of `glyph' here, not in load_truetype_glyph and compute_glyph_metrics. Split off some functionality to ... (load_sbit_image, tt_loader_init): These new functions. (compute_glyph_metrics): Call FT_Outline_Get_CBox. 2005-08-08 Werner Lemberg * docs/INSTALL.ANY: Updated. 2005-08-05 Werner Lemberg * src/cff/cffgload.c (cff_builder_close_contour), src/psaux/psobjs.c (t1_builder_close_contour): Protect against zero `outline' pointer. * src/base/ftgloadr.c (FT_GlyphLoader_Add): Protect against zero `loader' address. 2005-08-03 Werner Lemberg * 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. 2005-08-02 Werner Lemberg * src/otvalid/otvcommn.h: Remove dead code. 2005-07-31 Chia I Wu * 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. 2005-07-26 Chia I Wu * 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. 2005-07-12 Werner Lemberg * include/freetype/ftoutln.h (FT_Outline_Embolden): Fix prototype. Reported by Xerxes. 2005-07-04 Werner Lemberg * include/freetype/internal/ftmemory.h (FT_REALLOC_ARRAY): Fix typo. Reported by Brett Hutley. 2005-06-30 David Turner * src/sfnt/ftbitmap.c, src/truetype/ttgload.c, src/sfnt/ttcmap.c: Removing compiler warnings (Visual C++ /W4). Implement a work-around for broken C preprocessor in Visual C++ (it has been confirmed by the MS developers that it is indeed a bug which won't be fixed in the very near future). * Jamfile (FT2_COMPONENTS): Include otvalid (again). * src/otvalid/otvcommn.h (OTV_NAME, OTV_FUNC): New macros. (OTV_NEST1, OTV_NEST2, OTV_NEST3): Use OTV_NAME and OTV_FUNC to avoid argument expansion by argument prescan. Append `Func' to all affected macros and change them to take just a single argument. Example: `AttachList' is renamed to `AttachListFunc'. * src/otvalid/otvgdef.c, src/otvalid/otvgpos.c, src/otvalid/otvgsub.c, src/otvjstf.c: Append `Func' to macros affected by the changes to OTV_NESTx and modify them to take just a single argument. 2005-06-20 Chia I Wu * 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. 2005-06-16 Chia I Wu * 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. 2005-06-16 Werner Lemberg * 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. 2005-06-15 Kirill Smelkov 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. 2005-06-15 Chia I Wu * 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'. 2005-06-15 Werner Lemberg * src/otvalid/otvcommn.h (OTV_OPTIONAL_TABLE): Use FT_UShort to be in sync with OTV_OPTIONAL_OFFSET. Reported by YAMATO Masatake. 2005-06-13 Werner Lemberg * docs/release: Update. ---------------------------------------------------------------------------- Copyright 2005 by David Turner, Robert Wilhelm, and Werner Lemberg. This file is part of the FreeType project, and may only be used, modified, and distributed under the terms of the FreeType project license, LICENSE.TXT. By continuing to use, modify, or distribute this file you indicate that you have read the license and understand and accept it fully. Local Variables: version-control: never coding: latin-1 End: