📄 changes
字号:
- Now accepts the "--prefix=XXXX" or "-p XXX" option from the command line to set the file prefix to use for all generated HTML files. - Now generates the current time/data on each generated page in order to distinguish between versions. DocMaker can be used with other projects now, not only FT2 (e.g. MLib, FTLayout, etc.).===========================================================================LATEST CHANGES BETWEEN 2.0.2 and 2.0.1 I. CHANGES TO THE MODULES / FONT DRIVERS - THE TRUETYPE BYTECODE INTERPRETER IS NOW TURNED OFF, in order to avoid legal problems with the Apple patents. It seems that we mistakenly turned this option on in previous releases of the build. Note that if you want to use the bytecode interpreter in order to get high-quality TrueType rendering, you will need to toggle by hand the definition of the TT_CONFIG_OPTION_BYTECODE_INTERPRETER macro in the file "include/freetype/config/ftoption.h". - The CFF driver has been improved by Tom Kacvinsky and Sander van der Wal: * Support for "seac" emulation. * Support for "dotsection". * Support for retrieving glyph names through "FT_Get_Glyph_Name". The first two items are necessary to correctly a large number of Type 1 fonts converted to the CFF formats by Adobe Acrobat. - The Type 1 driver was also improved by Tom & others: * Better EM size computation. * Better support for synthetic (transformed) fonts. * The Type 1 driver returns the charstrings corresponding to each glyph in the "glyph->control_data" field after a call to "FT_Load_Glyph" (thanks Ha Shao). - Various other bugfixes, including the following: * Fixed a nasty memory leak in the Type 1 driver. * The autohinter and the pcf driver used static writable data when they shouldn't. * Many casts were added to make the code more 64-bits safe. It also now compiles on Windows XP 64-bits without warnings. * Some incorrect writable statics were removed in the "autohint" and "pcf" drivers. FreeType 2 now compiles on Epoc again. II. CHANGES TO THE HIGH-LEVEL API - The library header files inclusion scheme has been changed. The old scheme looked like: #include <freetype/freetype.h> #include <freetype/ftglyph.h> #include <freetype/ftcache.h> #include <freetype/cache/ftimage.h> Now you should use: #include <ft2build.h> #include FT_FREETYPE_H #include FT_GLYPH_H #include FT_CACHE_H #include FT_CACHE_IMAGE_H NOTE THAT THE OLD INCLUSION SCHEME WILL STILL WORK WITH THIS RELEASE. HOWEVER, WE DO NOT GUARANTEE THAT THIS WILL STILL BE TRUE IN THE NEXT ONE (A.K.A. FREETYPE 2.1). The file <ft2build.h> is used to define the header filename macros. The complete and commented list of macros is available in the API reference under the section name "Header File Macros" in Chapter I. For more information, see section I of the following document: http://www.freetype.org/ freetype2/docs/tutorial/step1.html or http://freetype.sourceforge.net/ freetype2/docs/tutorial/step1.html - Many, many comments have been added to the public source file in order to automatically generate the API Reference through the "docmaker.py" Python script. The latter has been updated to support the grouping of sections in chapters and better index sort. See: http://www.freetype.org/freetype2/docs/reference/ft2-toc.html III. CHANGES TO THE BUILD PROCESS - If you are not building FreeType 2 with its own build system (but with your own Makefiles or project files), you will need to be aware that the build process has changed a little bit. You don't need to put the "src" directory in the include path when compiling any FT2 component. Instead, simply put the component's directory in the current include path. So, if you were doing something like: cc -c -Iinclude -Isrc src/base/ftbase.c change the line to: cc -c -Iinclude -Isrc/base src/base/ftbase.c If you were doing something like: cd src/base cc -c -I../../include -I.. ftbase.c change it to: cd src/base cc -c -I../../include ftbase.c======================================================================LATEST CHANGES BETWEEN 2.0.1 and 2.0 2.0.1 introduces a few changes: - Fixed many bugs related to the support of CFF / OpenType fonts. These formats are now much better supported though there is still work planned to deal with charset tables and PDF-embedded CFF files that use the old "seac" command. - The library could not be compiled in debug mode with a very small number of C compilers whose pre-processors didn't implement the "##" directive correctly (i.e. per se the ANSI C specification!) An elegant fix was found. - Added support for the free Borland command-line C++ Builder compiler. Use "make setup bcc32". Also fixed a few source lines that generated new warnings with BCC32. - Fixed a bug in FT_Outline_Get_BBox when computing the extrema of a conic Bezier arc. - Updated the INSTALL file to add IDE compilation. - Other minor bug fixes, from invalid Type 1 style flags to correct support of synthetic (obliqued) fonts in the auto-hinter, better support for embedded bitmaps in a SFNT font. - Fixed some problems with "freetype-config". Finally, the "standard" scheme for including FreeType headers is now gradually changing, but this will be explained in a later release (probably 2.0.2). And very special thanks to Tom Kacvinsky and YAMANO-UCHI Hidetoshi for their contributions!======================================================================CHANGES BETWEEN beta8 and 2.0 - Changed the default installation path for public headers from "include/freetype" to "include/freetype2". Also added a new "freetype-config" that is automatically generated and installed on Unix and Cygwin systems. The script itself is used to retrieve the current install path, C compilation flags as well as linker flags. - Fixed several small bugs: * Incorrect max advance width for fixed-pitch Type 1 fonts. * Incorrect glyph names for certain TrueType fonts. * The glyph advance was not copied when FT_Glyph_To_Bitmap was called. * The linearHoriAdvance and linerVertAdvance fields were not correctly returned for glyphs processed by the auto-hinter. * "type1z" renamed back to "type1"; the old "type1" module has been removed. - Revamped the build system to make it a lot more generic. This will allow us to re-use nearly un-modified in lots of other projects (including FreeType Layout). - Changed "cid" to use "psaux" too. - Added the cache sub-system. See <freetype/ftcache.h> as well as the sources in "src/cache". Note that it compiles but is still untested for now. - Updated "docs/docmaker.py", a draft API reference is available at http://www.freetype.org/ft2api.html. - Changed "type1" to use "psaux". - Created a new module named "psaux" to hold the Type 1 & Type 2 parsing routines. It should be used by "type1", "cid", and "cff" in the future. - Fixed an important bug in "FT_Glyph_Get_CBox". - Fixed some compiler warnings that happened since the TrueType bytecode decoder was deactivated by default. - Fixed two memory leaks: * The memory manager (16 bytes) isn't released in FT_Done_FreeType! * Using custom input streams, the copy of the original stream was never released. - Fixed the auto-hinter by performing automatic computation of the "filling direction" of each glyph. This is done through a simple and fast approximation, and seems to work (problems spotted by Werner though). The Arphic fonts are a lot nicer though there are still a lot of things to do to handle Asian fonts correctly.======================================================================BETA-8 (RELEASE CANDIDATE) CHANGES - Deactivated the TrueType bytecode interpreter by default. - Deactivated the "src/type1" font driver. Now "src/type1z" is used by default. - Updates to the build system. We now compile the library correctly under Unix system through "configure" which is automatically called on the first "make" invocation. - Added the auto-hinting module! Fixing some bugs here and there. - Found some bugs in the composite loader (seac) of the Type1-based font drivers. - Renamed the directory "freetype2/config" to "freetype2/builds" and updated all relevant files. - Found a memory leak in the "type1" driver. - Incorporated Tom's patches to support flex operators correctly in OpenType/CFF fonts. Now all I need is to support pure CFF and CEF fonts to be done with this driver :-) - Added the Windows FNT/FON driver in "src/winfonts". For now, it always "simulates" a Unicode charmap, so it shouldn't be considered completed right now. It is there to be more a proof of concept than anything else anyway. The driver is a single C source file, that compiles to 3 Kb of code. I'm still working on the PCF/BDF drivers, but I'm too lazy to finish them now. - CHANGES TO THE HIGH-LEVEL API * FT_Get_Kerning has a new parameter that allows you to select the coordinates of the kerning vector (font units, scaled, scaled + grid-fitted). * The outline functions are now in <freetype/ftoutln.h> and not part of <freetype/freetype.h> anymore. * <freetype/ftmodule.h> now contains declarations for FT_New_Library, FT_Done_Library, FT_Add_Default_Modules. * The so-called convenience functions have moved from "ftoutln.c" to "ftglyph.c", and are thus available with this optional component of the library. They are declared in <freetype/ftglyph.h> now. * Anti-aliased rendering is now the default for FT_Render_Glyph (i.e. corresponds to render_mode == 0 == ft_render_mode_normal). To generate a monochrome bitmap, use ft_render_mode_mono, or the FT_LOAD_MONOCHROME flag in FT_Load_Glyph/FT_Load_Char. FT_LOAD_ANTI_ALIAS is still defined, but values to 0. * <freetype/freetype.h> now include <freetype/config/ftconfig.h>, solving a few headaches :-) * The type FT_GlyphSlotRec has now a "library" field. - CHANGES TO THE "ftglyph.h" API This API has been severely modified in order to make it simpler, clearer, and more efficient. It certainly now looks like a real "glyph factory" object, and allows client applications to manage (i.e. transform, bbox and render) glyph images without ever knowing their original format. - Added support for CID-keyed fonts to the CFF driver. Maybe support for pure CFF + CEF fonts should come in? - Cleaned up source code in order to avoid two functions with the same name. Also changed the names of the files in "type1z" from "t1XXXX" to "z1XXXX" in order to avoid any conflicts. "make multi" now works well :-) Also removed the use of "cidafm" for now, even if the source files are still there. This functionality will certainly go into a specific module. - ADDED SUPPORT FOR THE AUTO-HINTER It works :-) I have a demo program which simply is a copy of "ftview" that does a `FT_Add_Module(library, &autohinter_module_class)' after library initialization, and Type 1 & OpenType/CFF fonts are now hinted. CID fonts are not hinted, as they include no charmap and the auto-hinter doesn't include "generic" global metrics computations yet. Now, I need to release this thing to the FreeType 2 source. - CHANGES TO THE RENDERER MODULES The monochrome and smooth renderers are now in two distinct directories, namely "src/raster1" and "src/smooth". Note that the old "src/renderer" is now gone. I ditched the 5-gray-levels renderers. Basically, it involved a simple #define toggle in 'src/raster1/ftraster.c'. FT_Render_Glyph, FT_Outline_Render & FT_Outline_Get_Bitmap now select the best renderer available, depending on render mode. If the current renderer for a given glyph image format isn't capable of supporting the render mode, another one will be found in the library's list. This means that client applications do not need to switch or set the renderers themselves (as in the latest change), they'll get what they want automatically. At last. Changed the demo programs accordingly. - MAJOR INTERNAL REDESIGN: A lot of internal modifications have been performed lately on the source in order to provide the following enhancements: * More generic module support: The FT_Module type is now defined to represent a handle to a given module. The file <freetype/ftmodule.h> contains the FT_Module_Class definition, as well as the module-loading public API. The FT_Driver type is still defined, and still represents a pointer to a font driver. Note that FT_Add_Driver is replaced by FT_Add_Module, FT_Get_Driver by FT_Get_Module, etc. * Support for generic glyph image types: The FT_Renderer type is a pointer to a module used to perform various operations on glyph image. Each renderer is capable of handling images in a single format (e.g. ft_glyph_format_outline). Its functions are used to: - transform an glyph image - render a glyph image into a bitmap - return the control box (dimensions) of a given glyph image The scan converters "ftraster.c" and "ftgrays.c" have been moved to the new directory "src/renderer", and are used to provide two default renderer modules. One corresponds to the "standard" scan-converter, the other to the "smooth" one. he current renderer can be set through the new function FT_Set_Renderer. The old raster-related function FT_Set_Raster, FT_Get_Raster and FT_Set_Raster_Mode have now disappeared, in favor of the new: FT_Get_Renderer FT_Set_Renderer See the file <freetype/ftrender.h> for more details.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -