📄 changes
字号:
LATESET CHANGES BETWEEN 2.0.9 and 2.0.8 I. IMPORTANT BUG FIXES - Certain fonts, like "foxjump.ttf" contain broken name tables with invalid entries and wild offsets. This caused FreeType to crash when trying to load them. The SFNT 'name' table loader has been fixed to be able to support these strange fonts. Moreover, the code in charge of processing this table has been changed to always favor Windows-formatted entries over other ones. Hence, a font that works on Windows but not on the Mac will load cleanly in FreeType and report accurate values for Family & Postscript names. - The CID font driver has been fixed. It unfortunately returned a Postscript Font name with a leading slash, as in "/MunhwaGothic-Regular". - FreeType 2 should now compile fine on AIX 4.3.3 as a shared library. - A bug in the Postscript hinter has been found and fixed. You shouldn't be experimenting un-even stem widths at small pixel sizes (like 14-17). This improves the quality of a certain number of Postscript fonts :o) II. NEW FEATURES: - A new function named FT_Library_Version has been added to return the current library's major, minor and patch version numbers. This is important since the macros FREETYPE_MAJOR, FREETYPE_MINOR and FREETYPE_PATCH cannot be used when the library is dynamically linked by a program.. - Two new APIs have been added: FT_Get_First_Char and FT_Get_Next_Char. Together, these can be used to iterate efficiently over the currently selected charmap of a given face. Read the API reference for more details. III. MISCELLANEOUS: - The FreeType sources are under heavy internal re-factoring. As a consequence, we have created a branch named "STABLE" on the CVS to hold all future releases/fixes in the 2.0.x family. The HEAD branch now contains the re-factored sources and shouldn't be used for testing or packaging new releases. In the cases where you would like to access the 2.0.9 sources from our CVS repository, you should use the tag VER-2-0-9.============================================================================LATEST CHANGES BETWEEN 2.0.8 and 2.0.7 I. IMPORTANT BUG FIXES - There was a small but nasty bug in "freetype-config.in" which caused the "freetype-config" script to fail on Unix. this doesn't prevented the installation of the library or even its execution, but caused problems when trying to compile many Unix packages that depend on it.. !!! - some TrueType or OpenType fonts embedded in PDF documents do not have a 'cmap', 'post' and 'name' as is required by the specification, FreeType no longer refuses to load such fonts.. - various fixes to the PCF font driver ============================================================================LATEST CHANGES BETWEEN 2.0.7 and 2.0.6 I. IMPORTANT BUG FIXES - Fixed two bugs in the Type 1 font driver. The first one resulted in a memory leak in subtle cases. The other one caused FreeType to crash when trying to load ".gsf" files (Ghostscript so-called Postscript fonts). (This made _many_ KDE applications crash on certain systems. FreeType _is_ becoming a critical system component on Linux :-) - Fixed a memory leak in the CFF font driver. - Fixed a memory leak in the PCF font driver. - Fixed the Visual C++ project file "builds/win32/visualc/freetype.dsp" since it didn't include the Postscript hinter component, causing errors at build time. - Fixed a small rendering bug in the anti-aliased renderer that only occurred when trying to draw thin (less than 1 pixel) strokes. - Fixed "builds/unix/freetype2.a4" which is used to generate a valid "freetype2.m4" for use with autoconf. - Fixed the OpenVMS Makefiles. II. MISCELLANEOUS - Added "configure" and "install" scripts to the top-level directory. A GNU-style installation is thus now easily possible with ./configure <options> make make install============================================================================LATEST CHANGES BETWEEN 2.0.6 and 2.0.5 I. IMPORTANT BUG FIXES - It wasn't possible to load embedded bitmaps when the auto-hinter was used. This is now fixed. - The TrueType font driver didn't load some composites properly (the sub-glyphs were slightly shifted, and this was only noticeable when using monochrome rendering). - Various fixes to the auto-hinter. They merely improve the output of sans-serif fonts. Note that there are still problems with serifed fonts and composites (accented characters). - All scalable font drivers erroneously returned un-fitted glyph advances when hinting was requested. This created problems for a number of layout applications. This is a very old bug that got undetected mainly because most test/demo program perform rounding explicitly or implicitly (through the cache). - FT_Glyph_To_Bitmap() did erroneously modify the source glyph in certain cases. - "glnames.py" still contained a bug that made FreeType return invalid names for certain glyphs. - The library crashed when loading certain Type 1 fonts like "sadn.pfb" ("Stalingrad Normal"), which appear to contain pathetic font info dictionaries. - The TrueType glyph loader is now much more paranoid and checks everything when loading a given glyph image. This was necessary to avoid problems (crashes and/or memory overwrites) with broken fonts that came from a really buggy automatic font converter. II. IMPORTANT UPDATES AND NEW FEATURES - Important updates to the Mac-specific parts of the library. - The caching sub-system has been completely re-designed, and its API has evolved (the old one is still supported for backwards compatibility). The documentation for it is not yet completed, sorry. For now, you are encouraged to continue using the old API. However, the ftview demo program in the ft2demos package has already been updated to use the new caching functions. - A new charmap cache is provided too. See FTC_CMapCache(). This is useful to perform character code -> glyph index translations quickly, without the need for an opened FT_Face. - A NEW POSTSCRIPT HINTER module has been added to support native hints in the following formats: PostScript Type 1, PostScript CID, and CFF/CEF. Please test! Note that the auto-hinter produces better results for a number of badly-hinted fonts (mostly auto-generated ones) though. - A memory debugger is now part of the standard FreeType sources. To enable it, define FT_DEBUG_MEMORY in <freetype/config/ftoption.h>, and recompile the library. Additionally, define the _environment_ variable FT_DEBUG_MEMORY and run any program using FreeType. When the library is exited, a summary of memory footprints and possible leaks will be displayed. This works transparently with _any_ program that uses FreeType. However, you will need a lot of memory to use this (allocated blocks are never released to the heap to detect double deletes easily). III. MISCELLANEOUS - We are aware of subtle differences between the output of FreeType versions 1 and 2 when it comes to monochrome TrueType-hinted glyphs. These are most probably due to small differences in the monochrome rasterizers and will be worked out in an upcoming release. - We have decided to fork the sources in a "stable" branch, and an "unstable" one, since FreeType is becoming a critical component of many Unix systems. The next bug-fix releases of the library will be named 2.0.7, 2.0.8, etc., while the "2.1" branch will contain a version of the sources where we will start major reworking of the library's internals, in order to produce FreeType 2.2.0 (or even 3.0) in a more distant future. We also hope that this scheme will allow much more frequent releases than in the past.============================================================================LATEST CHANGES BETWEEN 2.0.5 and 2.0.4 NOTE THAT 2.0.5 DOES NOT CONTAIN THE POSTSCRIPT HINTER. THIS MODULE WILL BE PART OF THE NEXT RELEASE (EITHER 2.0.6 or 2.1) - Fixed a bug that made certain glyphs, like "Cacute", "cacute" and "lslash" unavailable from Unicode charmaps of Postscript fonts. This prevented the correct display of Polish text, for example. - The kerning table of Type 1 fonts was loaded by FreeType, when its AFM file was attached to its face, but the FT_FACE_FLAG_HAS_KERNING bit flags was not set correctly, preventing FT_Get_Kerning to return meaningful values. - Improved SFNT (TrueType & OpenType) charmap support. Slightly better performance, as well as support for the new formats defined by the OpenType 1.3 specification (8, 10, and 12) - Fixed a serious typo in "src/base/ftcalc.c" which caused invalid computations in certain rare cases, producing ugly artefacts. - The size of the EM square is computed with a more accurate algorithm for Postscript fonts. The old one caused slight errors with embedded fonts found in PDF documents. - Fixed a bug in the cache manager that prevented normal LRU behaviour within the cache manager, causing unnecessary reloads (for FT_Face and FT_Size objects only). - Added a new function named "FT_Get_Name_Index" to retrieve the glyph index of a given glyph name, when found in a face. - Added a new function named "FT_Get_Postscript_Name" to retrieve the "unique" Postscript font name of a given face. - Added a new public header size named FT_SIZES_H (or <freetype/ftsizes.h>) providing new FT_Size-management functions: FT_New_Size, FT_Activate_Size, FT_Done_Size. - Fixed a reallocation bug that generated a dangling pointer (and possibly memory leaks) with Postscript fonts (in src/psaux/psobjs.c). - Many fixes for 16-bit correctness. - Removed many pedantic compiler warnings from the sources. - Added an Amiga build directory in "builds/amiga".============================================================================LATEST CHANGES BETWEEN 2.0.4 and 2.0.3 - Fixed a rather annoying bug that was introduced in 2.0.3. Namely, the font transformation set through FT_Set_Transform was applied twice to auto-hinted glyphs, resulting in incorrectly rotated text output. - Fixed _many_ compiler warnings. FT2 should now compile cleanly with Visual C++'s most pedantic warning level (/W4). It already compiled fine with GCC and a few other compilers. - Fixed a bug that prevented the linear advance width of composite TrueType glyphs to be correctly returned. - Fixed the Visual C++ project files located in "builds/win32/visualc" (previous versions used older names of the library). - Many 32-bit constants have an "L" appended to their value, in order to improve the 16-bitness of the code. Someone is actually trying to use FT2 on an Atari ST machine! - Updated the "builds/detect.mk" file in order to automatically build FT2 on AIX systems. AIX uses "/usr/sbin/init" instead of "/sbin/init" and wasn't previously detected as a Unix platform by the FreeType build system. - Updated the Unix-specific portions of the build system (new libtool version, etc.). - The SFNT kerning lodaer now ensures that the table is sorted (since some problem fonts do not meet this requirement).============================================================================LATEST CHANGES BETWEEN 2.0.3 and 2.0.2 I. CHANGES TO THE MODULES / FONT DRIVERS - THE AUTO-HINTER HAS BEEN SLIGHTLY IMPROVED, in order to fix several annoying artefacts, mainly: - Blue zone alignement of horizontal stems wasn't performed correctly, resulting in artefacts like the "d" being placed one pixel below the "b" in some fonts like Time New Roman. - Overshoot thresholding wasn't performed correctly, creating unpleasant artefacts at large character pixel sizes. - Composite glyph loading has been simplified. This gets rid of various artefacts where the components of a composite glyphs were not correctly spaced. These are the last changes to the current auto-hinting module. A new hinting sub-system is currently in the work in order to support native hints in Type 1 / CFF / OpenType fonts, as well as globally improve rendering. - The PCF driver has been fixed. It reported invalid glyph dimensions for the fonts available on Solaris. - The Type 1, CID and CFF drivers have been modified to fix the computation of the EM size. - The Type 1 driver has been fixed to avoid a dangerous bug that crashed the library with non-conforming fonts (i.e. ones that do not place the .notdef glyph at position 0). - The TrueType driver had a rather subtle bug (dangling pointer when loading composite glyphs) that could crash the library in rare occasions! II. HIGH-LEVEL API CHANGES - The error code enumeration values have been changed. An error value is decomposed in a generic error code, and a module number. see <freetype/fterrors.h> for details. - A new public header file has been introduced, named FT_TRIGONOMETRY_H (include/freetype/fttrig.h), providing trigonometric functions to compute sines, cosines, arctangents, etc. with 16.16 fixed precision. The implementation is based on the CORDIC algorithm and is very fast while being sufficiently accurate. III. INTERNALS - Added BeOS-specific files in the old build sub-system. Note that no changes were required to compile the library with Jam. - The configuration is now capable of automatically detecting 64-bit integers on a set of predefined compilers (GCC, Visual C++, Borland C++) and will use them by default. This provides a small performance boost. - A small memory leak that happened when opening 0-sized files (duh!) have been fixed. - Fixed bezier stack depth bug in the routines provided by the FT_BBOX_H header file. Also fixed similar bugs in the rasterizers. - The outline bounding box code has been rewritten to use direct computations, instead of bezier sub-division, to compute the exact bounding box of glyphs. This is slightly slower but more accurate. - The build system has been improved and fixed, mainly to support "make" on Windows 2000 correctly, avoid problems with "make distclean" on non Unix systems, etc. - Hexadecimal constants have been suffixed with "U" to avoid problems with certain compilers on 64-bit platforms. - A new directory named "src/tools" has been created. It contains Python scripts and simple unit test programs used to develop the library. - The DocMaker tool has been moved from "docs" to "src/tools" and has been updated with the following: - Now accepts the "--title=XXXX" or "-t XXXX" option from the command line to set the project's name in the generated API reference. - Now accepts the "--output=DIR" or "-o DIR" option from the command line to set the output directory for all generated HTML files.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -