📄 changes
字号:
with `FT_Get_WinFNT_Header' to get the WinFNT charset ID. - The descender metrics (face->size->metrics.descender) for WinFNT bitmap fonts had the wrong sign. - The (emulated) `seac' support for CFF fonts was broken. - The `flex' operator didn't work for CFF fonts. - PS glyphs which use the `hintmask' operator haven't been rendered correctly in some cases. - Metrics for BDF and PCF bitmap font formats have been fixed. - Autohinting is now disabled for glyphs which are vertically distorted or mirrored (using a transformation matrix). This fixes a bug which produced zero-height glyphs. - The `freetype-config' script now handles --prefix and --exec-prefix correctly; it also returns the proper --rpath (or -R) value if FreeType has been built as a shared library. II. IMPORTANT CHANGES - Both PCF and BDF drivers now handle the SETWIDTH_NAME and ADD_STYLE_NAME properties. Values are appended to face->style_name; example: `Bold SemiCondensed'. - The PCF driver now handles bitmap fonts compressed with the LZW algorithm (extension .pcf.Z, compressed with `compress'). - A new API function `FT_Get_CMap_Language_ID' (declared in `tttables.h') is available to get the language ID of a TrueType/SFNT cmap. - The hexadecimal format of data after the `StartData' command in CID-keyed Type 1 fonts is now supported. While this can't occur in file-based fonts, it can happen in document-embedded resources of PostScript documents. - Embedded bitmaps in SFNT-based CFF fonts are now supported. - A simple API is now available to control FreeType's tracing mechanism if compiled with FT_DEBUG_LEVEL_TRACE. See the file `ftdebug.h' for more details. - YAMATO Masatake contributed improved handling of MacOS resource forks on non-MacOS platforms (for example, Linux can mount MacOS file systems). - Support for MacOS has been improved; there is now a new function `FT_New_Face_From_FSSpec' similar to `FT_New_Face' except that it accepts an FSSpec instead of a path. - The cache sub-system has been rewritten. - There is now support for deinstallation of faces. - A new API function `FTC_Manager_RemoveFaceID' has been added to delete all `idle' nodes that correspond to a given FTC_FaceID. All `locked' nodes (i.e., those with a reference count > 0), will be modified to prevent them from appearing in further lookups (they will be cleaned normally when their reference count reaches 0). - There is now support for point scaling (i.e., providing character sizes in points + dpis, instead of pixels). - Three abstract cache classes are now available: FTC_GCache: Used to store one glyph item per cache node, with the ability to group common attributes into `families'. This replaces the old FTC_GlyphCache class. FTC_ICache: Used to store one FT_Glyph per cache node. This extends FTC_GCache. Family definition, family comparison, and glyph loading are however left to sub-classes. FTC_SCache: Used to store up to 16 small bitmaps per cache node. This extends FTC_GCache. Family definition, family comparison and glyph loading are however left to sub-classes. - The file `src/cache/ftcbasic.c' implements: FTC_ImageCache: Extends FTC_ICache; implements family definitions and glyph loading similar to the old API. FTC_SBitCache: Extends FTC_SCache, implements family definitions and glyph loading similar to the old API Client applications should be able to extend FTC_GCache, FTC_ICache, or FTC_SCache much more easily (i.e., less code to write, and less callbacks). For example, one could envision caches that are capable of storing transformed (obliqued), stroked, emboldened, or colored glyph images. Use `ftcbasic.c' as an example. - All public APIs are now in `include/freetype/ftcache.h', (to be accessed as `FT_CACHE_H'). The contents of `include/freetype/cache/' is only needed by applications that wish to implement their own caches. - There were some major performance improvements through the use of various programming tricks. Cache hits are up to 70% faster than in the old code. - The FTC_CMapCache has been simplified. Charmaps can only be accessed by index right now. There is also a new API named `FT_Charmap_GetIndex' for this purpose. - The demo programs have been updated to the new code. The previous versions will not work with the current one. - Using an invalid face index in FT_Open_Face and friends now causes an error even if the font contains a single face only. III. MISCELLANEOUS - Wolfgang Domröse contributed support files for building FreeType on the Atari using the PureC compiler. Note that the Atari is a 16bit platform. - Vitaliy Pasternak contributed project files for VS.NET 2003.======================================================================CHANGES BETWEEN 2.1.7 and 2.1.6 I. IMPORTANT BUG FIXES - Updated to newest libtool version, fixing build problems on various platforms. - On Unix platforms, `make install' didn't copy the correct `ftconfig.h' file. Note that version 2.1.7 contains the same library C source code as version 2.1.6.======================================================================CHANGES BETWEEN 2.1.6 and 2.1.5 I. IMPORTANT BUG FIXES - The PFR font driver didn't load kerning tables correctly, and the functions in FT_PFR_H didn't work at all. - Type 1 font files in binary format (PFB) with an end-of-file indicator weren't accepted by the FreeType engine. - Fonts which contain /PaintType and /StrokeWidth no longer cause a segfault. This bug has been introduced in version 2.1.5. - Fonts loaded with FT_LOAD_RENDER no longer cause strange results. This bug has been introduced in version 2.1.5. - Some Windows (bitmap) FNT/FON files couldn't be handled correctly. II. IMPORTANT CHANGES - The internal module API has been heavily changed in favor of massive simplifications within the font engine. This also means that authors of third-party modules must adapt their code to the new scheme. NOTE: THE NEW SCHEME IS NOT COMPLETED YET. PLEASE WAIT UNTIL A FINAL ANNOUNCEMENT! - The PostScript parser has been enhanced to handle comments and strings correctly. Additionally, more syntax forms are recognized. - Added the optional unpatented hinting system for TrueType. It allows typefaces which need hinting to produce correct glyph forms (e.g., Chinese typefaces from Dynalab) to work acceptably without infringing Apple patents. This system is compiled only if TT_CONFIG_OPTION_COMPILE_UNPATENTED_HINTING is defined in ftoption.h (activated by default). III. MISCELLANEOUS - There is now a guard in the public header files to protect against inclusion of freetype.h from FreeType 1. - Direct inclusion of freetype.h and other public header files no longer works. You have to use the documented scheme #include <ft2build.h> #include FT_FREETYPE_H to load freetype.h with a symbolic name. This protects against renaming of public header files (which shouldn't happen but actually has, avoiding two public header files with the same name).======================================================================CHANGES BETWEEN 2.1.5 and 2.1.4 I. IMPORTANT BUG FIXES - Parsing the /CIDFontName field now removes the leading slash to be in sync with other font drivers. - gzip support was buggy. Some fonts could not be read. - Fonts which have nested subglyphs more than one level deep no longer cause a segfault. - Creation of synthetic cmaps for fonts in CFF format was broken partially. - Numeric font dictionary entries for synthetic fonts are no longer overwritten. - The font matrix wasn't applied to the advance width for Type1, CID, and CFF fonts. This caused problems when loading certain synthetic Type 1 fonts like `Helvetica Narrow'. - The test for the charset registry in BDF and PCF fonts is now case-insensitive. - FT_Vector_Rotate sometimes returned strange values due to rounding errors. - The PCF driver now returns the correct number of glyphs (including an artificial `notdef' glyph at index 0). - FreeType now supports buggy CMaps which are contained in many CJK fonts from Dynalab. - Opening an invalid font on a Mac caused a segfault due to double-freeing memory. - BDF fonts with more than 32768 glyphs weren't supported properly. II. IMPORTANT CHANGES - Accessing bitmap font formats has been synchronized. To do that the FT_Bitmap_Size structure has been extended to contain new fields `size', `x_ppem', and `y_ppem'. - The FNT driver now returns multiple faces, not multiple strikes. - The `psnames' module has been updated to the Adobe Glyph List version 2.0. - The `psnames' module now understands `uXXXX[X[X]]' glyph names. - The algorithm for guessing the font style has been improved. - For fonts in SFNT format, root->height is no longer increased if the line gap is zero. There exist fonts (containing e.g. form drawing characters) which intentionally have a zero line gap value. - ft_glyph_bbox_xxx flags are now deprecated in favour of FT_GLYPH_BBOX_XXX. - ft_module_xxx flags are now deprecated in favour of FT_MODULE_XXX. - FT_ENCODING_MS_{SJIS,GB2312,BIG5,WANSUNG,JOHAB} are now deprecated in favour of FT_ENCODING_{SJIS,GB2312,GIB5,WANSONG,JOHAB} -- those encodings are not specific to Microsoft. III. MISCELLANEOUS - The autohinter has been further improved; for example, `m' glyphs now retain its vertical symmetry. - Partial support of Mac fonts on non-Mac platforms. - `make refdoc' (after first `make') builds the HTML documentation. You need Python for this. - The make build system should now work more reliably on DOS-like platforms. - Support for EMX gcc and Watson C/C++ compilers on MS-DOS has been added. - Better VMS build support. - Support for the pkg-config package by providing a `freetype.pc' file. - New configure option --with-old-mac-fonts for Darwin. - Some source files have been renamed (mainly to fit into the 8.3 naming scheme).======================================================================CHANGES BETWEEN 2.1.4 and 2.1.3 I. IMPORTANT BUG FIXES - Updated to newest libtool version, fixing build problems on various platforms. - A fix in the Gzip stream reader: It couldn't read certain .gz files properly due to a small typo. In certain cases, FreeType could also loop endlessly when trying to load tiny gzipped files. - The configure script now tries to use the system-wide zlib when it finds one (instead of the copy found in src/gzip). And `freetype-config' has been updated to return relevant flags in this case when invoked with `--libs' (e.g. `-lzlib'). - Certain fonts couldn't be loaded by 2.1.3 because they lacked a Unicode charmap (e.g. SYMBOL.TTF). FreeType erroneously rejected them.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -