📄 changelog.22
字号:
interpreter. The FT_Get_Module_Flags API was removed consequently. * include/freetype/ftmodapi.h (FT_Module_Get_Flags): Removed. Replaced with... (FT_Get_TrueType_Engine_Type): This. (FT_TrueTypeEngineType): New enumeration. * include/freetype/internal/ftserv.h (FT_SERVICE_TRUETYPE_ENGINE_H): New macro. * src/base/ftobjs.c: Include FT_SERVICE_TRUETYPE_ENGINE_H. (FT_Module_Get_Flags): Removed. Replaced with... (FT_Get_TrueType_Engine_Type): This. * src/truetype/ttdriver.c: Include FT_SERVICE_TRUETYPE_ENGINE_H. (tt_service_truetype_engine): New service structure. (tt_services): Register it. * include/freetype/internal/services/svtteng.h: New file. * src/sfnt/sfobjs.c (sfnt_load_face): Fix silly bug that prevented embedded bitmaps from being correctly listed and used. * src/sfnt/ttmtx.c (tt_face_load_hmtx): Disable memory optimization if FT_CONFIG_OPTION_OLD_INTERNALS is used. The is necessary because libXfont is directly accessing the HMTX data, unfortunately. Fix some compiler warnings. (tt_face_get_metrics): Ditto. * src/pfr/pfrsbit.c (pfr_slot_load_bitmap): Fix handling of character advances.2006-02-20 David Turner <david@freetype.org> Support binary compatibility with the X.Org server's Xfont library. Note that this change unfortunately prevents memory optimizations for the embedded bitmap loader. * include/freetype/internal/sfnt.h (SFNT_Interface): Move `set_sbit_strike' and `load_sbit_metrics' fields to the location of version 2.1.8. * src/sfnt/sfdriver.c (tt_face_set_sbit_strike_stub): Call FT_Size_Request. (sfnt_interface): Updated. * src/sfnt/ttsbit.c [FT_CONFIG_OPTION_OLD_INTERNALS]: Don't load ttsbit0.c. (tt_load_sbit_metrics): Make `sbit_small_metrics_fields' static. * src/sfnt/ttsbit.h: Updated.2006-02-17 David Turner <david@freetype.org> * builds/unix/unix-cc.in (LINK_LIBRARY): Don't filter out exported functions anymore. This ensures that all FT_BASE internal functions are available for dynamic linking. * include/freetype/ftcache.h (FTC_IMAGE_TYPE_COMPARE, FTC_IMAGE_TYPE_HASH), src/cache/ftcbasic.c (FTC_OldFontRec, FTC_OldImageDescRec, FTC_ImageCache_Lookup, FTC_Image_Cache_New, FTC_OldImage_Desc, FTC_OLD_IMAGE_FORMAT, ftc_old_image_xxx, ftc_image_type_from_old_desc, FTC_Image_Cache_Lookup, FTC_SBitCache_Lookup, FTC_SBit_Cache_New, FTC_SBit_Cache_Lookup) [FT_CONFIG_OPTION_OLD_INTERNALS]: Try to revive old functions of the cache sub-system. We try to recognize old legacy signatures with a gross hack (hope it works).2006-02-17 Werner Lemberg <wl@gnu.org> * devel/ftoption.h: Synchronize with include/freetype/config/ftoption.h.2006-02-16 David Turner <david@freetype.org> 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. * include/freetype/config/ftoption.h (FT_CONFIG_OPTION_OLD_INTERNALS): New macro. * include/freetype/ftcache.h, include/freetype/cache/ftccache.h, include/freetype/cache/ftccmap.h, include/freetype/internal/ftcalc.h, include/freetype/internal/ftdriver.h, include/freetype/internal/ftmemory.h, include/freetype/internal/ftobjs.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/ftutil.c, src/bdf/bdfdrivr.c, src/cache/ftccache.c, src/cache/ftccback.h, 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: Use FT_CONFIG_OPTION_OLD_INTERNALS to revive old functions and data structures. Move newly added structure elements to the end of the affected structure and add stub fields (if FT_CONFIG_OPTION_OLD_INTERNALS is defined) to assure binary compatibility with older FreeType versions. Use FT_CONFIG_OPTION_OLD_INTERNALS to add function stubs for old functions: ft_stub_set_char_sizes ft_stub_set_pixel_sizes Rename the following internal functions to provide the old function names as stubs: FT_Alloc -> ft_mem_alloc FT_QAlloc -> ft_mem_qalloc FT_Realloc -> ft_mem_realloc FT_QRealloc -> ft_mem_qrealloc FT_Free -> ft_mem_free FT_Alloc_Debug -> ft_mem_alloc_debug FT_QAlloc_Debug -> ft_mem_qalloc_debug FT_Realloc_Debug -> ft_mem_realloc_debug FT_QRealloc_Debug -> ft_mem_qrealloc_debug FT_Free_Debug -> ft_mem_free_debug2006-02-15 Chia-I Wu <b90201047@ntu.edu.tw> * 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. Also improve tracing messages. * 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'. * 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_): Emit 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.2006-02-14 Werner Lemberg <wl@gnu.org> * 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.2006-02-14 Chia-I Wu <b90201047@ntu.edu.tw> * src/sfnt/ttmtx.c (tt_face_get_metrics): Typo.2006-02-14 Chia-I Wu <b90201047@ntu.edu.tw> * 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.2006-02-13 Chia-I Wu <b90201047@ntu.edu.tw> Clean up the SFNT_Interface. In this final pass, `load_hmtx' is split from `load_hhea'. * include/freetype/internal/sfnt.h, src/sfnt/sfdriver.c, src/sfnt/ttmtx.c, src/sfnt/ttmtx.h: Split `hmtx' from `hhea'. * src/sfnt/sfobjs.c (sfnt_load_face): Update.2006-02-13 Chia-I Wu <b90201047@ntu.edu.tw> * src/sfnt/ttmtx.h, src/sfnt/ttmtx.c: Why are there two copies of code...2006-02-13 Chia-I Wu <b90201047@ntu.edu.tw> Clean up the SFNT_Interface. In this pass, we want to treat the font directory (offset table and table directory) as a normal table like the others. This also means that TTCs are no longer recognized there but in `init_face'. * include/freetype/internal/sfnt.h (SFNT_Interface), src/sfnt/sfdriver.c: `load_sfnt_header' and `load_directory' are combined and renamed to `load_font_dir'. * src/sfnt/ttload.h, src/sfnt/ttload.c: s/sfnt_dir_check/check_table_dir/. `sfnt_init' is moved to sfobjs.c and renamed to `sfnt_open_font'. `tt_face_load_sfnt_header' and `tt_face_load_directory' are combined and renamed to `tt_face_load_font_dir'. * src/sfnt/sfobjs.c (sfnt_init_face): Recognize TTC here.2006-02-13 Chia-I Wu <b90201047@ntu.edu.tw> 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: New files. Metrics-related tables' loading and parsing code is moved to 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' split 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.2006-02-11 Chia-I Wu <b90201047@ntu.edu.tw> * src/autofit/afcjk.c (af_cjk_metrics_init): Fix a stupid bug... * src/autofit/aflatin.c (af_latin_metrics_init_widths): Use AF_LatinMetricsRec as the dummy metrics because we cast the metrics to it later in `af_latin_hints_link_segments'.2006-02-11 Chia-I Wu <b90201047@ntu.edu.tw> * include/freetype/config/ftoption.h (AF_CONFIG_OPTION_CJK): #define to enable autofit CJK script support. (#define'd by default.) * src/autofit/aflatin.h (AF_LATIN_CONSTANT): New macro. * src/autofit/aflatin.c (af_latin_metrics_init_widths): Make sure that `edge_distance_threshold' is always set. (af_latin_hints_link_segments): Potential divide-by-zero bug. Use latin constant in the scoring formula. * src/autofit/afcjk.c: Minor updates due to the above three changes. * docs/TODO, docs/CHANGES: Updated.2006-02-09 Chia-I Wu <b90201047@ntu.edu.tw> Introduce experimental autofit CJK module based on akito's autohint patch. You need to #define AF_MOD_CJK in afcjk.c to enable it. * src/autofit/afglobal.c, src/autofit/afcjk.h, src/autofit/afcjk.c, src/autofit/rules.mk, src/autofit/autofit.c, src/autofit/aftypes.h: Add CJK module based on akito's autohint patch. * src/autofit/afhints.h (AF_SegmentRec): New field `len' for the overlap length of the segments. (AF_SEGMENT_LEN, AF_SEGMENT_DIST): New macros. * src/autofit/aflatin.h (af_latin_metrics_init_widths), src/autofit/aflatin.c (af_latin_metrics_init_widths): Made `FT_LOCAL'. Use the character given by the caller. (af_latin_metrics_init_widths, af_latin_hints_link_segments): Scale the thresholds. * src/autofit/afloader.c (af_loader_load_g): Respect AF_SCALER_FLAG_NO_ADVANCE.2006-02-09 Werner Lemberg <wl@gnu.org> * src/cid/cidparse.c (cid_parse_new): Remove shadowing variable.2006-02-09 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> * src/cid/cidparse.c (cid_parse_new): Fix for abnormally short or broken CIDFont. Reported by Taek Kwan(TK) Lee (see ft-devel 2005-11-02).2006-02-08 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> * builds/unix/configure.ac: Fix bug for `--with-old-mac-fonts' option on UNIX platform. It has been broken since 2006-01-11.2006-02-01 Werner Lemberg <wl@gnu.org> * src/otvalid/module.mk: s/otvalid_module_class/otv_module_class/. * src/gxvalid/module.mk: s/gxvalid_module_class/gxv_module_class/. * builds/unix/unixddef.mk: Actually do define PLATFORM (fixing change from 2006-01-31). (TOP_DIR, OBJ_DIR): Update. * builds/unix/install.mk (install): Fix path for ftmodule.h. * Makefile, *.mk, builds/unix/unix-cc.in, builds/unix-def.in: Use `?=' where appropriate. * builds/detect.mk (TOP_DIR), builds/os2/os2-dev.mk (TOP_DIR), builds/win32/w32-dev.mk (TOP_DIR): Removed. Defined elsewhere.2006-01-31 Werner Lemberg <wl@gnu.org> 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.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -