?? changes
字號:
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" to use it. 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's 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 o FT_Get_Kerning has a new parameter that allows you to select the coordinates of the kerning vector ( font units, scaled, scaled + grid-fitted ). o the outline functions are now in <freetype/ftoutln.h> and not part of <freetype/freetype.h> anymore o <freetype/ftmodule.h> now contains declarations for FT_New_Library, FT_Done_Library, FT_Add_Default_Modules o 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.. o 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. o <freetype/freetype.h> now include <freetype/config/ftconfig.h>, solving a few headaches :-) o 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 initialisation, 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. The 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.. These changes were necessary to properly support different scalable formats in the future, like bi-color glyphs, etc.. - glyph loader object: A new internal object, called a 'glyph loader' has been introduced in the base layer. It is used by all scalable format font drivers to load glyphs and composites. This object has been created to reduce the code size of each driver, as each one of them basically re-implemented its functionality. See <freetype/internal/ftobjs.h> and the FT_GlyphLoader type for more information.. - FT_GlyphSlot had new fields: In order to support extended features (see below), the FT_GlyphSlot structure has a few new fields: linearHoriAdvance: this field gives the linearly scaled (i.e. scaled but unhinted) advance width for the glyph, expressed as a 16.16 fixed pixel value. This is useful to perform WYSIWYG text. linearVertAdvance: this field gives the linearly scaled advance height for the glyph (relevant in vertical glyph layouts only). This is useful to perform WYSIWYG text. Note that the two above field replace the removed "metrics2" field in the glyph slot. advance: this field is a vector that gives the transformed advance for the glyph. By default, it corresponds to the advance width, unless FT_LOAD_VERTICAL_LAYOUT was specified when calling FT_Load_Glyph or FT_Load_Char bitmap_left: this field gives the distance in integer pixels from the current pen position to the left-most pixel of a glyph image WHEN IT IS A BITMAP. It is only valid when the "format" field is set to "ft_glyph_format_bitmap", for example, after calling the new function FT_Render_Glyph. bitmap_top: this field gives the distance in integer pixels from the current pen position (located on the baseline) to the top-most pixel of the glyph image WHEN IT IS A BITMAP. Positive values correspond to upwards Y. loader: this is a new private field for the glyph slot. Client applications should not touch it.. - support for transforms and direct rendering in FT_Load_Glyph: Most of the functionality found in <freetype/ftglyph.h> has been moved to the core library. Hence, the following:
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -