📄 changelog
字号:
* src/base/rules.mk (BASE_SRC): Remove `ftlcdfil.c'.2006-09-30 David Turner <david@freetype.org> * include/freetype/internal/ftobjs.h (FT_Face_InternalRec): s/unpatented_hinting/ignore_unpatented_hinter/. Update all callers. * src/base/ftobjs.c (FT_Load_Glyph): Refine the algorithm whether auto-hinting shall be used or not. * src/truetype/ttobjs.c (tt_face_init): Ditto.2006-09-30 Werner Lemberg <wl@gnu.org> * src/base/rules.mk (BASE_SRC): Remove `ftapi.c' (which is no longer in use). * src/base/ftbase.c: Include `ftlcdfil.c'.2006-09-29 Werner Lemberg <wl@gnu.org> * src/sfnt/ttcmap.c (tt_cmap4_char_map_binary): Fix algorithm for overlapping segments. Bug reported by Stefan Koch.2006-09-28 David Turner <david@freetype.org> Fix a bug in the automatic unpatented hinting support which prevents normal bytecode hinting to work properly. * include/freetype/internal/ftobjs.h (FT_Face_InternalRec): s/force_autohint/unpatented_hinting/. Update all callers. * src/base/ftobjs.c (FT_Load_Glyph): Updated code. * src/autofit/aftypes.h (AF_DEBUG): Undefine to get rid of traces.2006-09-27 David Turner <david@freetype.org> * include/freetype/freetype.h (FT_FREETYPE_PATCH): Set to 2. Add a new API to support color filtering of subpixel glyph bitmaps. In a default build, the function `FT_Library_SetLcdFilter' returns `FT_Err_Unimplemented_Feature'; you need to #define FT_CONFIG_OPTION_SUBPIXEL_RENDERING in ftoption.h to compile the real implementation. * include/freetype/ftlcdfil.h, src/base/ftlcdfil.c: New files. * include/freetype/internal/ftobjs.h (FT_Bitmap_LcdFilterFunc): New typedef. (FT_LibraryRec) [FT_CONFIG_OPTION_SUBPIXEL_RENDERING]: New members `lcd_filter_weights' and `lcd_filter'. * src/smooth/ftsmooth.c (ft_smooth_render_generic): Remove arguments `hmul' and `vmul'. Handle subpixel rendering. Simplify function. (ft_smooth_render_lcd): Use `FT_RENDER_MODE_LCD'. (ft_smooth_render_lcd_v): Use `FT_RENDER_MODE_LCD_V'. * include/freetype/config/ftheader.h (FT_LCD_FILTER_H): New macro, pointing to <freetype/ftlcdfil.h>. * src/base/Jamfile (_sources), src/base/rules.mk (BASE_SRC), vms_make.com: Add `ftlcdfil.c' to the list of compiled source files. * modules.cfg (BASE_EXTENSIONS): Add ftlcdfil.c.2006-09-26 David Bustin * src/pfr/pfrobjs.c (pfr_face_get_kerning): Skip adjustment bytes correctly. Reported as Savannah bug #17843.2006-09-26 David Turner <david@freetype.org> * src/autofit/afhints.h (AF_HINTS_DO_HORIZONTAL, AF_HINTS_DO_VERTICAL, AF_HINTS_DO_ADVANCE): New macros to disable horizontal and vertical hinting for the purpose of debugging the auto-fitter. * src/autofit/afmodule.c (_af_debug_disable_horz_hints, _af_debug_disable_vert_hints) [AF_DEBUG]: New global variables. * src/autofit/aftypes.h [AF_DEBUG]: Declare above variables. * include/freetype/config/ftoption.h, devel/ftoption.h (FT_CONFIG_OPTION_SUBPIXEL_RENDERING): New macro to control whether we want to compile LCD-optimized rendering code (à la ClearType) or not. The macro *must* be disabled in default builds of the library for patent reasons. * src/smooth/ftsmooth.c (ft_smooth_render_generic): Disable LCD-specific rendering when FT_CONFIG_OPTION_SUBPIXEL_RENDERING isn't defined at compile time. This only changes the content of the rendered glyph to match the one of normal gray-level rendering, hence clients should not need to be modified. * docs/CHANGES: Updated.2006-09-18 Garrick Meeker <garrick@digitalanarchy.com> * src/base/ftmac.c (FT_New_Face_From_FOND): Fall back to SFNT if LWFN fails and both are available.2006-09-11 David Turner <david@freetype.org> * src/sfnt/sfobjs.c (tt_face_get_name): Support some fonts which report their English names through an Apple Roman (platform,encoding) pair, with language_id != English. If the font uses another name entry with language_id == English, it will be selected correctly, though. * src/truetype/ttobjs.c (tt_face_init): Add unpatented hinting selection for `mingli.ttf'.2006-09-05 Werner Lemberg <wl@gnu.org> * src/truetype/ttpload.c (tt_face_load_hdmx): Handle `record_size' values which have the upper two bytes set to 0xFF instead of 0x00 (as it happens in at least two CJKV fonts, `HAN NOM A.ttf' and `HAN NOM B.ttf'). * src/smooth/ftgrays.c [GRAYS_USE_GAMMA]: Really remove all code.2006-09-05 David Turner <david@freetype.org> Minor source cleanups and optimizations. * src/smooth/ftgrays.c (GRAYS_COMPACT): Removed. (TRaster): Remove `count_ex' and `count_ey'. (gray_find_cell): Remove 2nd and 3rd argument. (gray_alloc_cell): Merged with `gray_find_cell'. (gray_record_cell): Simplify. (gray_set_cell): Rewrite. (gray_start_cell): Apply offsets to `ras.ex' and `ras.ey'. (gray_render_span): Don't use FT_MEM_SET for small values. (gray_dump_cells) [DEBUG_GRAYS]: New function. (gray_sweep): Avoid buffer overwrites when to drawing the end of a bitmap scanline. (gray_convert_glyph): Fix speed-up.2006-09-04 David Turner <david@freetype.org> * src/smooth/ftgrays.c (gray_convert_glyphs): Make it work with 64bit processors.2006-09-03 Werner Lemberg <wl@gnu.org> * devel/ftoption.h: Synchronize with include/freetype/config/ftoption.h. * src/smooth/ftgrays.c (gray_record_cell): Remove shadowing variable declaration. (gray_convert_glyph): Fix compiler warnings.2006-09-01 David Turner <david@freetype.org> * src/truetype/ttobjs.c (tt_face_init): Update the TrueType loader to recognize a few fonts that require the automatic unpatented loader. * src/smooth/ftgrays.c: Optmize the performance of the anti-aliased rasterizer. The speed improvement is between 15% and 25%, depending on the font data. (GRAYS_USE_GAMMA, GRAYS_COMPACT): Removed, and all associated code. (TCell): Redefine. (TRaster): New members `buffer', `buffer_size', `ycells', `ycount'. (gray_init_cells): Updated. (gray_find_cell, gray_alloc_cell): New functions. (gray_record_cell): Rewritten to use `gray_find_cell' and `gray_alloc_cell'. (PACK, LESS_THAN, SWAP_CELLS, DEBUG_SORT, QUICK_SORT, SHELL_SORT, QSORT_THRESHOLD): Removed. (gray_shell_sort, gray_quick_sort, gray_check_sort, gray_dump_cells): Removed. (gray_sweep): Rewritten. (gray_convert_glyph): Rewrite code which used one of the sorting functions. (gray_raster_render): Updated.2006-08-29 Dr. Werner Fink <werner@suse.de> * configure: Make it possible to handle configure options which have strings containing spaces.2006-08-27 David Turner <david@freetype.org> * include/freetype/config/ftoption.h (TT_USE_BYTECODE_INTERPRETER): New macro, defined if either TT_CONFIG_OPTION_BYTECODE_INTERPRETER or TT_CONFIG_OPTION_UNPATENTED_HINTING is defined. * include/freetype/internal/ftcalc.h, src/base/ftcalc.c, src/truetype/truetype.c, src/truetype/ttdriver.c, src/truetype/ttgload.c, src/truetype/ttgload.h, src/truetype/ttinterp.c, src/truetype/ttobjs.c, src/truetype/ttobjs.h, src/truetype/ttpload.c, src/type42/t42drivr.c: s/TT_CONFIG_OPTION_BYTECODE_INTERPRETER/TT_USE_BYTECODE_INTERPRETER/. * include/freetype/internal/ftobjs.h (FT_Face_InternalRec): New member `force_autohint'. * src/base/ftobjs.c (FT_Load_Glyph): Use `force_autohint'. * src/truetype/ttobjs.c (tt_face_init): Prepare code for testing against a list of font names which need the bytecode interpreter.2006-08-27 Jens Claudius <jens.claudius@yahoo.com> Fix miscellaneous compiler warnings. * freetype2/include/freetype/internal/ftobjs.h: Close comment with `*/' to avoid `/* in comment' compiler warning. * freetype2/src/base/ftdbgmem.c (ft_mem_table_get_source): Turn cast `(FT_UInt32)(void*)' into `(FT_UInt32)(FT_PtrDist)(void*)' since on 64-bit platforms void* is larger than FT_UInt32. * freetype2/src/base/ftobjs.c (t_validator_error): Cast away volatileness of argument to ft_longjmp. Spotted by Werner `Putzfrau' Lemberg. * freetype2/src/bdf/bdflib.c (bdf_load_font): Initialize local variable `lineno'. * freetype2/src/gxvalid/gxvmod.c (classic_kern_validate): Mark local variable `error' as volatile.2006-08-27 Werner Lemberg <wl@gnu.org> * builds/unix/ftconfig.in: Synchronize with main ftconfig.h. Reported by Jens.2006-08-22 Jens Claudius <jens.claudius@yahoo.com> Fix for previous commit, which caused many compiler warnings/errors about addresses of volatile objects passed as function arguments as non-volatile pointers. * freetype2/include/freetype/internal/ftvalid.h: Make FT_Validator typedef a pointer to a volatile object. * freetype2/src/gxvalid/gxvmod.c (gxv_load_table): Make function argument `table' a pointer to a volatile object. * freetype2/src/otvalid/otvmod.c (otv_load_table): Make function argument `table' a pointer to a volatile object.2006-08-18 Jens Claudius <jens.claudius@yahoo.com> * freetype2/src/gxvalid/gxvmod.c (GXV_TABLE_DECL): Mark local variable `_sfnt' as volatile since it must keep its value across a call to ft_setjmp. (gxv_validate): Same for local variables `memory' and `valid'. (classic_kern_validate): Same for local variables `memory', `ckern', and `valid'. * freetype2/src/otvalid/otvmod.c (otv_validate): Same for function parameter `face' and local variables `base', `gdef', `gpos', `gsub', `jstf', and 'valid'. * freetype2/src/sfnt/ttcmap.c (tt_face_build_cmaps): Same for local variable `cmap'.2006-08-16 David Turner <david@freetype.org> * src/cid/cidgload.c (cid_slot_load_glyph): Remove compiler warnings. * src/base/ftobjs.c (ft_validator_run): Disable function; it is buggy by design. Always return -1. Improvements to native TrueType hinting. This is a first try, controlled by the FIX_BYTECODE macro in src/truetype/ttinterp.c. * include/freetype/internal/ftgloadr.h (FT_GlyphLoadRec): Add member `extra_points2'. * include/freetype/internal/tttypes.h (TT_GlyphZoneRec): Add member `orus'. * src/base/ftgloadr.c (FT_GlyphLoader_Reset, FT_GlyphLoader_Adjust_Points, FT_GlyphLoader_CreateExtra, FT_GlyphLoader_CheckPoints, FT_GlyphLoader_CopyPoints): Updated to handle `extra_points2'. * src/truetype/ttgload.c (tt_prepare_zone): Handle `orus'. Remove compiler warning. (cur_to_arg): Remove macro. (TT_Hint_Glyph): Updated. (TT_Process_Simple_Glyph): Handle `orus'. * src/truetype/ttinterp.c (FIX_BYTECODE): New macro. (Ins_MD, Ins_MDRP, Ins_IP) [FIX_BYTECODE]: Handle `orus'. (LOC_Ins_IUP): Renamed to... (IUP_WorkerRec): This. Add `orus' member. (Shift): Renamed to... (_iup_worker_shift): This. Updated. (Interp): Renamed to... (_iup_worker_interpolate): This. Updated to handle `orus'. (Ins_IUP): Updated. * src/truetype/ttobjs.c (tt_glyphzone_done, tt_glyphzone_new): Handle `orus'.2006-08-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> * modules.cfg (BASE_EXTENSIONS): Compile in ftgxval.c by default to build ftvalid in ft2demos. This has been inadvertedly changed 2006-08-13.2006-08-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> `ft_validator_run' wrapping `setjmp' can cause a crash, as found by Jens: http://lists.nongnu.org/archive/html/freetype-devel/2006-08/msg00004.htm. * freetype2/src/otvalid/otvmod.c: Replace `ft_validator_run' by `ft_setjmp'. It reverts the change introduced on 2005-08-20. * freetype2/src/gxvalid/gxvmod.c: Ditto.2006-08-13 Jens Claudius <jens.claudius@yahoo.com> * freetype2/include/freetype/internal/psaux.h: (T1_TokenType): Add T1_TOKEN_TYPE_KEY. (T1_FieldRec): Add `dict'. (T1_FIELD_DICT_FONTDICT, T1_FIELD_DICT_PRIVATE): New macros. (T1_NEW_XXX, T1_FIELD_XXX): Update to take the dictionary where a PS keyword is expected as an additional argument. * freetype2/src/cid/cidload.c: (cid_field_records): Adjust invocations of T1_FIELD_XXX. * freetype2/src/cid/cidtoken.h: Adjust invocations of T1_FIELD_XXX. * freetype2/src/psaux/psobjs.c: Add macro FT_COMPONENT for tracing. (ps_parser_to_token): Report a PostScript key as T1_TOKEN_TYPE_KEY, not T1_TOKEN_TYPE_ANY. (ps_parser_load_field): Make sure a token that should be a string or name is really a string or name. Avoid memory leak if a keyword has been already encountered and its value is overwritten. * freetype2/src/type1/t1load.c: (t1_keywords): Adjust invocations of T1_FIELD_XXX. (parse_dict): Ignore keywords that occur in the wrong dictionary (e.g., in `Private' instead of `FontDict'). * freetype2/src/type1/t1tokens.h: Adjust invocations of T1_FIELD_XXX. * freetype2/src/type42/t42parse.c: (t42_keywords): Adjust invocations of T1_FIELD_XXX.2006-07-18 Jens Claudius <jens.claudius@yahoo.com> Move creation of field `buildchar' of T1_DecoderRec out of `t1_decoder_init' and let the caller of `t1_decoder_init' take care of it. Call the finisher for T1_Decoder in `cid_face_compute_max_advance' and `T1_Compute_Max_Advance'. * freetype2/include/freetype/internal/psaux.h (T1_DecoderRec): Remove field `face', add `len_buildchar'.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -