?? changes
字號:
- a transform can be specified for a face through FT_Set_Transform. this transform is applied by FT_Load_Glyph to scalable glyph images (i.e. NOT TO BITMAPS) before the function returns, unless the bit flag FT_LOAD_IGNORE_TRANSFORM was set in the load flags.. - once a glyph image has been loaded, it can be directly converted to a bitmap by using the new FT_Render_Glyph function. Note that this function takes the glyph image from the glyph slot, and converts it to a bitmap whose properties are returned in "face.glyph.bitmap", "face.glyph.bitmap_left" and "face.glyph.bitmap_top". The original native image might be lost after the conversion. - when using the new bit flag FT_LOAD_RENDER, the FT_Load_Glyph and FT_Load_Char functions will call FT_Render_Glyph automatically when needed. - reformated all modules source code in order to get rid of the basic data types redifinitions (i.e. "TT_Int" instead of "FT_Int", "T1_Fixed" instead of "FT_Fixed"). Hence the format-specific prefixes like "TT_", "T1_", "T2_" and "CID_" are only used for relevant structures..============================================================================OLD CHANGES FOR BETA 7 - bug-fixed the OpenType/CFF parser. It now loads and displays my two fonts nicely, but I'm pretty certain that more testing is needed :-) - fixed the crummy Type 1 hinter, it now handles accented characters correctly (well, the accent is not always well placed, but that's another problem..) - added the CID-keyed Type 1 driver in "src/cid". Works pretty well for only 13 Kb of code ;-) Doesn't read AFM files though, nor the really useful CMAP files.. - fixed two bugs in the smooth renderer (src/base/ftgrays.c). Thanks to Boris Letocha for spotting them and providing a fix.. - fixed potential "divide by zero" bugs in ftcalc.c.. my god.. - added source code for the OpenType/CFF driver (still incomplete though..) - modified the SFNT driver slightly to perform more robust header checks in TT_Load_SFNT_Header. This prevents certain font files (e.g. some Type 1 Multiple Masters) from being incorrectly "recognized" as TrueType font files.. - moved a lot of stuff from the TrueType driver to the SFNT module, this allows greater code re-use between font drivers (e.g. TrueType, OpenType, Compact-TrueType, etc..) - added a tiny segment cache to the SFNT Charmap 4 decoder, in order to minimally speed it up.. - added support for Multiple Master fonts in "type1z". There is also a new file named <freetype/ftmm.h> which defines functions to manage them from client applications. The new file "src/base/ftmm.c" is also optional to the engine.. - various formatting changes (e.g. EXPORT_DEF -> FT_EXPORT_DEF) + small bug fixes in FT_Load_Glyph, the "type1" driver, etc.. - a minor fix to the Type 1 driver to let them apply the font matrix correctly (used for many oblique fonts..) - some fixes for 64-bit systems (mainly changing some FT_TRACE calls to use %p instead of %lx).. Thanks to Karl Robillard - fixed some bugs in the sbit loader (src/base/sfnt/ttsbit.c) + added a new flag, FT_LOAD_CROP_BITMAP to query that bitmaps be cropped when loaded from a file (maybe I should move the bitmap cropper to the base layer ??). - changed the default number of gray levels of the smooth renderer to 256 (instead of the previous 128). Of course, the human eye can't see any difference ;-) - removed TT_MAX_SUBGLYPHS, there is no static limit on the number of subglyphs in a TrueType font now..=============================================================================OLD CHANGES 16 May 2000 - tagged "BETA-6" in the CVS tree. This one is a serious release candidate even though it doesn't incorporate the auto-hinter yet.. - various obsolete files were removed, and copyright header updated - finally updated the standard raster to fix the monochrome rendering bug + re-enable support for 5-gray levels anti-aliasing (suck, suck..) - created new header files, and modified sources accordingly: <freetype/fttypes.h> - simple FreeType types, without the API <freetype/internal/ftmemory.h> - definition of memory-management macros - added the "DSIG" (OpenType Digital Signature) tag to <freetype/tttags.h> - light update/cleaning of the build system + changes to the sources in order to get rid of _all_ compiler warnings with three compilers, i.e: gcc with "-ansi -pedantic -Wall -W", Visual C++ with "/W3 /WX" and LCC IMPORTANT NOTE FOR WIN32-LCC USERS: | | It seems the C pre-processor that comes with LCC is broken, it | doesn't recognize the ANSI standard directives # and ## correctly | when one of the argument is a macro. Also, something like: | | #define F(x) print##x | | F(("hello")) | | will get incorrectly translated to: | | print "hello") | | by its pre-processor. For this reason, you simply cannot build | FreeType 2 in debug mode with this compiler.. - yet another massive grunt work. I've changed the definition of the EXPORT_DEF, EXPORT_FUNC, BASE_DEF & BASE_FUNC macros. These now take an argument, which is the function's return value type. This is necessary to compile FreeType as a DLL on Windows and OS/2. Depending on the compiler used, a compiler-specific keyword like __export or __system must be placed before (VisualC++) or after (BorlandC++) the type.. Of course, this needed a lot of changes throughout the source code to make it compile again... All cleaned up now, apparently.. Note also that there is a new EXPORT_VAR macro defined to allow the _declaration_ of an exportable public (constant) variable. This is the case of the raster interfaces (see ftraster.h and ftgrays.h), as well as each module's interface (see sfdriver.h, psdriver.h, etc..) - new feature: it is now possible to pass extra parameters to font drivers when creating a new face object. For now, this capability is unused. It could however prove to be useful in a near future.. the FT_Open_Args structure was changes, as well as the internal driver interface (the specific "init_face" module function has now a different signature). - updated the tutorial (not finished though). - updated the top-level BUILD document - fixed a potential memory leak that could occur when loading embedded bitmaps. - added the declaration of FT_New_Memory_Face in <freetype/freetype.h>, as it was missing from the public header (the implementation was already in "ftobjs.c"). - the file <freetype/fterrors.h> has been seriously updated in order to allow the automatic generation of error message tables. See the comments within it for more information. - major directory hierarchy re-organisation. This was done for two things: * first, to ease the "manual" compilation of the library by requiring at lot less include paths :-) * second, to allow external programs to effectively access internal data fields. For example, this can be extremely useful if someone wants to write a font producer or a font manager on top of FreeType. Basically, you should now use the 'freetype/' prefix for header inclusion, as in: #include <freetype/freetype.h> #include <freetype/ftglyph.h> Some new include sub-directories are available: a. the "freetype/config" directory, contains two files used to configure the build of the library. Client applications should not need to look at these normally, but they can if they want. #include <freetype/config/ftoption.h> #include <freetype/config/ftconfig.h> b. the "freetype/internal" directory, contains header files that describes library internals. These are the header files that were previously found in the "src/base" and "src/shared" directories. As usual, the build system and the demos have been updated to reflect the change.. Here's a layout of the new directory hierarchy: TOP include/ freetype/ freetype.h ... config/ ftoption.h ftconfig.h ftmodule.h internal/ ftobjs.h ftstream.h ftcalc.h ... src/ base/ ... sfnt/ psnames/ truetype/ type1/ type1z/ Compiling a module is now much easier, for example, the following should work when in the TOP directory on an ANSI build: gcc -c -I./include -I./src/base src/base/ftbase.c gcc -c -I./include -I./src/sfnt src/sfnt/sfnt.c etc.. (of course, using -Iconfig/<system> if you provide system-specific configuration files). - updated the structure of FT_Outline_Funcs in order to allow direct coordinate scaling within the outline decomposition routine (this is important for virtual "on" points with TrueType outlines) + updates to the rasters to support this.. - updated the OS/2 table loading code in "src/sfnt/ttload.c" in order to support version 2 of the table (see OpenType 1.2 spec) - created "include/tttables.h" and "include/t1tables.h" to allow client applications to access some of the SFNT and T1 tables of a face with a procedural interface (see FT_Get_Sfnt_Table()) + updates to internal source files to reflect the change.. - some cleanups in the source code to get rid of warnings when compiling with the "-Wall -W -ansi -pedantic" options in gcc. - debugged and moved the smooth renderer to "src/base/ftgrays.c" and its header to "include/ftgrays.h" - updated TT_MAX_SUBGLYPHS to 96 as some CJK fonts have composites with up to 80 sub-glyphs !! Thanks to Werner================================================================================OLD CHANGES - 14-apr-2000 - fixed a bug in the TrueType glyph loader that prevented the correct loading of some CJK glyphs in mingli.ttf - improved the standard Type 1 hinter in "src/type1" - fixed two bugs in the experimental Type 1 driver in "src/type1z" to handle the new XFree86 4.0 fonts (and a few other ones..) - the smooth renderer is now complete and supports sub-banding to render large glyphs at high speed. However, it is still located in "demos/src/ftgrays.c" and should move to the library itself in the next beta.. NOTE: The smooth renderer doesn't compile in stand-alone mode anymore, but this should be fixed RSN.. - introduced convenience functions to more easily deal with glyph images, see "include/ftglyph.h" for more details, as well as the new demo program named "demos/src/ftstring.c" that demonstrates its use - implemented FT_LOAD_NO_RECURSE in both the TrueType and Type 1 drivers (this is required by the auto-hinter to improve its results). - changed the raster interface, in order to allow client applications to provide their own span-drawing callbacks. However, only the smooth renderer supports this. See "FT_Raster_Params" in the file "include/ftimage.h" - fixed a small bug in FT_MulFix that caused incorrect transform computation !! - Note: The tutorial is out-of-date, grumpf.. :-(================================================================================OLD CHANGES - 12-mar-2000 - changed the layout of configuration files : now, all ANSI configuration files are located in "freetype2/config". System-specific over-rides can be placed in "freetype2/config/<system>". - moved all configuration macros to "config/ftoption.h" - improvements in the Type 1 driver with AFM support - changed the fields in the FT_Outline structure : the old "flags" array is re-named "tags", while all ancient flags are encoded into a single unsigned int named "flags". - introduced new flags in FT_Outline.flags (see ft_outline_.... enums in "ftimage.h"). - changed outline functions to "FT_Outline_<action>" syntax - added a smooth anti-alias renderer to the demonstration programs - added Mac graphics driver (thanks Just) - FT_Open_Face changed in order to received a pointer to a FT_Open_Args descriptor.. - various cleanups, a few more API functions implemented (see FT_Attach_File) - updated some docs================================================================================OLD CHANGES - 22-feb-2000 - introduced the "psnames" module. It is used to: o convert a Postscript glyph name into the equivalent Unicode character code (used by the Type 1 driver(s) to synthetize on the fly a Unicode charmap).
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -