📄 changelog
字号:
include/freetype/ftlcdfil.h: Update reference documentation with GASP support and LCD filtering sections. * src/pshinter/pshalgo.c (psh_glyph_compute_inflections): Fix a typo which created an endless loop with some malformed font files.2007-01-10 Derek Clegg <dclegg@apple.com> * src/type1/t1load.c (T1_Get_MM_Var): Always return fixed point values.2007-01-08 David Turner <david@freetype.org> * docs/CHANGES: Updated. * include/freetype/ftgasp.h, src/base/ftgasp.c: New files which add a new API `FT_Get_Gasp' to return entries of the `gasp' table corresponding to a given character pixel size. * src/sfnt/ttload.c (tt_face_load_gasp): Add version check for the `gasp' table, in order to avoid potential problems with later versions. * include/freetype/config/ftheader.h (FT_GASP_H): New macro for <freetype/ftgasp.h>. * src/base/rules.mk (BASE_SRC), src/base/Jamfile (_sources), modules.cfg (BASE_EXTENSIONS), builds/win32/visualc/freetype.dsp, builds/win32/visualc/freetype.vcproj: Add src/base/ftgasp.c to the default build.2007-01-07 Werner Lemberg <wl@gnu.org> * src/cid/cidparse.c (cid_parser_new): Improve error message for Type 11 fonts. Scan for `/sfnts' token.2007-01-07 Werner Lemberg <wl@gnu.org> * src/cid/cidparse.c (cid_parser_new): Reject Type 11 fonts.2007-01-06 Werner Lemberg <wl@gnu.org> * src/cff/cffload.c (cff_index_init): Remove unused variable. (cff_index_read_offset): s/perror/errorp/ to avoid global shadowing.2007-01-04 David Turner <david@freetype.org> * src/pfr/pfrobjs.c (pfr_face_init): Detect non-scalable fonts correctly. This fixes Savannah bug #17876. Do not allocate interpreter-specific tables in memory if we are not going to load glyphs with the bytecode interpreter anyway. * src/truetype/ttgload.c (tt_loader_init): Load execution context only if glyph is hinted. Updated. * src/truetype/ttobjs.h (TT_SizeRec): Add members `bytecode_ready' and `cvs_ready'. Add `tt_size_ready_bytecode' declaration. * src/truetype/ttobjs.c (tt_size_done_bytecode, tt_size_init_bytecode, tt_size_ready_bytecode): New functions. (tt_size_init): Move most code into `tt_size_init_bytecode'. (tt_size_done): Move most code into `tt_size_done_bytecode'. (tt_size_reset): Move some code to `tt_size_ready_bytecode'. Don't extract the metrics table from the SFNT font file. Instead, reparse it on each glyph load. The runtime difference is not noticeable, and it can save a lot of heap memory when memory-mapped files are not used. * include/freetype/internal/tttypes.h (TT_FaceRec): Add members `horz_metrics_offset' and `vert_metrics_ofset'. * src/sfnt/ttmtx.c (tt_face_load_hmtx, tt_face_get_metrics): Updated. * src/sfnt/ttcmap.c (tt_cmap4_validate): Slight optimization. Do not load the CFF index offsets into memory, since this wastes a *lot* of heap memory with large Asian CFF fonts. There is no significant performance loss. * src/cff/cffload.h: Add `cff_charset_cid_to_gindex' declaration. * src/cff/cfftypes.h (CFF_IndexRec): Add fields `start' and `data_size'. (CFF_CharsetRec): Add field `num_glyphs'. * src/cff/cffload.c (cff_index_read_offset, cff_index_load_offsets, cff_charset_cid_to_gindex): New functions. (cff_new_index): Renamed to... (cff_index_init): This. Update all callers. Updated -- some code has been moved to `cff_index_load_offsets'. (cff_done_index): Renamed to... (cff_index_done): This. Update all callers. (cff_index_get_pointers, cff_index_access_element): Updated to use stream offsets. (cff_charset_compute_cids): Set `num_glyphs' field. (cff_encoding_load): Updated. * src/cff/cffgload.c (cff_slot_load): Updated.2007-01-04 David Turner <david@freetype.org> * docs/INSTALL.UNIX: Simplify some parts, add reference to autogen.sh and pointer to README.CVS. * README.CVS: Add common problem description and solution when running autogen.sh. * docs/INSTALL: Add reference to MacOS X. * docs/MAKEPP, docs/INSTALL.MAC: New documentation files. * docs/TODO: Remove obsolete items. * src/raster/ftraster.c: (TRaster_Instance): Replace it with... (TWorker): This. Remove `count_table' and `memory'. Make `grays' a pointer. (TRaster): New structure. (count_table): New static array. (RAS_ARGS, RAS_ARG, RAS_VARS, RAS_VAR, FT_UNUSED_RASTER, cur_ras, Vertical_Gray_Sweep_Step, ft_black_new, ft_black_done, ft_black_set_mode, ft_black_render): Updated. (ft_black_init): Don't initialize `count_table'. (ft_black_reset): Use the render pool. This saves about 6KB of heap space for each FT_Library instance. * src/smooth/ftgrays.c (TRaster): Replaced with... (TWorker): This. Remove `memory'. (TRaster): New structure. (RAS_ARG_, RAS_ARG, RAS_VAR_, RAS_VAR, ras, gray_render_line, gray_move_to, gray_line_to, gray_conic_to, gray_cubic_to, gray_render_span, gray_raster_render): Updated. (gray_raster_reset): Use the render pool. This saves about 6KB of heap space for each FT_Library instance. * src/sfnt/sfobjs.c, src/sfnt/ttkern.c, src/sfnt/ttkern.h, src/sfnt/ttmtx.c, src/sfnt/ttsbit.c, src/sfnt/ttsbit.h, src/truetype/ttpload.c, include/freetype/config/ftoption.h: Remove FT_OPTIMIZE_MEMORY macro (and code for !FT_OPTIMIZE_MEMORY) since the optimization is no longer experimental. * src/pshinter/pshalgo.c (psh_glyph_interpolate_normal_points): Remove a typo that results in no hinting and a memory leak with some large Asian CFF fonts. * src/base/ftobjs.c (FT_Done_Library): Remove a subtle memory leak which happens when FT_Done_Library is called with still opened CFF_Faces in it. We need to close all faces before destroying the modules, or else some bad things (memory leaks) may happen.2007-01-02 Werner Lemberg <wl@gnu.org> * src/gxvalid/gxvkern.c (gxv_kern_subtable_fmt0_pairs_validate): Remove compiler warning.2007-01-02 David Turner <david@freetype.org> * src/sfnt/sfobjs.c: Add documentation comment.2006-12-31 Masatake YAMATO <jet@gyve.org> * src/gxvalid/gxvkern.c (gxv_kern_subtable_fmt0_pairs_validate): New function. Check uniqueness of the gid pairs. (gxv_kern_subtable_fmt0_validate): Move some code to `gxv_kern_subtable_fmt0_pairs_validate'.2006-12-22 David Turner <david@freetype.org> * src/autofit/aflatin.c, src/truetype/ttgload.c: Remove compiler warnings. * builds/win32/visualc/freetype.vcproj: Add _CRT_SECURE_NO_DEPRECATE to avoid deprecation warnings with Visual C++ 8.2006-12-16 Anders Kaseorg <anders@kaseorg.com> * src/base/ftlcdfil.c (FT_Library_SetLcdFilter) [FT_FORCE_LIGHT_LCD_FILTER]: Fix typo.2006-12-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> * include/freetype/internal/services/svotval.h: Add `volatile' to sync with the modification by Jens Claudius on 2006-08-22; cf. http://cvs.savannah.gnu.org/viewcvs/freetype/freetype2/src/otvalid/otvmod.c?r1=1.4&r2=1.52006-12-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> * src/base/ftmac.c: Specialized for Mac OS X only. * builds/unix/ftconfig.in: Fixed for ppc64 missing Carbon framework. * builds/unix/configure.raw: Ditto. When explicit switches for FSSpec/FSRef/QuickDraw/ATS availability are given to configure, builds/mac/ftmac.c is used instead of default src/base/ftmac.c.2006-12-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> * builds/mac/ftmac.c: Copied src/base/ftmac.c for legacy system. * builds/mac/FreeType.m68k_cfm.make.txt: Fix to use builds/mac/ftmac.c instead of src/base/ftmac.c * builds/mac/FreeType.ppc_carbon.make.txt: Ditto. * builds/mac/FreeType.ppc_classic.make.txt: Ditto. * builds/mac/FreeType.m68k_far.make.txt: Ditto, and exclude gxvalid.c that cannot be built at present.2006-12-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> * src/base/ftobjs.c: Improvement of resource fork handler for POSIX, cf. http://lists.gnu.org/archive/html/freetype-devel/2006-10/msg00025.html (Mac_Read_sfnt_Resource): Count only `sfnt' resource of suitcase font format or .dfont, to simulate the face index number counted by ftmac.c. (IsMacResource): Return the number of scalable faces correctly.2006-12-10 Werner Lemberg <wl@gnu.org> * builds/toplevel.mk (version): Protect against `distclean' target.2006-12-09 Werner Lemberg <wl@gnu.org> * builds/*/*def.mk, builds/*/detect.mk (CAT): Define to either `cat' or `type'. * builds/freetype.mk (version): Extracted from freetype.h, using GNU make's built-in string functions. (refdoc): Use $(version) instead of static version number.2006-12-08 Werner Lemberg <wl@gnu.org> * builds/toplevel.mk (dist): Extract version number from freetype.h.2006-12-08 Vladimir Volovich <vvv@vsu.ru> * src/tools/apinames (State): Remove final comma in structure -- xlc v5 under AIX 4.3 doesn't like this.2006-12-07 David Turner <david@freetype.org> * src/autofit/afloader.c (af_loader_load_g): Small adjustment to the spacing of auto-fitted glyphs. This only impacts rare cases (e.g., Arial Bold at rather small character sizes).2006-12-03 Werner Lemberg <wl@gnu.org> * src/sfnt/rules.mk (SFNT_DRV_SRC): Add ttsbit0.c.2006-12-01 Werner Lemberg <wl@gnu.org> * src/sfnt/sfobjs.c (tt_face_get_name): All Unicode strings are encoded in UTF-16BE. Patch from Rajeev Pahuja <rpahuja@esri.com>. (tt_name_entry_ascii_from_ucs4): Removed. * include/freetype/ftxf86.h: Fix and extend comment so that it appears in the documentation. * include/freetype/ftchapters.h: Add `font_format' section. * src/tools/docmaker/tohtml.py (HtmlFormatter::index_exit): Add link to TOC in index page.2006-11-28 David Turner <david@freetype.org> * src/smooth/ftgrays.c (gray_raster_render): Return 0 when we are trying to render into a zero-width/height bitmap, not an error code. * src/truetype/ttobjs.c (tt_face_init): Fix typo in previous patch. * src/smooth/ftgrays.c: Remove hard-coded error values; use FreeType ones instead. * src/autofit/afhints.c (af_glyph_hints_dump_segments): Remove unused variable.2006-11-26 Pierre Hanser <hanser@club-internet.fr> * src/truetype/ttobjs.c (tt_face_init): Protect against NULL pointer.2006-11-25 David Turner <david@freetype.org> * src/autofit/afhints.c (af_glyph_hints_dump_points, af_glyph_hints_dump_segments, af_glyph_hints_dumpedges) [!AF_DEBUG]: Add stubs to link the `ftgrid' test program when debugging is disabled in the auto-hinter.2006-11-23 David Turner <david@freetype.org> * src/autofit/afhints.c, src/autofit/afhints.h, src/autofit/aflatin.c, src/autofit/aftypes.h: Miscellaneous auto-hinter improvements. * src/autofit/afhints.c (af_glyph_hints_dump_segments) [AF_DEBUG]: Emit more sensible information. * src/autofit/afhints.h (AF_SegmentRec): Add `height' member. * src/autofit/aflatin.c (af_latin_metrics_scale_dim): Improve rounding of blue values. (af_latin_hints_compute_segments): Hint segment heights. (af_latin_hints_link_segments): Reduce `len_score' value. (af_latin_hints_compute_edges): Increase `segment_length_threshold' value and use `height' member for comparisons. (af_latin_hint_edges): Extend logging message. Improve handling of remaining edges.2006-11-22 Werner Lemberg <wl@gnu.org> Fix Savannah bug #15553. * src/truetype/ttgload.c (tt_loader_init): Re-execute the CVT program after a change from mono to grayscaling (and vice versa). Use correct constant for comparison to get `exec->grayscale'.2006-11-18 Werner Lemberg <wl@gnu.org> Because FT_Load_Glyph expects CID values for CID-keyed fonts, the test for a valid glyph index must be deferred to the font drivers. This patch fixes Savannah bug #18301. * src/base/ftobjs.c (FT_Load_Glyph): Don't check `glyph_index'. * src/bdf/bdfdrivr.c (BDF_Glyph_Load), src/cff/cffgload.c (cff_slot_load), src/cid/cidgload.c (cid_slot_load_glyph), src/pcf/pcfdrivr.c (PCF_Glyph_Load), src/pfr/pfrobjs.c (pfr_slot_load), src/truetype/ttdriver.c (Load_Glyph), src/type1/t1gload.c (T1_Load_Glyph), src/winfonts/winfnt.c (FNT_Load_Glyph): Check validity of `glyph_index'.2006-11-13 David Turner <david@freetype.org> * src/truetype/ttinterp.c (FIX_BYTECODE): Undefine. The interpreter `enhancements' are still too buggy for general use. * src/base/ftlcdfil.c: Add support for FT_FORCE_LIGHT_LCD_FILTER and FT_FORCE_LEGACY_LCD_FILTER at compile time. Define these macros when building the library to change the default LCD filter to be used. This is only useful for experimentation. * include/freetype/ftlcdfil.h: Update documentation.2006-11-10 David Turner <david@freetype.org> * src/smooth/ftsmooth.c: API change for the LCD filter. The FT_LcdFilter value is an enumeration describing which filter to apply, with new values FT_LCD_FILTER_LIGHT and FT_LCD_FILTER_LEGACY (the latter implements the LibXft original algorithm which produces strong color fringes for everything except very-well hinted text). * include/freetype/ftlcdfil.h (FT_Library_SetLcdFilter): Change second parameter to an enum type. * src/base/ftlcdfil.c (USE_LEGACY): Define. (_ft_lcd_filter): Rename to... (_ft_lcd_filter_fir): This. Update parameters. (_ft_lcd_filter_legacy) [USE_LEGACY]: New filter function. (FT_Library_Set_LcdFilter): Update parameters. Handle new filter modes. * include/internal/ftobjs.h: Include FT_LCD_FILTER_H. (FT_Bitmap_LcdFilterFunc): Change third argument to `FT_Library'. (FT_LibraryRec) [FT_CONFIG_OPTION_SUBPIXEL_RENDERING]: Add filtering callback and update other fields. * src/smooth/ftsmooth.c (ft_smooth_render_generic) [FT_CONFIG_OPTION_SUBPIXEL_RENDERING]: Update. Other minor improvements. * src/autofit/aflatin.c: Various tiny improvements that drastically improve the handling of serif fonts and of LCD/LCD_V hinting modes. (af_latin_hints_compute_edges): Fix typo. (af_latin_compute_stem_width): Take better care of diagonal stems.2006-11-09 David Turner <david@freetype.org> * src/pshinter/pshalgo.c (psh_glyph_compute_inflections): Fix typo which created a variable-used-before-initialized bug.2006-11-07 Zhe Su <james.su@gmail.com> * src/base/ftsynth.c (FT_GlyphSlot_Embolden): Handle vertical layout also.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -