📄 changes
字号:
- The CFF loader was modified to accept fonts which only contain a subset of their reference charset. This prevented the correct use of PDF-embedded fonts. - The logic to detect Unicode charmaps has been modified. This is required to support fonts which include both 16-bit and 32-bit charmaps (like very recent asian ones) using the new 10 and 12 SFNT formats. - The TrueType loader now limits the depth of composite glyphs. This is necessary to prevent broken fonts to break the engine by blowing the stack with recursive glyph definitions. - The CMap cache is now capable of managing UCS-4 character codes that are mapped through extended charmaps in recent TrueType/OpenType fonts. - The cache sub-system now properly manages out-of-memory conditions instead of blindly reporting them to the caller. This means that it will try to empty the cache before restarting its allocations to see if that can help. - The PFR driver didn't return the list of available embedded bitmaps properly. - There was a nasty memory leak when using embedded bitmaps in certain font formats. II. IMPORTANT CHANGES - David Chester contributed some enhancements to the auto-hinter that significantly increase the quality of its output. The Postscript hinter was also improved in several ways. - The FT_RENDER_MODE_LIGHT render mode was implemented. - A new API function called `FT_Get_BDF_Property' has been added to FT_BDF_H to retrieve BDF properties from BDF _and_ PCF font files. THIS IS STILL EXPERIMENTAL, since it hasn't been properly tested yet. - A Windows FNT specific API has been added, mostly to access font headers. This is used by Wine. - TrueType tables without an `hmtx' table are now tolerated when an incremental interface is used. This happens for certain Type42 fonts passed from Ghostscript to FreeType. - The PFR font driver is now capable of returning the font family and style names when they are available (instead of the sole `FontID'). This is performed by parsing an *undocumented* portion of the font file! III. MISCELLANEOUS - The path stroker in FT_STROKER_H has entered beta stage. It now works very well, but its interface might change a bit in the future. More on this in later releases. - The documentation for FT_Size_Metrics didn't appear properly in the API reference. - The file docs/VERSION.DLL has been updated to explain versioning with FreeType (i.e., comparing release/libtool/so numbers, and how to use them in autoconf scripts). - The installation documentation has been seriously revamped. Everything is now in the `docs' directory.======================================================================CHANGES BETWEEN 2.1.3 and 2.1.2 I. IMPORTANT BUG FIXES - FT_Vector_Transform had been incorrectly modified in 2.1.2, resulting in incorrect transformations being applied (for example, rotations were processed in opposite angles). - The format 8 and 12 TrueType charmap enumeration routines have been fixed (FT_Get_Next_Char returned invalid values). - The PFR font driver returned incorrect advance widths if the outline and metrics resolution defined in the font file were different. - FT_Glyph_To_Bitmap now returns successfully when called with an FT_BitmapGlyph argument (it previously returned an error). - A bug in the Type 1 loader that prevented valid font bounding boxes to be loaded from multiple master fonts. - The SFNT validation code has been rewritten. FreeType can now load `broken' fonts that were usable on Windows, but not with previous versions of the library. - The computation of bearings in the BDF driver has been fixed. - The Postscript hinter crashed when trying to hint certain glyphs (more precisely, when trying to apply hints to an empty glyph outline). - The TrueType glyph loader now supports composites in `Apple format' (they differ slightly from Microsoft/OpenType ones in the way transformation offsets are computed). - FreeType was very slow at opening certain asian CID/CFF fonts, due to fixed increment in dynamic array re-allocations. This has been changed to exponential behaviour to get acceptable performance. II. IMPORTANT CHANGES - The PCF driver now supports gzip-compressed font files natively. This means that you will be able to use all these bitmap fonts that come with XFree86 with FreeType (and libXft/libXft2, by extension). - The automatic and postscript hinters have both been updated. This results in a relatively important increase of rendering quality since many nasty defaults have been suppressed. Please visit the web page: http://www.freetype.org/hinting/smooth-hinting.html for additional details on this topic. - The `load_flags' parameter of `FT_Load_Glyph' is now an FT_Int32 (instead of just being an FT_Int). This breaks source and binary compatibility for 16bit systems only, while retaining both of them for 32 and 64 bit ones. Some new flags have been added consequently: FT_LOAD_NO_AUTOHINT :: Disable the use of the auto-hinter (but not native format hinters). FT_LOAD_TARGET_NORMAL :: Hint and render for normal anti-aliased displays. FT_LOAD_TARGET_MONO :: Hint and render for 1-bit displays. FT_LOAD_TARGET_LCD :: Hint and render for horizontal RGB or BGR sub-pixel displays (like LCD screens). THIS IS STILL EXPERIMENTAL! FT_LOAD_TARGET_LCD_V :: Same as FT_LOAD_TARGET_LCD, for vertical sub-pixel displays (like rotated LCD screens). THIS IS STILL EXPERIMENTAL! FT_LOAD_MONOCHROME is still supported, but only affects rendering, not the hinting. Note that the `ftview' demo program available in the `ft2demos' package has been updated to support LCD-optimized display on non-paletted displays (under Win32 and X11). - The PFR driver now supports embedded bitmaps (all formats supported), and returns correct kerning metrics for all glyphs. - The TrueType charmap loader now supports certain `broken' fonts that load under Windows without problems. - The cache API has been slightly modified (it's still a beta!): - The type FTC_ImageDesc has been removed; it is now replaced by FTC_ImageTypeRec. Note that one of its fields is a `load_flag' parameter for FT_Load_Glyph. - The field `num_grays' of FT_SBitRec has been changed to `max_grays' in order to fit within a single byte. Its maximum value is thus 255 (instead of 256 as previously). III. MISCELLANEOUS - Added support for the DESTDIR variable during `make install'. This simplifies packaging of FreeType. - Included modified copies of the ZLib sources in `src/gzip' in order to support gzip-compressed PCF fonts. We do not use the system-provided zlib for now, though this is a probable enhancement for future releases. - The DocMaker tool used to generate the on-line API reference has been completely rewritten. It is now located in `src/tools/docmaker/docmaker.py'. Features: - better cross-referenced output - more polished output - uses Python regular expressions (though it didn't speed the program) - much more modular structure, which allows for different `backends' in order to generate HTML, XML, or whatever format. One can regenerate the API reference by calling: python src/tools/docmaker/docmaker.py \ --prefix=ft2 \ --title=FreeType-2.1.3 \ --output=<outputdirectory> include/freetype/*.h \ include/freetype/config/*.h \ include/freetype/cache/*.h - A new, experimental, support for incremental font loading (i.e., loading of fonts where the glyphs are not in the font file itself, but provided by an external component, like a Postscript interpreter) has been added by Graham Asher. This is still work in progress, however. - A new, EXPERIMENTAL, path stroker has been added. It doesn't suffer from severe rounding errors and treat bezier arcs directly. Still work in progress (i.e. not part of the official API). See the file <freetype/ftstroker.h> for some of the details. - The massive re-formatting of sources and internal re-design is still under-way. Many internal functions, constants, and types have been renamed.======================================================================CHANGES BETWEEN 2.1.2 and 2.1.1 I. IMPORTANT BUG FIXES - Many font drivers didn't select a Unicode charmap by default when a new face was opened (with the FT_CONFIG_OPTION_USE_CMAPS options enabled), causing many applications to not be able to display text correctly with the 2.1.x releases. - The PFR driver had a bug in its composite loading code that produces incorrectly placed accents with many fonts. - The Type42 driver crashed sometimes due to a nasty bug. - The Type 1 custom encoding charmap didn't handle the case where the first glyph index wasn't 0. - A serious typo in the TrueType composite loader produced incorrectly placed glyphs in fonts like `Wingdings' and a few others. II. MISCELLANEOUS - The Win32 Visual C++ project file has been updated to include the PFR driver as well. - `freetype.m4' is now installed by default by `make install' on Unix systems. - The function FT_Get_PS_Font_Info now works with CID and Type42 fonts as well.======================================================================CHANGES BETWEEN 2.1.1 and 2.1.0 I. IMPORTANT BUG FIXES - The `version_info' returned by `freetype-config' in 2.1.0 returned an invalid value. It now returns 9:1:3 (2.0.9 returned 9:0:3). - Version 2.1.0 couldn't be linked against applications on Win32 and Amiga systems due to a new debug function that wasn't properly propagated to the system-specific directory in `builds'. - Various MacOS and Mac OS X specific fixes. - Fixed a bug in the TrueType charmap validation routines that made version 2.1.0 too restrictive -- many popular fonts have been rejected. - There was still a very small difference between the monochrome glyph bitmaps produced by FreeType 1.x and FreeType 2.x with the bytecode interpreter enabled. This was caused by an invalid flag setting in the TrueType glyph loader, making the rasterizer change its drop-out control mode. Now the results should _really_ be completely identical. - The TrueType name table loader has been improved to support many popular though buggy Asian fonts. It now ignores empty name entries, invalid pointer offsets and a few other incorrect subtleties. Moreover, name strings are now loaded on demand, which reduces the memory load of many faces (e.g. the ARIAL.TTF font file contains a 10kByte name table with 70 names). - Fixed a bug in the Postscript hinter that prevented family blues substitution to happen correctly. II. NEW FEATURES - Three new font drivers in this release: * A BDF font driver, contributed by Franco Zappa Nardelli, heavily modified by Werner Lemberg. It also supports anti-aliased bitmaps (using a slightly extended BDF format). * A Type42 font driver, contributed by Roberto Alameda. It is still experimental but seems to work relatively well. * A PFR font driver, contributed by David Turner himself. It doesn't support PFR hinting -- note that BitStream has at least two patents on this format! III. MISCELLANEOUS - The cache sub-system has been optimized in important ways. Cache hits are now significantly faster. For example, using the CMap cache is about twice faster than calling FT_Get_Char_Index on most platforms. Similarly, using an SBit cache is about five times faster than loading the bitmaps from a bitmap file, and 300 to 500 times faster than generating them from a scalable format. Note that you should recompile your sources if you designed a custom cache class for the FT2 Cache subsystem, since the changes performed are source, but not binary, compatible.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -