Branch :
| Author | Commit | Date | CI | Message |
|---|---|---|---|---|
| da95af6c | 2006-03-20 13:32:33 | * builds/win32/visualc/freetype.dsp: updating the project file, adding missing base source files (e.g. ftstroke.c, ftxf86.c, etc...) * src/autofit/afcjk.c, src/autofit/aflatin.c, src/base/ftobjs.c, src/cff/cffobjs.c, src/cid/cidobjs.c, src/pfr/pfrobjs.c, src/sfnt/sfobjs.c, src/sfnt/ttmtx.c, src/truetype/ttpload.c, src/truetype/ttpload.h, src/type1/t1afm.c, src/type1/t1objs.c: removing compiler warnings when building with Visual C++ 6 and /W4 | ||
| 6c71c6b9 | 2006-02-25 12:49:40 | * include/freetype/config/ftoption.h, src/autofit/afcjk.c, src/base/ftobjs.c, src/base/ftutil.c, src/cff/cffobjs.c, src/psaux/afmparse.c, src/sfnt/ttbdf.c, src/tools/apinames.c, src/truetype/ttdriver.c: solved compiler warnings as well as C++ compilation problems | ||
| 5edafed1 | 2006-02-22 08:23:35 | Clean-ups, copyright years, formatting. | ||
| facd9af5 | 2006-02-22 07:59:35 | * modules.cfg: Compile in ftotval.c and ftxf86.c by default for ABI compatibility. * src/sfnt/sfobjs.c (sfnt_done_face): Fix a memory leak. * src/sfnt/ttsbit0.c (tt_sbit_decoder_load_bit_aligned, tt_sbit_decoder_load_byte_aligned) [FT_OPTIMIZE_MEMORY]: Fix sbit loading. (only tested with bit aligned sbit with x_pos == 0) * src/truetype/ttpload.c (tt_face_load_hdmx, tt_face_get_device_metrics) [FT_OPTIMIZE_MEMORY]: hdmx is not actually used. | ||
| 0b5dc4df | 2006-02-21 22:36:23 | * include/freetype/ftmodapi.h, include/internal/ftserv.h, include/internal/services/svtteng.h, src/base/ftobjs.c, src/truetype/ttdriver.c: adding a new API named FT_Get_TrueType_Engine_Type to determine wether we have a patented, unpatented or unimplemented TrueType bytecode interpreter. the FT_Get_Module_Flags API was removed consequently. | ||
| 8e6f8c4d | 2006-02-17 08:07:09 | Formatting, copyright years, documentation improvements. | ||
| cda2d957 | 2006-02-16 22:45:31 | * builds/amiga/src/base/ftsystem.c, devel/ftoption.h include/freetype/ftcache.h, include/freetype/ftoutln.h, include/freetype/cache/ftccache.h, include/freetype/cache/ftccmap.h, include/freetype/config/ftoption.h, include/freetype/internal/ftcalc.h, include/freetype/internal/ftdriver.h, include/freetype/internal/ftmemory.h, include/freetype/internal/ftobjs.h, include/freetype/internal/ftrfork.h, include/freetype/internal/psaux.h, include/freetype/internal/sfnt.h, include/freetype/internal/t1types.h, include/freetype/internal/tttypes.h, src/base/ftcalc.c, src/base/ftdbgmem.c, src/base/ftobjs.c, src/base/ftsystem.c, src/base/ftutil.c, src/bdf/bdfdrivr.c, src/cache/ftccache.c, src/cache/ftccback.h, src/cache/ftccmap.c, src/cache/ftcmanag.c, src/cff/cffdrivr.c, src/cid/cidriver.c, src/pcf/pcfdrivr.c, src/pfr/pfrdrivr.c, src/psaux/psauxmod.c, src/sfnt/sfdriver.c, src/truetype/ttdriver.c, src/type1/t1driver.c, src/type1/t1objs.c, src/type42/t42drivr.c, src/winfonts/winfnt.c: massive changes to the internals to respect the internal object layouts and exported functions of FreeType 2.1.7. Note that the cache sub-system cannot be fully retrofitted, unfortunately. | ||
| 0d565fdc | 2006-02-15 07:44:31 | * include/freetype/internal/ftobjs.h (FT_Face_InternalRec): Remove unused `max_points' and `max_contours'. * src/cid/cidobjs.c (cid_face_init), src/type1/t1objs.c (T1_Face_Init), src/type42/t42objs.c (T42_Face_Init): Update. * include/freetype/internal/tttypes.h (TT_FaceRec): Remove unused `max_components'. * src/truetype/ttinterp.h (TT_ExecContextRec): Remove unused `loadSize' and `loadStack'. * src/truetype/ttinterp.c (TT_Done_Context, TT_Load_Context), src/sfnt/ttload.c (tt_face_load_maxp): Update. * src/cff/cffobjs.h (cff_size_select), src/sfnt/sfdriver.c (sfnt_interface), src/truetype/ttdriver.c (tt_size_request): Fix compiler errors/warnings when TT_CONFIG_OPTION_EMBEDDED_BITMAPS is not defined. * src/sfnt/ttmtx.c (tt_face_load_hmtx, tt_face_get_metrics): Fix possible segment faults for the non-FT_OPTIMIZE_MEMORY'ed versions. (finally!) For most OpenType tables, `tt_face_load_xxxx' simply loads the table and `face->root' is set later in `sfnt_load_face'. Here, we try to make this work for _all_ tables. * src/sfnt/ttsbit.c, src/sfnt/ttsbit0.c, src/sfnt/ttload.c, src/sfnt/ttmtx.c: all `tt_face_load_xxxx' should load the table and then exit. Error handling or setting face->root is done later in `sfnt_load_face'. Pretty trace messages. * src/sfnt/sfobjs.c (sfnt_load_face): Work harder. Mac bitmap-only fonts are not scalable. Check that `face->header.Units_Per_EM' is not zero. (LOAD_, LOADM_): Pretty trace messages. * src/sfnt/ttsbit0.c (tt_face_load_strike_metrics): Read metrics from `eblc'. * src/sfnt/ttcmap.c (tt_face_build_cmaps), src/sfnt/ttpost.c (load_format_20, load_format_25, tt_face_get_ps_name): Use face->max_profile.numGlyphs, instead of face->root.num_glyphs. | ||
| 5225402a | 2006-02-15 06:05:52 | * include/freetype/ftoutln.h (FT_Outline_Embolden): Mention in documentation that negative strength values are possible. Give an example call. * include/freetype/freetype.h (FT_GlyphSlotRec): Improve documentation of `outline' field. * src/sfnt/sfobjc.s: Inckude FT_INTERNAL_DEBUG_H. * src/sfnt/sfdriver.c: Include ttmtx.h. * src/autofit/afcjk.c: Include aftypes.h and aflatin.h. | ||
| 9a2b3b6d | 2006-02-14 08:37:03 | * src/sfnt/ttmtx.c (tt_face_load_hhea, tt_face_load_hmtx): Simply return error if table is missing. Check table length in non-FT_OPTIMIZE_MEMORY'ed `tt_face_load_hmtx'. * src/sfnt/sfobjs.c (sfnt_load_face): Take care of missing metrics tables. The last change makes Mac bitmap-only font not load and this fixes it. * src/truetype/ttgload.c (load_truetype_glyph): Fix compilation error when FT_CONFIG_OPTION_INCREMENTAL is defined. | ||
| f5aa47be | 2006-02-14 06:40:10 | Clean up the SFNT_Interface. Table loading functions are now named after the tables' tags; `hdmx' is TrueType-specific and thus the code is moved to the truetype module; `get_metrics' is moved here from the truetype module so that the code can be shared with the cff module. This pass involves no real changes. That is, the code is moved verbatim mostly. The only exception is the return value of `tt_face_get_metrics'. * include/freetype/internal/sfnt.h, src/sfnt/rules.mk, src/sfnt/sfdriver.c, src/sfnt/sfnt.c, src/sfnt/sfobjs.c, src/sfnt/ttload.c, src/sfnt/ttload.h, src/sfnt/ttsbit.c, src/sfnt/ttsbit.h, src/sfnt/ttsbit0.c: Clean up the SFNT_Interface. * src/sfnt/ttmtx.c, src/sfnt/ttmtx.h: Metrics-related tables' loading and parsing code is moved here. Move `tt_face_get_metrics' here from the truetype module. The return value is changed from `void' to `FT_Error'. * include/freetype/internal/fttrace.h: New trace: ttmtx. * src/truetype/ttpload.c, src/truetype/ttpload.h: `hdmx' loading and parsing code is moved here. New function `tt_face_load_prep' splitted from `tt_face_load_fpgm'. `tt_face_load_fpgm' returns `FT_Err_Ok' if `fpgm' doesn't exist. * src/cff/cffgload.c, src/cff/cffobjs.c: Update. * src/truetype/ttgload.c, src/truetype/ttobjs.c: Update. | ||
| 59939244 | 2006-01-31 20:17:42 | Implement new, simplified module selection. With GNU make it is now sufficient to modify a single file, `modules.cfg', to control the inclusion of modules and base extension files. This change also fixes the creation of ftmodule.h; it now depends on `modules.cfg' and thus is rebuilt only if necessary. Finally, a version of `ftoption.h' in OBJ_DIR is preferred over the default location. * modules.cfg: New file. * builds/freetype.mk: Don't include `modules.mk'. Include all `rules.mk' files as specified in `modules.cfg'. (FTOPTION_FLAG, FTOPTION_H): New variables. (FT_CFLAGS): Add macro definition for FT_CONFIG_MODULES_H. Add FTOPTION_FLAG. ($(FT_INIT_OBJ)): Don't use FT_MODULE_LIST. (CONFIG_H): Add FTMODULE_H and FTOPTION_H. (INCLUDES): Add DEVEL_DIR. (INCLUDE_FLAGS, FTSYS_SRC, FTSYS_OBJ, FTDEBUG_SRC, FTDEBUG_OBJ, OBJ_M, OBJ_S): Use `:=', not `='. (remove_ftmodule_h): New phony target to delete `ftmodule.h'. (distclean): Add remove_ftmodule_h. * builds/modules.mk: (MODULE_LIST): Removed. (make_module_list, clean_module_list): Replace targets with... (FTMODULE_H_INIT, FTMODULE_H_CREATE, FTMODULE_H_DONE): New variables. Reason for the change is that it is not possible to have a phony prerequisite which is run only if the target file must be rebuilt (phony prerequisites act like subroutines and are *always* executed). We only want to rebuild `ftmodule.h' if `module.cfg' is changed. Update all callers. ($FTMODULE_H)): Rule to create `ftmodule.h', depending on `modules.cfg'. * builds/toplevel.mk: Rewrite and simplify module handling. (MODULES_CFG, FTMODULE_H): New variables. Include MODULES_CFG. (MODULES): New variable to include all `module.mk' and `rules.mk' files. We no longer use make's `wildcard' function for this. * Makefile (USE_MODULES): Remove. Update all users. (OBJ_DIR): Define it here. * src/*/module.mk: Change make_module_list: foo foo: ... to FTMODULE_H_COMMANDS += FOO define FOO ... endef in all files. `FTMODULE_H_COMMANDS' is used in `FTMODULE_H_CREATE'. * src/base/rules.mk (BASE_EXT_SRC): Use BASE_EXTENSIONS. * builds/unix/detect.mk (setup): Always execute `configure' script. (have_mk): Rename to... (have_Makefile): This. Don't use `strip' function. * builds/unix/unix.mk: Include `install.mk' only if BUILD_PROJECT is defined. (have_mk): Don't use `strip' function. Test for unix-def.mk in OBJ_DIR, not BUILD_DIR (and invert the test accordingly). * builds/unix/install.mk (install, uninstall): Handle `ftmodule.h'. * builds/os2/os2-dev.mk, builds/unix/unix-dev.mk, builds/win32/w32-bccd.mk, builds/win32/w32-dev.mk: Don't define BUILD_DIR but DEVEL_DIR for development header files. * builds/ansi/ansi-def.mk (TOP_DIR, OBJ_DIR), builds/beos/beos-def.mk (TOP_DIR, OBJ_DIR), builds/unix/unix-def.in (TOP_DIR, OBJ_DIR): Removed. Defined elsewhere. * builds/dos/dos-def.mk (OBJ_DIR), builds/os2/os2-def.mk (OBJ_DIR), builds/win32/win32-def.mk (OBJ_DIR): Removed. Defined elsewhere. * builds/unix/unixddef.mk: Don't define BUILD_DIR but DEVEL_DIR for development header files. Don't define PLATFORM. * configure: Copy `modules.cfg' to builddir if builddir != srcdir. Update snippet taken from autoconf's m4sh.m4 to current CVS version. Be more verbose. * include/freetype/config/ftmodule.h: Add comments -- this file is no longer used if FreeType is built with GNU make. * docs/CHANGES, docs/CUSTOMIZE, docs/INSTALL, docs/INSTALL.ANY, docs/INSTALL.GNU, docs/INSTALL.UNX: Document new build mechanism. Other minor updates. * modules.txt: Removed. Contents included in `modules.cfg'. * include/freetype/internal/ftmemory.h (FT_QAlloc_Debug, FT_Free_Debug) [FT_STRICT_ALIASING]: Fix typos. * src/base/ftdbgmem.c (FT_Alloc_Debug, FT_Realloc_Debug, FT_QAlloc_Debug, FT_QRealloc_Debug, FT_Free_Debug) [FT_STRICT_ALIASING]: Implement. | ||
| 7596fd3a | 2006-01-28 16:29:29 | * src/*/module.mk (.PHONY): Add. | ||
| 9cc4aed8 | 2006-01-26 21:03:58 | Formatting. | ||
| bcc438b1 | 2006-01-23 14:12:40 | * include/freetype/freetype.h (FT_Select_Size): Rename the second argument from `idx' to `strike_index'. (FT_Size_Request_Type): Add FT_SIZE_REQUEST_TYPE_MAX to the end of this enum. * include/freetype/internal/ftobjs.h (FT_REQUEST_WIDTH, FT_REQUEST_HEIGHT): New macros to get the width and height of a request, in fractional pixels. * include/freetype/internal/ftobjs.h (FT_Select_Metrics, FT_Request_Metrics), src/base/ftobjs.c (FT_Select_Metrics, FT_Request_Metrics): New base functions to set the font metrics. They were part of FT_Select_Size/FT_Request_Size and are made independent functions so that metrics are not set again and again. * src/base/ftobjs.c (FT_Select_Size, FT_Request_Size): Metrics are set only when driver's size_select/size_request is NULL. That is, drivers should set the metrics themselves. (FT_Match_Size): Round before matching. This was what we did and it does cause some problems without rounding. * src/cff/cffobjs.c (cff_size_select), src/truetype/ttdriver.c (tt_size_select): Set the font metrics. s/index/strike_index/. The scaled metrics are always preferred over strikes' metrics, even when some strike is selected. This is done because the strikes' metrics are not reliable, e.g., the sign of the descender is wrong for some fonts. * src/cff/cffobjs.c (cff_size_request), src/truetype/ttdriver.c (tt_size_request): Set the font metrics. Call cff_size_select/tt_size_select when some strike is matched. * src/bdf/bdfdrivr.c, src/cff/cffobjs.c, src/cid/cidobjs.c, src/pcf/pcfdrivr.c, src/truetype/ttdriver.c, src/type1/t1objs.c, src/type1/t1objs.h, src/type42/t42objs.c, src/winfonts/winfnt.c: Set the font metrics. s/index/strike_index/. * src/tools/test_afm.c, src/psaux/psconv.c: Older versions of these files were committed. Just a catch-up. (PS_Conv_ToFixed): Remove the `goto'. (PS_Conv_ASCIIHexDecode, PS_Conv_EexecDecode): Speed up a little. * src/sfnt/ttsbit.c (tt_face_load_sbit_strikes, tt_face_load_strike_metrics), src/sfnt/ttsbit0.c (tt_face_load_sbit_strikes, tt_face_load_strike_metrics): The advertised metrics in `available_sizes' are different from those actually used. | ||
| 1723dcc2 | 2006-01-15 07:30:32 | Formatting, minor clean-ups. | ||
| 212aee0d | 2006-01-15 06:24:53 | * include/freetype/internal/ftobjs.h (ft_fake_vertical_metrics), src/base/ftobjs.c (ft_fake_vertical_metrics): New function to fake the vertical metrics. * src/cff/cffgload.c, src/cid/cidgload.c, src/pcf/pcfdrivr.c, src/type1/t1gload.c, src/winfonts/winfnt.c: Fake the vertical metrics. The fake metrics is monotone. * src/truetype/ttgload.c (compute_glyph_metrics): Some fixes and formattings in vertical metrics faking. There are still rooms for improvements (and so do the CFF module). | ||
| f1c2b91e | 2006-01-13 14:53:28 | Formatting, copyright year updates. Decorate long constants with `L' and `UL' where appropriate. | ||
| fa7d6ab2 | 2006-01-13 12:21:31 | * include/freetype/internal/sfnt.h (SFNT_Interface): New method `load_strike_metrics' used to load the strike's metrics. * src/sfnt/sfdriver.c, src/sfnt/ttsbit.c, src/sfnt/ttsbit.h, src/sfnt/ttsbit0.c: New function `tt_face_load_strike_metrics'. * src/pfr/pfrobjs.c (pfr_face_init): Set FT_Bitmap_Size correctly. * src/winfonts/winfnt.c (FNT_Face_Init): Use `nominal_point_size' for nominal size unless it is obviously incorrect. * include/freetype/freetype.h (FT_Bitmap_Size): Update the comments on FNT driver. Introduce new size selection interface. * include/freetype/internal/ftdriver.h (struct FT_Driver_ClassRec_): Replace `set_char_sizes' and `set_pixel_sizes' by `request_size' and `select_size'. * include/freetype/freetype.h (FT_Select_Size, FT_Size_Request_Type, FT_Size_Request, FT_Request_Size, FT_Select_Size), src/base/ftobjs.c (FT_Select_Size, FT_Request_Size): API additions to export the new size selection interface. * src/base/ftobjs.c (FT_Set_Char_Size, FT_Set_Pixel_Sizes): Use `FT_Request_Size'. * include/freetype/internal/ftobjs.h (FT_Match_Size), src/base/ftobjs.c (FT_Match_Size): New function to match a size request against `available_sizes'. Drivers supporting bitmap strikes can use this function to implement `request_size'. * src/bdf/bdfdrivr.c, src/cid/cidobjs.c, src/cid/cidobjs.h, src/cid/cidriver.c, src/pcf/pcfdrivr.c, src/type1/t1driver.c, src/type1/t1objs.c, src/type1/t1objs.h, src/type42/t42drivr.c, src/type42/t42objs.c, src/type42/t42objs.h, src/winfonts/winfnt.c: Update to new size selection interface. * src/cff/cffdrivr.c, src/cff/cffgload.c, src/cff/cffobjs.c, src/cff/cffobjs.h, src/truetype/ttdriver.c, src/truetype/ttgload.c, src/truetype/ttobjs.c, src/truetype/ttobjs.h: Update to new size selection interface. Make `strike_index' FT_ULong and always defined. Use `load_strike_metrics' provided by SFNT interface. | ||
| ce34d122 | 2005-12-17 13:12:49 | * src/truetype/ttinterp.c (Update_Max): Set current size of buffer correctly (so that memory debug system won't panic). | ||
| dcb8b710 | 2005-12-16 14:27:14 | * include/freetype/internal/ftobjs.h (ft_glyphslot_grid_fit_metrics), src/base/ftobjs.c (ft_glyphslot_grid_fit_metrics): Removed. * src/base/ftobjs.c (ft_recompute_scaled_metrics): Do not round. * src/cff/cffgload.c (cff_slot_load), src/cid/cidgload.c (cid_slot_load_glyph), src/truetype/ttgload.c (compute_glyph_metrics), src/type1/t1gload.c (T1_Load_Glyph): Do not round glyph metrics. * doc/CHANGES: Mention the changes. | ||
| a3690cda | 2005-12-06 08:24:01 | * src/truetype/ttobjs.c (tt_size_init): size->ttmetrics.valid is initialized twice. size->strike_index is not initialized. | ||
| 674ba91f | 2005-11-16 18:09:27 | formatting | ||
| f7cc1814 | 2005-11-15 17:30:56 | * src/base/fttrigon.c (ft_trig_prenorm): fixed a bug that created invalid computations, resulting in very weird bugs in TrueType bytecode hinted fonts * src/truetype/ttinterp.c: redefined FT_UNUSED_EXEC to not perform a structure copy each time. Wooot. ! | ||
| 9fbd2ab8 | 2005-10-28 16:14:14 | - various performance enhancements - fixing apinames.c, adding support for Watcom and Borland compilers - adding generation of exported symbols list to the build system, including the Unix one !! sorry Werner, I have no time to document this in ChangeLog at the moment | ||
| 560d5fed | 2005-10-21 09:08:28 | Minor cleanups. Copyright issues. | ||
| 2293bb15 | 2005-10-19 08:07:38 | * src/truetype/ttgload.c (TT_Load_Glyph): Allow size->ttmetrics to be invalid when FT_LOAD_NO_SCALE is set. | ||
| 7734a1f7 | 2005-10-05 15:18:29 | Add FT_FACE_FLAG_HINTER to indicate that a specific font driver has a hinting engine of its own. * include/freetype/freetype.h (FT_FACE_FLAG_HINTER): New macro. * src/cff/cffobjs.c (cff_face_init), src/cid/cidobjs.c (cid_face_init), src/truetype/ttobjs.c (tt_face_init) [TT_CONFIG_OPTION_BYTECODE_INTERPRETER], src/type1/t1objs.c (T1_Face_Init), src/type42/t42objs.c (T42_Face_Init) [TT_CONFIG_OPTION_BYTECODE_INTERPRETER]: Update face flags. * docs/CHANGES: Document it. | ||
| 7c25946f | 2005-09-28 07:34:45 | Formatting. | ||
| 18e44430 | 2005-09-23 13: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) | ||
| eff1ee3b | 2005-08-31 20:40:00 | * src/truetype/ttgload.c (load_truetype_glyph): Fix typo. | ||
| 3bfb1c08 | 2005-08-29 11:59:18 | * src/truetype/ttgload.c [TT_MAX_COMPOSITE_RECURSE]: Removed. (load_truetype_glyph): Limit recursion depth by `maxComponentDepth'. | ||
| 2752bd1a | 2005-08-22 07: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. | ||
| 15c1f5d3 | 2005-08-20 08: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. | ||
| ffa033b1 | 2005-08-19 08:56:29 | * src/truetype/ttgload.c (load_truetype_glyph): Fix compiler warnings. Formatting. | ||
| d6d73989 | 2005-08-16 02:06:01 | * src/truetype/ttinterp.c, src/truetype/ttinterp.h: Update copyright messages. | ||
| 0142e6af | 2005-08-16 01: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. | ||
| 8e3fc5ea | 2005-08-03 21:17:53 | * src/otvalid/otvcommn.h: Remove dead code. Formatting. | ||
| 89fff9b9 | 2005-07-31 11: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. | ||
| 2a41ab9e | 2005-07-26 08: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. | ||
| baed3dd0 | 2005-07-13 06:58:13 | Oops! Undo private change. | ||
| 07437dba | 2005-07-13 06:56:08 | * include/freetype/ftoutln.h (FT_Outline_Embolden): Fix prototype. Reported by Xerxes. | ||
| c5621628 | 2005-06-30 11: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. | ||
| 8cfb220e | 2005-06-20 09: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. | ||
| 49f4d34e | 2005-06-16 19: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. | ||
| 60a04df7 | 2005-06-04 23:04:30 | Add license. | ||
| f814f682 | 2005-05-22 20: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. | ||
| 22ad9ef0 | 2005-05-09 22: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. | ||
| 43ebad42 | 2005-05-07 06:10:19 | * src/truetype/ttpload.c (tt_face_get_location): Fix typo. | ||
| 5452fbe3 | 2005-05-05 07: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. | ||
| 750fa961 | 2005-05-01 10: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 | ||
| 8744edfe | 2005-04-06 14:48:55 | * src/truetype/ttgload.c (tt_face_get_metrics) [FT_OPTIMIZE_MEMORY]: Fix typo which sometimes causes wrong metrics for the last glyph. | ||
| c11aeb64 | 2005-03-10 15: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'. | ||
| 3ab770b1 | 2005-03-08 20:24:56 | Cosmetic fixes. | ||
| f13516c8 | 2005-03-03 17: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. | ||
| dc736a6a | 2005-03-03 14:09:10 | * src/sfnt/ttsbit0.c, src/truetype/ttpload.c: removing compiler warnings | ||
| e793092d | 2005-03-01 02: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. | ||
| 6a487b59 | 2005-02-28 22: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. | ||
| e5680279 | 2005-02-26 00: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... | ||
| e70d5531 | 2005-02-22 16: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. | ||
| 85cc0a32 | 2004-11-23 22:10:21 | * src/truetype/ttinterp.h: Fix typo. | ||
| b9ff415d | 2004-11-19 10: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. | ||
| bbdee28f | 2004-11-17 08: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. | ||
| 685dd4f7 | 2004-10-13 05: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'. | ||
| 33febc0f | 2004-10-09 07: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. | ||
| 619e1476 | 2004-09-08 09:47:44 | * src/truetype/ttgxvar.c (TT_Vary_Get_Glyph_Deltas): Fix call to FT_NEW_ARRAY. | ||
| dea712b4 | 2004-08-07 15:08:33 | `Activate' gray-scale specifing hinting within the TrueType bytecode interpreter. This is an experimental feature which should probably be made optional. * src/truetype/ttgload.c (TT_Process_Simple_Glyph, load_truetype_glyph): Move the code to set the pedantic_hinting flag to... (TT_Load_Glyph): Here. Set `grayscale' flag except for `FT_LOAD_TARGET_MONO'. * src/truetyep/ttinterp.c (Ins_GETINFO): Return MS rasterizer version 1.7. Return rotation and stretching info only if glyph is rotated or stretched, respectively. Handle grayscale info. * src/truetype/ttinterp.h (TT_ExecContextRec): Add `grayscale' member. | ||
| 3273a991 | 2004-07-31 23:04:23 | * src/pcf/pcfread (pcf_load_font), src/bdf/bdfdrivr.c (BDF_Face_Init), src/truetype/ttgxvar (TT_Get_MM_Var, tt_face_vary_cvt): Fix compiler warnings. | ||
| 9f8309f1 | 2004-07-24 21:57:39 | * src/truetype/ttobjs.c (tt_face_init): Accept 0x00020000 format tag found in some Arphic fonts made for Chinese version of Windows 3.1. | ||
| 5ab41363 | 2004-07-18 07: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 | ||
| 5afaa672 | 2004-06-28 14:19:15 | * src/truetype/ttgload.c (load_truetype_glyph): Fix typo. | ||
| c28b8c1b | 2004-06-24 20:18:24 | * src/truetype/ttgload.c, src/truetype/ttxgvar.c: removing compiler warnings | ||
| 2f0fdb93 | 2004-06-21 21:16:56 | fixing a scaling bug in the TrueType glyph loader that generated ugly artefacts when the TrueType bytecode interpreter was compiled in | ||
| 56a4d87c | 2004-06-03 07:56:21 | * src/truetype/ttgload.c (compute_glyph_metrics): Fix compiler warnings. | ||
| ee6e92c2 | 2004-05-11 06:45:27 | * src/truetype/ttxgvar.c (ft_var_load_avar): Do free arrays in case of error -- `avar' is optional so we can't rely on tt_done_blend being called automatically. | ||
| 19b42a5c | 2004-05-10 20:54:27 | * src/truetype/ttxgvar.c (ft_var_load_avar, ft_var_load_gvar): Fix error handling. | ||
| 17f4b8b6 | 2004-05-07 08:59:29 | * src/truetype/ttgxvar.c (ft_var_load_gvar): Use FT_FACE_STREAM. (*): Rename local variable OffsetToData to offsetToData. | ||
| 2b54eba3 | 2004-05-07 07:08:14 | * src/cff/cffobjs.c (cff_size_done, cff_size_init, cff_size_reset, cff_slot_done, cff_slot_init, cff_face_init, cff_face_done): Access root fields directly. * src/cff/cffdrivr.c (Load_Glyph): Access root fields directly. * src/truetype/ttgload.c (TT_Process_Simple_Glyph): Save current frame before calling TT_Vary_Get_Glyph_Deltas. * src/pcf/pcfdrivr.c (PCF_CMapRec): Rename `cmap' to `root' for consistency. (pcf_cmap_init, pcf_cmap_done, pcf_cmap_char_index, pcf_cmap_char_next): Don't use PCF_XXX but FT_XXX arguments which are typecast to the proper PCF_XXX types within the function. Update code accordingly. (pcf_cmap_class): Remove casts. (PCF_Face_Done, PCF_Face_Init, PCF_Set_Pixel_Size): Don't use PCF_XXX but FT_XXX arguments which are typecast to the proper PCF_XXX types within the function. Update code accordingly. Use FT_CALLBACK_DEF throughout. (PCF_Set_Point_Size): New wrapper function. (PCF_Glyph_Load, pcf_driver_requester): Use FT_CALLBACK_DEF. (pcf_driver_class): Remove casts. | ||
| 3bcad439 | 2004-05-06 11:48:35 | * src/truetype/ttobjs.c (tt_driver_done): Fix typo. * src/bdf/bdfdrivr.c (BDF_Face_Done, BDF_Face_Init, BDF_Set_Pixel_Size): Don't use BDF_XXX but FT_XXX arguments which are typecast to the proper BDF_XXX types within the function. Update code accordingly. Use FT_CALLBACK_DEF throughout. (BDF_Set_Point_Size): New wrapper function. (bdf_driver_class): Remove casts. * src/cff/cffdrivr.c (Get_Kerning, Load_Glyph, cff_get_interface): Don't use CFF_XXX but FT_XXX arguments which are typecast to the proper CFF_XXX types within the function. Update code accordingly. Use FT_CALLBACK_DEF throughout. (cff_driver_class): Remove casts. * src/cff/cffobjs.h, src/cff/cffobjs.c (cff_size_done, cff_size_init, cff_size_reset, cff_slot_done, cff_slot_init, cff_face_init, cff_face_done, cff_driver_init, cff_driver_done): Don't use CFF_XXX but FT_XXX arguments which are typecast to the proper CFF_XXX types within the function. Update code accordingly. (cff_point_size_reset): New wrapper function. * src/cid/cidobjs.h, src/cid/cidobjs.c (cid_slot_done, cid_slot_init, cid_size_done, cid_size_init, cid_size_reset, cid_face_done, cid_face_init, cid_driver_init, cid_driver_done): Don't use CID_XXX but FT_XXX arguments which are typecast to the proper CID_XXX types within the function. Update code accordingly. (cid_point_size_reset): New wrapper function. * src/cid/cidgload.c, src/cid/cidgload.h (cid_slot_load_glyph): Don't use CID_XXX but FT_XXX arguments which are typecast to the proper CID_XXX types within the function. Update code accordingly. * src/cid/cidriver.c (cid_get_interface): Don't use CID_XXX but FT_XXX arguments which are typecast to the proper CID_XXX types within the function. Update code accordingly. Use FT_CALLBACK_DEF. (t1cid_driver_class): Remove casts. * src/truetype/ttdriver.c (tt_get_interface): Use FT_CALLBACK_DEF. * src/truetype/ttgxvar.c (ft_var_load_avar): Don't free non-local variables (this is done later). (ft_var_load_avar): Fix call to FT_FRAME_ENTER. (TT_Get_MM_Var): Fix size for `fvar_fields'. (TT_Vary_Get_Glyph_Deltas): Handle deallocation of local variables correctly. * src/base/ftdbgmem.c (ft_mem_debug_realloc): Don't abort if current size is zero. | ||
| 86ae11cf | 2004-05-04 16:53:45 | * src/truetype/ttobjs.h, src/truetype/ttobjs.c (tt_face_init, tt_face_done, tt_size_init, tt_size_done, tt_driver_init, tt_driver_done): Don't use TT_XXX but FT_XXX arguments which are typecast to the proper TT_XXX within the function. Update code accordingly. * src/truetype/ttdriver.c (Get_Kerning, Set_Char_Sizes, Set_Pixel_Sizes, Load_Glyph, tt_get_interface): Don't use TT_XXX but FT_XXX arguments which are typecast to the proper TT_XXX within the function. Update code accordingly. (tt_driver_class): Remove casts. | ||
| d1bc1ff8 | 2004-04-27 20: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. | ||
| 44438c2c | 2004-04-27 04:02:16 | Use FT_LOCAL instead of FT_LOCAL_DEF for function declarations. | ||
| cdb6e70a | 2004-04-26 08:09:30 | * src/truetype/ttgxvar.c (ft_var_apply_tuple): Fix typo. * src/truetype/Jamfile, docs/CHANGES: Updated. | ||
| 44bb3035 | 2004-04-25 20: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. | ||
| c3dc56b8 | 2004-04-19 06:13:50 | * src/truetype/ttgload.c, src/truetype/ttgload.h (TT_Load_Glyph), src/ttdriver.c (Load_Glyph): Change type of `glyph_index' to FT_UInt. From Lex Warners. * src/sfnt/ttload.c (tt_face_load_sfnt_header): Really fix change from 2004-03-19. * src/bdf/bdfdrivr.c (BDF_Face_Init): Use `ft_strlen'. * src/pcf/pcfutil.c, src/pcf/pcfutil.h: Decorate functions with `static.'. Remove unused function `RepadBitmap'. * src/pcf/pcfdrivr.c: Don't include pcfutil.h. | ||
| 8bb07e63 | 2004-03-27 08: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. | ||
| dfa46199 | 2004-03-05 09: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. | ||
| 6cda9c48 | 2004-01-22 09: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. | ||
| 4632fccb | 2004-01-15 19: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 | ||
| f946fc60 | 2003-12-31 08:48:21 | * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Revert previous change. It's not necessary. | ||
| 6fd9512a | 2003-12-31 07:51:30 | * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Handle `repeated flags set' correctly. * src/cff/cffobjs.c (cff_face_init): Fix memory leak by deallocating `full' and `weight' properly. * src/cff/cffgload.c (cff_decoder_parse_charstrings) <cff_op_hintmask> [FT_DEBUG_LEVEL_TRACE]: Use `0x' as prefix for tracing output. | ||
| 328abf30 | 2003-12-24 13:37:58 | * src/cff/cffgload.c (cff_lookup_glyph_by_stdcharcode): Handle CID-keyed fonts. Remove MS-DOS line endings. Minor formatting issues. | ||
| 87c0d30f | 2003-12-24 01: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 ! | ||
| d90b6738 | 2003-11-28 22:47:26 | Documentation fix. | ||
| 9f051a7f | 2003-11-25 18: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. | ||
| be67c4ef | 2003-11-24 22:54:58 | * src/truetype/ttinterp.c (CUR_Func_move_orig): New macro. (Direct_Move_Orig, Direct_Move_Orig_X, Direct_Move_Orig_Y): New functions. Similar to Direct_Move, Direct_Move_X, and Direct_Move_Y but without touching. (Compute_Funcs): Use new functions. (Round_None, Round_To_Grid, Round_To_Half_Grid, Round_Down_To_Grid, Round_Up_To_Grid, Round_To_Double_Grid, Round_Super, Round_Super_45): Fix rounding of value zero. (DO_DIV): Don't use TT_MULDIV. (Ins_SHC): This instruction actually touches the points. (Ins_MSIRP): Fix undocumented behaviour. * src/truetype/ttinterp.h (TT_ExecContextRec): Updated. * docs/VERSION.DLL: Updated. * src/base/ftobjs.c (FT_Set_Char_Size): Make metrics->x_scale and metrics->y_scale really precise. (FT_Load_Glyph): Update computation of linearHoriAdvance and linearVertAdvance. * src/true/type/ttinterp.c (Update_Max): Use FT_REALLOC. | ||
| 1c0b8e9d | 2003-10-23 04:54:14 | Only whitespace changes. | ||
| f4c0b921 | 2003-09-30 05:39:35 | * include/freetype/internal/t1types.h: Don't include FT_INTERNAL_OBJECTS_H but FT_INTERNAL_SERVICE_H. * src/truetype/ttobjs.c: Don't include FT_SERVICE_POSTSCRIPT_NAMES_H. | ||
| b72d8a85 | 2003-09-29 20:33:37 | * include/freetype/internal/services/svpsname.h (added), include/freetype/internal/psnames.h (removed), include/freetype/internal/internal.h (FT_SERVICE_POSTSCRIPT_NAMES): added new service to handle glyph name dictionaries, replacing the old internal header named "psnames.h" by "services/svpsname.h" note that this is different from "services/svpostnm.h" which only handles the retrieval of Postscript font name for a given face. (should we merge these two services into a single header ??) * include/freetype/internal/ftserv.h: adding FT_FACE_FIND_GLOBAL_SERVICE (used to lookup a service globally, instead of only within the current module) * include/freetype/internal/ftobjs.h, src/base/ftobjs.c: adding the new base function ft_module_get_service | ||
| 17dd0634 | 2003-09-21 16:04:05 | * include/freetype/internal/ftserv.h, include/freetype/internal/service/svpfr.h, include/freetype/internal/pfr.h, src/base/ftpfr.c: migrating the functions of "ftpfr.h" to the new service-base internal API * src/cff/cffobjs.c, src/cid/cidobjs.c, src/pfr/pfrsbit.c, src/psaux/psobjs.c, src/sfnt/sfdriver.c, src/sfnt/sfobjs.c, src/truetype/ttobjs.c, src/type1/t1driver.c, src/type1/t1objs.c, src/type42/t42objs.c, src/winfonts/winfnt.c: removing various compiler warnings |