📄 changelog.22
字号:
(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.2006-01-31 Chia-I Wu <b90201047@ntu.edu.tw> * src/cff/cffobjs.c (cff_face_init), src/cid/cidobjs.c (cid_face_init), src/pfr/pfrobjs.c (pfr_face_init), src/type1/t1objs.c (T1_Face_Init): Set face->height to MAX(1.2 * units_per_EM, ascender - descender).2006-01-31 Chia-I Wu <b90201047@ntu.edu.tw> * include/freetype/internal/t1types.h (AFM_FontInfo), src/psaux/afmparse.c, src/tools/test_afm.c: Read `FontBBox', `Ascender', and `Descender' from an AFM. * src/type1/t1afm.c (T1_Read_Metrics): Use the metrics from the AFM. * include/freetype/freetype.h (FT_FaceRec): Mention that fields may be changed after file attachment.2006-01-28 Werner Lemberg <wl@gnu.org> * src/*/module.mk (.PHONY): Add.2006-01-27 Werner Lemberg <wl@gnu.org> * README, docs/FTL.TXT: Fix email address for bug reports. Other minor formatting. * devel/ftoption.h: Synchronize with include/freetype/config/ftoption.h. * src/autofit/module.mk (add_autofit_module), src/bdf/module.mk (add_bdf_module), src/type42/module.mk (add_type42_driver): Fix whitespace. * src/smooth/module.mk (add_smooth_renderer): Add lcd and lcdv renderer classes.2006-01-27 David Turner <david@freetype.org> * builds/unix/configure.ac: Fix build problem on Cygwin. * builds/unix/install.mk (install): Don't install the internal headers, and remove existing ones if found in the target install directory. * src/autofit/afwarp.c: Add simple #ifdef to prevent compilation if the warp hinter isn't active (it shouldn't, still experimental). * Jamfile, include/freetype/config/ftmodule.h: Remove `gxvalid' and `otvalid' from the list of modules that are linked statically to a given FreeType library. Functionality has been moved to the `ftvalid' CVS module. Note also that current Make-based build system still compiles the modules though. * include/freetype/config/ftoption.h (FT_STRICT_ALIASING): New macro which controls the definitions of the memory management functions to avoid warnings with recent versions of GCC. This macro is only here to be disabled, in case we detect problems with the new scheme. NOTE: Disable macro to use the memory debugger -- this will be fixed later! * include/freetype/internal/ftmemory.h, src/base/ftutil.c (FT_Alloc, FT_QAlloc, FT_Realloc, FT_QRealloc, FT_Free) [FT_STRICT_ALIASING]: New versions. * builds/win32/visualc/freetype.dsp: Updating project file to define FT2_BUILD_LIBRARY, and remove gxvalid + otvalid modules from compilation. * builds/freetype.mk (FT_CFLAGS), Jamfile (DEFINES): Define the macro FT2_BUILD_LIBRARY when compiling the library. * include/freetype/config/ftheader.h: Remove inclusions of internal headers except if the macro FT2_BUILD_LIBRARY is defined. * include/freetype/internal/psaux.h (AFM_KernPair, AFM_TrackKern, AFM_FontInfo): Move structure declarations to... * include/freetype/internal/t1types.h: This file. * (many files): Fix compiler warnings. Various minor reorganizations. * src/cff/cffload.c (cff_font_done): Don't free static array `subfonts'. * src/otvalid/otvcommn.c (otv_ClassDef_validate), src/otvalid/otvgpos.c (otv_x_sxy): Fix debugging information. Get rid of writable static variables (i.e., the string table) in afmparse, and fix compilation in FT2_MULTI mode. * src/psaux/afmparse.c: Include ft2build.h and FT_FREETYPE_H. (AFM_MAX_ARGUMENTS): Define... * src/psaux/afmparse.h: Here. * src/psaux/Jamfile (_sources): Add afmparse. * src/psaux/psconv.c: Include psconv.h. * src/type1/t1afm.c: Don't include FT_INTERNAL_TYPE1_TYPES_H but FT_INTERNAL_POSTSCRIPT_AUX_H. * src/type1/t1afm.h: Include FT_INTERNAL_TYPE1_TYPES_H.2006-01-23 Chia-I Wu <b90201047@ntu.edu.tw> * 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.2006-01-23 Chia-I Wu <b90201047@ntu.edu.tw> * src/psaux/psaux.c src/psaux/psauxmod.c src/type1/t1driver.c: Make AFM parser optional, controlled by `T1_CONFIG_OPTION_NO_AFM'.2006-01-22 Werner Lemberg <wl@gnu.org> * builds/unix/install-sh, builds/unix/mkinstalldirs: Updated from `texinfo' CVS module at savannah.gnu.org.2006-01-21 Werner Lemberg <wl@gnu.org> * src/autofit/rules.mk (AUTOF_DRV_SRC): Add afwarp.c. * src/autofit/afloader.c (af_loader_load_g): Move AF_USE_WARPER up to avoid compiler warnings. * src/autofit/afwarp.c (af_warper_compute_line_best): Remove shadowing variable declarations. Fix warning parameters and replace printf with AF_LOG. (af_warper_compute): Remove unused variable.2006-01-20 David Turner <david@freetype.org> Adding experimental implementation of `warp hinting' (new hinting algorithm for gray-level and LCD rendering). It is disabled by default, you need to #define AF_USE_WARPER in aftypes.h. * src/autofit/afhints.c (af_glyph_hints_scale_dim) [AF_USE_WARPER]: New function. * src/autofit/afhints.h: Updated. * src/autofit/aflatin.c [AF_USE_WARPER]: Include afwarp.h. (af_latin_hints_init) [AF_USE_WARPER]: Reset mode to FT_RENDER_MODE_NORMAL if an LCD mode is selected. (af_latin_hints_apply) [AF_USE_WARPER]: Call af_warper_compute appropriately. * src/autofit/afloader.c (af_loader_load_g) [!AF_USER_WARPER]: Isolate code for adjusting metrics. * src/autofit/aftypes.h (AF_USE_WARPER): New macro (commented out by default). * src/autofit/afwarp.c, src/autofit/afwarp.h: New files. * src/autofit/autofit.c [AF_USE_WARPER]: Include afwarp.c. * src/autofit/Jamfile (_sources): Add afwarp.2006-01-19 David Turner <david@freetype.org> * src/sfnt/ttsbit0.c (tt_face_load_strike_metrics): Fix small bug that prevented compilation when FT_OPTIMIZE_MEMORY is defined.2006-01-19 Brian Weed <bw@imaginengine.com> * builds/win32/visualc/freetype.dsp: Updated.2006-01-17 Werner Lemberg <wl@gnu.org> Use pscmap service in CFF module. * src/cff/cffcmap.c (cff_cmap_uni_pair_compare): Removed. (cff_sid_to_glyph_name): New function. (cff_cmap_unicode_init, cff_cmap_unicode_done, cff_cmap_unicode_char_index, cff_cmap_unicode_char next): Use pscmap service. (cff_cmap_unicode_class_rec): Updated. * src/cff/cffcmap.h (CFF_CMapUnicode, CFF_CMap_UniPair): Removed. * src/psnames/psmodule.c (ps_unicodes_char_next): Fix `unicode' return value. * src/psaux/afmparse.c (afm_parser_read_vals): Use double casting to avoid compiler warnings regarding type-punning.2006-01-16 Chia-I Wu <b90201047@ntu.edu.tw> * src/psaux/afmparse.c, src/psaux/afmparse.h: New files which implement an AFM parser. * src/psaux/psconv.c, src/psaux/psconv.h: New files to provide conversion functions (e.g., PS real number => FT_Fixed) for the PS_Parser and AFM_Parser. Some of the functions are taken, with some modifications, from the file psobjs.c. * src/psaux/psobjs.c: Use functions from psconv.c. * include/freetype/internal/psaux.h, src/psaux/psauxmod.c: Add `AFM_Parser' to the `psaux' service. * src/psaux/psaux.c, src/psaux/rules.mk (PSAUX_DRV_SRC): Include those new files. * src/tools/test_afm.c: A test program for AFM parser. * include/freetype/internal/services/svkern.h: New file providing a `Kerning' service. It is currently only used to get the track kerning information. * include/freetype/internal/ftserv.h (FT_SERVICE_KERNING_H): New macro. * src/type1/t1driver.c, src/type1/t1objs.c, src/type1/t1afm.c, src/type1/t1afm.h: Update to use the AFM parser. Provide the `Kerning' service. * include/freetype/freetype.h, src/base/ftobjs.c: New API `FT_Get_Track_Kerning'.2006-01-15 Chia-I Wu <b90201047@ntu.edu.tw> * include/freetype/internal/ftobjs.h, src/base/ftobjs.c, src/bdf/bdfdrivr.c, src/cff/cffgload.c, src/cid/cidgload.c, src/pcf/pcfdrivr.c, src/type1/t1gload.c, src/winfonts/winfnt.c: s/ft_fake_vertical_metrics/ft_synthesize_vertical_metrics/.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -