📄 changelog
字号:
2004-06-23 Werner Lemberg <wl@gnu.org> * include/freetype/internal/ftmemory.h [FT_DEBUG_MEMORY]: Declare FT_QAlloc_Debug and FT_QRealloc_Debug. * src/base/ftutil.c (FT_QAlloc): Fix error and debug messages. (FT_QRealloc): Call FT_QAlloc if original pointer is NULL. Fix error message.2004-06-23 David Turner <david@freetype.org> * include/freetype/internal/ftmemory.h, src/base/ftutil.c (FT_QAlloc, FT_QRealloc), src/base/ftdbgmem.c (FT_QAlloc_Debug, FT_QRealloc_Debug): New functions that perform allocation without zero-ing out the corresponding blocks. * include/freetype/internal/ftmemory.h (FT_MEM_QALLOC, FT_MEM_QREALLOC, FT_MEM_QNEW, FT_MEM_QNEW_ARRAY, FT_MEM_QRENEW_ARRAY, FT_QALLOC, FT_QREALLOC, FT_QNEW, FT_QNEW_ARRAY, FT_QRENEW_ARRAY): New macros. * src/base/ftstream.c (FT_Stream_EnterFrame): Use FT_QALLOC. * src/gzip/ftgzip.c (FT_Stream_OpenGzip): Use FT_QNEW_ARRAY. * src/sfnt/sfobjs.c (tt_face_get_name): Use FT_QNEW_ARRAY. * src/sfnt/ttload.c (tt_face_load_directory, tt_face_load_metrics, tt_face_load_gasp): Use FT_QNEW_ARRAY. (tt_face_load_kern): Use FT_QNEW_ARRAY. Small optimization in the kerning table verifier; this speeds up TrueType face opening by about 7%. (tt_face_load_hdmx): Use FT_QNEW_ARRAY and FT_QALLOC. * include/freetype/config/ftmodule.h: Changed the order of modules, putting TrueType and Type 1 first. This dramatically improves the performance of face open/close operations. For example, putting the TrueType driver first in the list results in a 5x speedup when opening `Vera.ttf'. The very problem is that both the PCF and BDF drivers do a lot more than necessary to detect that they cannot handle a font file.2004-06-22 Werner Lemberg <wl@gnu.org> * src/pcf/pcfread.c (pcf_read_TOC, pcf_get_properties, pcf_get_metrics, pcf_get_bitmaps, pcf_get_encodings): Improve debugging messages. * src/pcf/pcfdrivr.c (FT_COMPOMENT): Move up. (PCF_Face_Init): Simplify code. * src/bdf/bdfdrivr.h (BDF_FaceRec): New element `default_glyph'. * src/bdf/bdflib.c (_bdf_add_property, _bdf_parse_start), src/bdf/bdf.h (bdf_font_t): s/default_glyph/default_char/. * src/bdf/bdfdrivr.c (BDF_Face_Init): Fix number of glyphs. Set `default_glyph'. (BDF_Glyph_Load): Use `default_glyph' for undefined glyph. * docs/CHANGES: Updated.2004-06-21 Werner Lemberg <wl@gnu.org> * docs/CHANGES: Updated.2004-06-21 David Turner <david@freetype.org> * src/truetype/ttgload.c (TT_Process_Simple_Glyph, load_truetype_glyph): Don't access (unrounded) `TT_Size.root.metrics' but (rounded) `TT_Size.metrics'. This fixes a scaling bug that caused incorrect rendering when the bytecode interpreter was enabled.2004-06-14 Huw D M Davies <h.davies1@physics.ox.ac.uk> * src/winfonts/winfnt.c (FNT_Face_Init): Set x_ppem and y_ppem based on pixel_width and pixel_height. (FNT_Size_Set_Pixels): Updated.2004-06-14 Werner Lemberg <wl@gnu.org> * src/lzw/zopen.c: Comment out inclusion of signal.h and unistd.h. Reported by Hyv鋜inen Jyrki Juhani.2004-06-11 Werner Lemberg <wl@gnu.org> * docs/CHANGES: Updated.2004-06-10 David Turner <david@freetype.org> * src/base/ftobject.c, src/base/fthash.c, src/base/ftexcept.c, src/base/ftsysio.c, src/base/ftsysmem.c, src/base/ftlist.c: Removed. Obsolete. * src/raster/ftraster.c (Alignment, PAlignment): New union to fix problems with 64bit systems. (AlignProfileSize): Use it.2004-06-08 David Turner <david@freetype.org> * include/freetype/freetype.h (FT_GlyphMetrics): Move `lsb_delta' and `rsb_delta' elements to... (FT_GlyphSlotRec): Here to retain binary compatibility with older FreeType versions. Update all users. * src/sfnt/sfobjs.c (tt_face_get_name): Remove compiler warning. * src/winfonts/winfnt.c (FNT_Load_Glyph): Add missing initialization of slot->metrics.width and slot->metrics.height when loading a Windows FNT glyph. Thanks to Huw Davies. * include/freetype/cache/ftcmru.h (FTC_MruNode_CompareFunc): Change return type to FT_Bool. * src/cache/ftbasic.c (ftc_basic_family_compare): Change return type to FT_Bool. * src/cache/ftccache.c (FTC_Cache_Init, ftc_cache_init): Make the former call the latter, not vice versa. (FTC_Cache_Done, ftc_cache_done): Ditto. * src/cache/ftcglyph.c (FTC_GNode_Compare, ftc_gnode_compare): Make the former call the latter, not vice versa. (FTC_GCache_Init, ftc_gcache_init): Ditto. (FTC_GCache_Done, ftc_gcache_done): Ditto. * src/cache/ftcimage.c (FTC_INode_Free, ftc_inode_free): Make the former call the latter, not vice versa. (FTC_INode_Weight, ftc_inode_weight): Ditto. * src/cache/ftcmanag.c (ftc_size_node_compare, ftc_size_node_compare_faceid, ftc_face_node_compare): Change return type to FT_Bool. * src/cache/ftcsbits.c (FTC_SNode_Free, ftc_snode_free): Make the former call the latter, not vice versa. (FTC_SNode_Weight, ftc_snode_weight): Ditto. (FTC_SNode_Compare, ftc_snode_compare): Ditto. * src/cache/ftcsbits.c: Fix some bugs and inefficiencies in the cache sub-system.2004-06-05 Werner Lemberg <wl@gnu.org> * src/autofit/afloader.c (af_loader_load_g): Set `lsb_delta' and `rsb_delta' in slot->metrics and tune side bearings slightly.2004-06-04 Werner Lemberg <wl@gnu.org> * docs/CHANGES: Updated.2004-06-04 David Chester <davidchester@gmx.net> Improve inter-letter spacing for autohinted glyphs. * include/freetype/freetype.h (FT_Glyph_Metrics): Add elements `lsb_delta' and `rsb_delta'. * src/autohint/ahhint.c (ah_hinter_load): Set `lsb_delta' and `rsb_delta' in slot->metrics and tune side bearings slightly.2004-06-04 David Turner <david@freetype.org> * src/autofit/*: Important fixes to the auto-fitter. The output now seems to be 100% equivalent to the auto-hinter, while being about 2% faster (which proves that script-specific algorithm selection isn't a performance problem). To test it, change `autohint' to `autofit' in <freetype/config/ftmodule.h> and recompile. A few more testing is needed before making this the official auto-hinting module.2004-06-02 Werner Lemberg <wl@gnu.org> * src/truetype/ttgload.c (compute_glyph_metrics): Fix compiler warnings.2004-06-01 Werner Lemberg <wl@gnu.org> * src/sfnt/sfobjs.c (tt_face_get_name): Make sure that an English name record for the Apple platform is preferred to a non-English entry for the Microsoft platform. Problem reported by HANDA Ken'ichi.2004-05-19 George Williams <gww@silcom.com> * src/type1/t1load.c (mm_axis_unmap, mm_weights_unmap): New auxiliary functions. (T1_Get_MM_Var): Provide axis tags. Use mm_axis_unmap and mm_weights_unmap to provide default values for design and normalized axis coordinates. * include/freetype/t1tables.h (PS_DesignMapRec): Change type of `design_points' to FT_Long. Update all users.2004-05-17 Werner Lemberg <wl@gnu.org> * src/base/ftbbox.c (BBox_Conic_Check): Fix boundary cases. Reported by Mikey Anbary <manbary@vizrt.com>.2004-05-15 Werner Lemberg <wl@gnu.org> * src/sfnt/sfobjs.c (sfnt_done_face): Free face->postscript_name.2004-05-15 George Williams <gww@silcom.com> * src/sfnt/ttload.c (tt_face_load_max_profile): Always set face->root.num_glyphs.2004-05-14 Masatake YAMATO <jet@gyve.org> George Williams <gww@silcom.com> * src/sfnt/ttload.c (sfnt_dir_check): Handle `bhed' properly.2004-05-14 Werner Lemberg <wl@gnu.org> * src/cache/ftcbasic.c (ftc_basic_family_compare, ftc_basic_family_init, ftc_basic_family_get_count, ftc_basic_family_load_bitmap, ftc_basic_family_load_glyph, ftc_basic_gnode_compare_faceid): Adjust parameters and return types to prototypes given in header files from include/freetype/cache. Use casts to proper types locally. (ftc_basic_image_family_class, ftc_basic_image_cache_class, ftc_basic_sbit_family_class, ftc_basic_sbit_cache_class): Remove casts. * src/cache/ftccback.h: Adjust parameters and return types to prototypes given in header files from include/freetype/cache. * src/cache/ftcimage.c (ftc_inode_free, ftc_inode_new, ftc_inode_weight): Adjust parameters and return types to prototypes given in header files from include/freetype/cache. Use casts to proper types locally. * src/cache/ftcsbits.c (ftc_snode_free, ftc_snode_new, ftc_snode_weight, ftc_snode_compare): Adjust parameters and return types to prototypes given in header files from include/freetype/cache. Use casts to proper types locally. * src/cache/ftccmap.c (ftc_cmap_node_free, ftc_cmap_node_new, ftc_cmap_node_weight, ftc_cmap_node_compare, ftc_cmap_node_remove_faceid): Adjust parameters and return types to prototypes given in header files from include/freetype/cache. Use casts to proper types locally. (ftc_cmap_cache_class): Remove casts. * src/cache/ftcglyph.c (ftc_gnode_compare, ftc_gcache_init, ftc_gcache_done): Adjust parameters and return types to prototypes given in header files from include/freetype/cache. Use casts to proper types locally. * src/cache/ftcmanag.c (ftc_size_node_done, ftc_size_node_compare, ftc_size_node_init, ftc_size_node_reset, ftc_size_node_compare_faceid, ftc_face_node_init, ftc_face_node_done, ftc_face_node_compare: Adjust parameters and return types to prototypes given in header files from include/freetype/cache. Use casts to proper types locally. (ftc_size_list_class, ftc_face_list_class): Remove casts.2004-05-13 Werner Lemberg <wl@gnu.org> * src/autohint/ahmodule.c (ft_autohinter_init, ft_autohinter_done): Use FT_Module as parameter and do a cast to FT_AutoHinter locally. (autohint_module_class): Remove casts. * src/base/ftglyph.c (ft_bitmap_glyph_init, ft_bitmap_glyph_copy, ft_bitmap_glyph_done, ft_bitmap_glyph_bbox, ft_outline_glyph_init, ft_outline_glyph_done, ft_outline_glyph_copy, ft_outline_glyph_transform, ft_outline_glyph_bbox, ft_outline_glyph_prepare): Use FT_Glyph as parameter and do a cast to FT_XXXGlyph locally. Use FT_CALLBACK_DEF throughout. (ft_bitmap_glyph_class, ft_outline_glyph_class): Remove casts. * src/bdf/bdfdrivr.c (bdf_cmap_init, bdf_cmap_done, bdf_cmap_char_index, bdf_cmap_char_next): Use FT_CMap as parameter and do a cast to BDF_CMap locally. (bdf_cmap_class): Remove casts.2004-05-12 Werner Lemberg <wl@gnu.org> * src/cff/cffgload.h (CFF_Builder): Remove `error'. * src/cff/cffgload.c (cff_decoder_parse_charstrings): Replace `Memory_Error' with `Fail' und update all users.2004-05-11 Werner Lemberg <wl@gnu.org> * include/freetype/internal/psaux.h (T1_ParseState): New enumeration. (T1_BuilderRec): Replace `path_begun' with `parse_state'. Remove `error'. * src/psaux/t1decode.c (t1_decoder_parse_charstrings): Replace `Memory_Error' with `Fail' and update all users. Don't use `builder->error'. Replace `path_begun' with `parse_state' and check parsing states. * src/psaux/psobjs.c (t1_builder_init, t1_builder_start_point): Replace `path_begun' with `parse_state' and check parsing states.2004-05-10 George Williams <gww@silcom.com> * 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.2004-05-09 George Williams <gww@silcom.com> * src/truetype/ttxgvar.c (ft_var_load_avar, ft_var_load_gvar): Fix error handling.2004-05-07 Werner Lemberg <wl@gnu.org> * src/pfr/pfrobjs.c, src/pfr/pfrobjs.h (pfr_face_init, pfr_face_done, pfr_face_get_kerning, pfr_slot_init, pfr_slot_done, pfr_slot_load): Don't use PFR_XXX but FT_XXX arguments which are typecast to the proper PFR_XXX types within the function. Update code accordingly. * src/pfr/pfrdrivr.c (pfr_get_kerning, pfr_get_advance, pfr_get_metrics, pfr_get_service): Don't use PFR_XXX but FT_XXX arguments which are typecast to the proper PFR_XXX types within the function. Update code accordingly. Use FT_CALLBACK_DEF throughout. (pfr_metrics_service_rec, pfr_driver_class): Remove casts.2004-05-06 Masatake YAMATO <jet@gyve.org> * src/truetype/ttgxvar.c (ft_var_load_gvar): Use FT_FACE_STREAM. (*): Rename local variable OffsetToData to offsetToData.2004-05-06 Werner Lemberg <wl@gnu.org> * 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.2004-05-04 Steve Hartwell <shspamsink@comcast.net> * src/truetype/ttobjs.c (tt_driver_done): Fix typo.2004-05-04 Werner Lemberg <wl@gnu.org> * 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
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -