diff options
Diffstat (limited to 'Build/source/libs/freetype/freetype-1.5/docs/changes.txt')
-rw-r--r-- | Build/source/libs/freetype/freetype-1.5/docs/changes.txt | 1031 |
1 files changed, 0 insertions, 1031 deletions
diff --git a/Build/source/libs/freetype/freetype-1.5/docs/changes.txt b/Build/source/libs/freetype/freetype-1.5/docs/changes.txt deleted file mode 100644 index e76cf6fce66..00000000000 --- a/Build/source/libs/freetype/freetype-1.5/docs/changes.txt +++ /dev/null @@ -1,1031 +0,0 @@ -Changes between FreeType version 1.3.1 and version 1.5 -====================================================== -** -** WARNING: Because of the Apple patents problem, the TrueType -** bytecode interpreter is now turned *OFF* by default. Edit -** ft_conf.h if you want to (and can) use grid-fitting. -** - -Note: Version 1.4 has never been released officially. - - -Documentation -------------- - - apiref.txt has been again revised. - - - apirefx.txt has been extended to document the GPOS interface. - - - TODO has been dropped (since we consider there will be no - further development). - - -API functions -------------- - - TT_Char_Index() now uses TT_ULong for character codes. It now - supports cmap tables in format 8 and 12. - - - New error code (TT_Err_Too_Many_FDefs) when a font defines too - many functions. - - -Architectures -------------- - - Support files for BeOS have been contributed by Chris Herborth - <cherborth@vdelta.com>. - - - The EXPORT_DEF/EXPORT_FUNC/etc. stuff has been replaced with a - more elaborate scheme (coming from the Freetype 2 experience) - that allows more complex cases of interface to be handled. See - ttconfig.h for details. - - - Cleaning up of the ft_conf.h files to remove obsolete stuff. - - -Extensions ----------- -** -** Full support for the GPOS table has been implemented. As usual, -** the documentation is available in apirefx.txt, and ftstrtto -** demonstrates how to use it. -** - - TT_GSUB_Add_String() has two additional parameters needed for - GPOS support. - - - TT_CharMap_Next() of the ftxcmap extension now uses `TT_ULong' - as the second parameter. - - - A long-lived bug in ftxpost.c (with 2.0 format, when the - additional names were out of order, the names were incorrectly - assigned) has been extermined. Thanks to Jean-Christophe Dubacq - <Jean-Christophe.Dubacq@lri.fr>. - - -Test programs -------------- - - ftstrtto now uses `S' instead of `G' to toggle activation of - GSUB. `P' will toggle GPOS activation (this is new). UTF-8 - values greater than U+FFFF are supported. - - - ftdump will dump some information about the GPOS table also. - - - ftstrpnm now supports coloured text. - - -Miscellaneous -------------- -** -** You can now at your option use either the FreeType license -** (usable in commercial products) or the GPL license (usable with -** other free software, but this requires any further development -** to be released to the public). -** - - The library has been updated to use libtool 1.3.4. - - - Fixed a mutex bug in the ttraster module. - - - The FreeType license has been reworded to improve legibility - (thanks to Ruthanna Wilson <ruthanna@us.ibm.com>). - - - Fixed a property bug in the arabic module. - - - Various small fixes to reduce compiler warnings. - - - Fixed the thread-safe build. The following files didn't compile - properly when TT_CONFIG_OPTION_THREAD_SAFE is defined: - - lib/arch/unix/ttmmap.c - lib/extend/ftxsbit.c - lib/extend/ftxgpos.c - lib/extend/ftxgdef.c - lib/extend/ftxgsub.c - - - More tests to prevent division by zero. - - - <ttnameid.h> has been updated. - - - OS/2 table version 2 is now recognized. - - -Contributed programs --------------------- - - ttf2bdf: - Changed bitmap generation for outline glyphs to Flow_Down. - - - Added support for strikes (bitmaps). - - - Added missing parameter documentation. - - - Minor documentation changes and compatibility with latest - Freetype. - - - ttf2pk: - Added support for multiple SFD files. - - New option `-L' to provide a ligature mapping file (patch from - CHO Jin-Hwan <chofchof@kias.re.kr>). - - New option `-w' to emit PostScript encoding vectors for - subfont files to be used with pdfLaTeX (patch from CHO - Jin-Hwan <chofchof@kias.re.kr>). - - Add support for a configuration file (ttf2pk.cfg) which can - read more than a single map file, similar to pdfTeX (patch - from CHO Jin-Hwan <chofchof@kias.re.kr>). - - Support for character codes greater than 0xFFFF (patch from - Dominique Unruh <dominique@unruh.de>). - - ttf2tfm no longer assumes that the x-height is always 400 PS - units. - - -Pascal source code ------------------- -** -** The Pascal source files have been completely removed from the -** FreeType distribution. It is now available as an extra package; -** for more information please visit http://www.freetype.org. -** - - -Changes between FreeType version 1.3 and version 1.3.1 -====================================================== - - Bug fixes. - - - -Changes between FreeType version 1.2 and version 1.3 -==================================================== - - -Documentation -------------- - - Improved installation instructions. - - - Complete revision of almost all documentation files. - -** -** Added the file apirefx.txt to document all extensions to the -** FreeType library. Consequently, errstr.txt has been removed. -** - - Added the file optimize.txt, explaining how to improve FreeType - on a given architecture. - -** -** Documentation about possible patent restrictions added. -** - - Added howto/mac.txt (stating basically that the FreeType team - can't support the Macintosh platform because of lack of - knowledge). - - - Added howto/msdos.txt, documenting compilation for various 16bit - and 32bit compilers. - - -API functions -------------- - - TT_Load_Kerning_Table() now returns TT_Err_Invalid_Argument - instead of TT_Err_Bad_Argument (which is used for an internal - error only) for an invalid argument. The same holds for - TT_Get_Face_Widths() and TT_Get_Glyph_Big_Metrics(). - - - If the glyf table is missing, the new error code - TT_Err_Glyf_Table_Missing is returned instead of - TT_Err_Table_Missing. This affects TT_Get_Face_Widths(), - TT_Load_Glyph(), and TT_Open_Face(). - -** -** New function TT_FreeType_Version() to get the major and minor -** version dynamically. -** - - TT_Load_Glyph() has now two additional flags. TTLOAD_PEDANTIC - will force pedantic handling of the glyph instructions, and - TTLOAD_IGNORE_GLOBAL_ADVANCE_WIDTH is needed for some fonts - which have correct advance width values for the glyphs but an - incorrect global advance width value. - - - TT_Get_Glyph_Big_Metrics() now returns correct vertical bearing - values (both linear and pixel values). - - - New error code TT_Err_Glyf_Table_Missing (0x89) used to indicate - a missing `glyf' table. - - - The following macros have been shortened to stay within the - limit of 32 characters (the longer macro names are still - available if HAVE_LIMITS_ON_IDENTS is not defined). - - TT_UCR_ARABIC_PRESENTATION_FORMS_A -> - TT_UCR_ARABIC_PRESENTATIONS_A - TT_UCR_ARABIC_PRESENTATION_FORMS_B -> - TT_UCR_ARABIC_PRESENTATIONS_B - - TT_UCR_COMBINING_DIACRITICAL_MARKS -> - TT_UCR_COMBINING_DIACRITICS - TT_UCR_COMBINING_DIACRITICAL_MARKS_SYMB -> - TT_UCR_COMBINING_DIACRITICS_SYMB - - - freetype.h: - - TT_Bool is now typedef'ed as `typedef int'. - - New typedefs: TT_Int and TT_UInt. - - Declarations of TT_Matrix_Multiply() and TT_Matrix_Invert() - have been removed since these functions were never - implemented. - - -Architectures -------------- - - Added `ansi' directory to the supported architectures -- any - ANSI C compiler should compile FreeType with these files. - - - Added `debugger' directory to the architectures. Use this to - build a special version of FreeType for bytecode debugging - (tested with OS/2 and Unix). - - - Added more files to the `mac' architecture directory to make - basic support complete. - - - Support for VMS added (to compile the library only). - Contributed by Jouk Jansen <joukj@hrem.stm.tudelft.nl>. - - - Added `win16' architecture directory for older Windows versions. - A graphics driver (gw_win16.c) for the example programs is - available also. - -** -** Antoine Leca contributed support for many MS-DOS and Windows -** compilers (including library fixes to make it 16bit compliant): -** - Borland C++ for MS-DOS (tested with v. 3.1, 4.02, 5.0), - Microsoft C for MS-DOS, - Turbo C (versions 1.5 and 2.0 -- version 1.0 is too old), - Borland C++ 4.0 and 5.0 for Windows (both 16bit and 32bit - versions), - gcc under Win32 (Cygwin32 or MinGW32), - Microsoft Visual C++ 2.x, 4.x, 5.0, and 6.0 for Windows - - - Support for the gettext package with DJGPP compiler has been - added. - - - Since many older compilers on both MS-DOS and Windows platforms - have problems to build dependency files automatically, scripts - for gcc under Unix have been added to do this. Similarly, a - script to produce a DLL definition file is now included in the - distribution. - - - Moved old win32 support to contrib/win32, replacing all CR/LF - with LF, and using only lowercase file names for consistency. - Additionally, some missing files in the FreeType 1.2 - distribution have been added. Antoine Leca has written a new, - light-weight graphics driver (gw_win32.c) which fits better into - the current scheme. - - - Small additions have been made to the Amiga graphics driver. - - - The use of the ARM macro (intended for this architecture) has - been completely removed due to lack of support. - - - Checks for endianness have been removed completely since - FreeType isn't dependent on it. - - -Global compilation macros -------------------------- - - The TT_HUGE_PTR macro has been added to support fonts with more - than 16000 characters or so with 16bit MS-DOS compilers. - Consequently, the files hugefile.c and hugemem.c have been added - which provide special versions for these compilers. - - - HAVE_LIMITS_ON_IDENTS has been introduced to overcome - restrictions with old compilers which can't digest identifiers - longer than 32 characters. - -** -** Added option TT_CONFIG_OPTION_NO_INTERPRETER to desactivate the -** bytecode interpreter completely. This option is off by default. -** - - Added options TT_CONFIG_OPTION_STATIC_RASTER and - TT_CONFIG_OPTION_STATIC_INTERPRETER to build static versions of - the respective components. Off by default. (It was formerly - called TT_STATIC_RASTER.) - - Better debugging support (see ttconfig.h for details): - DEBUG_LEVEL_TRACE, DEBUG_LEVEL_ERROR, DEBUG_INTERPRETER, - DEBUG_MEMORY, DEBUG_FILE. - - Added TT_MAX_EXTENSIONS to define the maximal number of - extensions (currently set to 8 -- this macro was previously in - ttextend.c). - - -Extensions ----------- -** -** Full support for TrueType Open resp. OpenType GSUB tables has -** been implemented. It uses a GDEF table if available; otherwise, -** a method to construct an artificial GDEF table has been added -** (note that GDEF parts not related to GSUB are loaded but not -** further handled). An example how to use it can be found in the -** new test program ftstrtto. -** - - Rudimentary GPOS support -- currently, you can load the GPOS - subtables but nothing more. - -** -** Documentation for all extensions can be found in the file -** apirefx.txt. -** - - Fixed a bug in TT_Load_PS_Names() which returned a local, thus - invalid pointer. - -** -** Support for embedded bitmaps has been added (thanks to -** YAMANO'UCHI Hidetoshi <mer@interlink.or.jp> who has contributed -** a lot of the code). It can handle `bloc', `bdat', `EBLC', and -** `EBDT' tables. [TrueType embedded bitmaps are also called -** `sbits' (for `scaler bitmaps').] -** - -Test programs -------------- -** -** A new test program called ftstrtto has been added to test -** TrueType Open features. Almost all available FreeType -** extensions are used in this program -- it displays a UTF 8 -** encoded string on screen, allowing to toggle kerning, embedded -** bitmaps, GSUB support, and hinting. Additionally, it has a -** special module to handle the Arabic script properly (in -** arabic.c), i.e., it treats initial, medial, final, and isolated -** glyphs correctly. -** - - The new module `blitter.c' provides the blitting function - Blit_Bitmap() for bitmaps of various depth. - - - The debugging program `fdebug' has been rewritten to provide a - better user interface. - - - ftdump has been extended to show information about embedded - bitmaps and GSUB data. It will now also show the PostScript - name of the font. - - - The new test program ftmetric can dump metrics and glyphs -- it - uses the gettext package for i18n support. - - - Another new test program is ftsbit to dump embedded bitmaps - contained in a font. - - - A small bug has been fixed in ftstring to compute the right - bounding box of the string. - - - ftview has been extended to display embedded bitmaps also - (switch `-B'). - - - The maximal point size of glyphs in ftview has been increased to - 5000pt -- this has shown some clipping bugs in the engine which - have been fixed meanwhile. As a demonstration, it also - activates tracing of the raster and gload component if - DEBUG_LEVEL_TRACE (see above) is defined. - - -Miscellaneous -------------- - - The library has been updated to use autoconf 2.13 and libtool - 1.3.3 throughout. - -** -** FreeType will now install its header files in -** <prefix>/freetype/... since the number of files has grown again. -** - - Added a lot of EXPORT_FUNC/EXPORT_DEF macros to functions for - correct exporting in DLLs. - -** -** FreeType can now successfully load Mac fonts which don't have an -** `OS/2' table. -** - - Fixed a bug in handling composite glyphs where the composite - elements use attached points. - - - Better debugging support for instructions. - - - Various workarounds have been implemented to support slightly - broken fonts (or rather, fonts not following exactly the - TrueType specifications). - - -Contributed programs --------------------- - - ttf2bdf: -** -** Swapped all the columns in the mapping files. -** - - Changed the mapping table loader to index on the second column - instead of the first. - - - Changed the includes to deal with compilation on Windows. - - - Added some new mapping tables. - - - Fixed an incorrect parameter for Traditional C compilers. - - - Added generation of the _XFREE86_GLYPH_RANGES properties. - - - Change all CRLF's, CR's, or LF's in copyright strings to - double spaces. - - - Changed it so gcc 2.8.1 likes the return type of main() again. - - - Changed Makefile.in a bit to make installation more - consistent. - - - Changed the lower limit for the vertical and horizontal - resolutions to be 10dpi instead of 50dpi. - - - ttf2pfb: - - Has now rudimentary support for mapping tables (switch `-m') - and better PostScript name support for ordinary Type 1 fonts - -- nevertheless, it is far from finished, and there are some - plans to merge it with ttf2pt1. - - configure script added. - - Option `-k' added to keep output file in case of error. - - `-v' is now really verbose. - - ttf2pk: -** -** Support for MiKTeX's file searching mechanism added (ttf2pk -** and ttf2tfm are now part of the MiKTeX). -** -** -** Support for rotated glyphs added (only for subfonts; switches -** `-x' and `-y' to activate rotation resp. controlling the y -** offset). If a GSUB table with the `vert' feature is available -** in the font, vertical glyph presentation forms are used. -** - - Added warning message to the configure script in case the - kpathsea library isn't used. - - - Fixed an omission in Bg5.sfd. - -** -** Added UBg5plus.sfd for mapping Unicode to Bg5+ encoding. -** Similar SFD files now available: UBg5.sfd, UGB.sfd, UGBK.sfd, -** UJIS.sfd, UKS.sfd. -** - - Added documentation for dvidrv.btm. - - - Will now compile with kpathsea version 3.3 or newer also. - - - Subfont ligature support added as needed in the HLaTeX package - for Korean (switch `-l'). - -** -** Since ttf2pk support has been added to teTeX version 1.0 and -** newer, no patch are necessary. -** - - Fixed a string initialization bug in buildtfm() (file - tfmaux.c). - - - Added more documentation about file searching and a full - example how to use ttf2tfm. - - - Fixed a small bug in ttf2tfm.c which printed `(null)' instead - of nothing for the ttfonts.map entry if the font name prefix - string was empty. - - - ttf2tfm will now use the first type 0 kerning table only - (instead of the first kerning table only). - - - Both ttf2pk and ttf2tfm will now apply stretching and slanting - directly to the outline. This usually yields smaller bounding - boxes. - - - ttf2tfm will now output a comment string to the VPL file to - illustrate the meaning of the `HEADER' lines. - - - ttfbanner: - - Added Makefile for emx+gcc compiler. - - - Added autoconf support. - - - Fixed a lot of compilation warnings. - - -Pascal source code ------------------- - - The Pascal source code has been seriously updated since 1.2. - Here are the most important changes. - -** -** A. Support for charmaps and the name table -** -** -** The Charmap functions were not correctly implemented before -** 1.3. They are now available in the Pascal API. -** -** -** Similarly, the `name' table was not loaded, and the -** TT_Get_Name function wasn't implemented before 1.3. It is now -** done. -** -** -** The Pascal engine is now feature-complete, except that it -** provides no extensions like the C source code. -** - - B. Improvements in the glyph loader and the interpreter - - - Several changes were made in order to be able to load more - broken fonts, as well as old Apple fonts which happened to use - some very rarely-used aspects of the specification. - - - Note that the Pascal bytecode interpreter, contrary to the C - version, is not able to silently accept broken glyphs yet, or - even use the flag TTLOAD_PEDANTIC. Implementing this in - Pascal would require some serious work (unlike to C, where - this feature was introduced easily with the use of a few - macros to minimize source changes). So TT_Load_Glyph might - return an error with the Pascal engine while the C one accept - the same request successfully. - - - C. Ports to Delphi and Free Pascal - - This release has been compiled on the following compilers: - - - Free Pascal 0.9 (Dos,Linux,Win32,OS/2) - - Virtual Pascal 1.1 and 2.0 (Win32 and OS/2) - - Turbo Pascal 6.0 and Borland Pascal 7.0 (Dos) - - Delphi 1, 2, and 3. It should work with D4 and D5 also. - (Windows) - - Note that most of the test programs will not compile on - anything except MS-DOS or OS/2. The debugger also needs the - Turbo Vision library. The library, however, should compile - fine with all tools cited above. - - - -Changes between FreeType 1.1 and 1.2 -==================================== - -Mostly bug fixes and build fixes. - - - -Changes between FreeType 1.0 and 1.1 -==================================== - -There were various changes since the 1.0 release. Here they are -summarized: - -- Added vertical layout support - - The engine now loads the vertical header and metrics if available - and makes them visible through the new `vertical' field of the - face properties (it is set to NULL if no vertical data was found - in the font file). - - The glyph loader now loads all metrics (horizontal and vertical), - but still returns the horizontal ones only with the API - TT_Get_Glyph_Metrics(). However, TT_Get_Glyph_Bit_Metrics() has - been added to extract them from a glyph container. - - -- Serialization of coordinates arrays in TT_Outline() - - As announced in the previous API reference, the structure of - TT_Outline changed slightly, as well as the naming of its fields. - The points are now stored in a single array of TT_Vector, instead - of two parallel arrays (one for the Xs, the other for the Ys). - - -- New API function TT_Get_Face_Metrics() - - Useful to access unscaled metrics like left side bearings, advance - widths, top side bearings, and advance height, for a given range - of glyphs. - - -- New extension: ftxcmap.c - - Used by some applications to enumerate and parse the charmap - tables in an easier way. - - -- New extension: ftxpost.c - - With this extension you can access the PostScript glyph names - given in the `post' table. - - -- New extension: ftxwidth.c - - This extension is used to parse the `glyf' table to extract the - bounding boxes of a given range of glyphs. This is much faster - than loading individual glyphs. - - -- The FreeType engine is now THREAD-SAFE and REENTRANT - - However, the implementation of ttmutex must be refined for your - system -- the default one is a dummy and doesn't do anything! - Beware! THIS IS STILL IN BETA. - - The thread-safe and reentrant builds now compile and seem to run - well when used with a single thread. Some efforts have been spent - to check the coherency of the lock contentions within the engine, - but we haven't tested multi-threading heavily. - - -- Large internal re-organization - - Too technical to explain shortly, but results in a much better - memory footprint and smaller code, especially when opening - multiple faces. - - -- Fixes/enhancements to the interpreter - - The infamous Monotype.com bug (a new free font released by - Microsoft Typography a few days after the FreeType 1.0 release!) - is fixed, of course, as well as few other little and unpleasant - artifacts... - - The interpreter was also seriously re-organized to allow the use - of a very large `switch' statement, instead of a jump table, which - results in smaller and faster code on some systems (depending of - the compiler too). Users of the library can experiment with the - TT_CONFIG_OPTION_INTERPRETER_SWITCH configuration macro to test - this. - - -- Single object compilation mode - - The core engine can now be compiled into a single object file. - This allows optimizing compilers to do more global optimizations, - and get rid of many of the `intermediate' internal symbols used to - link internal engine components together. - - The engine now takes only 48kByte of stripped Intel object code! - - -- DLL compilation mode - - In order to allow the compilation of the library as a DLL, the - keyword EXPORT has been added as a prefix to all high-level API - functions found in `freetype.h'. Define it to the value you need - before `#include "freetype.h"' when building the DLL (if undefined - it will default to nothing within this header file). - - (Apparently, this is only useful on Win32, maybe on OS/2.) - - -- Renamed configuration macros - - These were renamed to forms of TT_CONFIG_OPTION_XXXXX_YYYYY. - They're located in ttconfig.h and can be defined/undefined - manually by developers who want to tune the compilation of the - engine: - - TT_CONFIG_OPTION_EXTEND_ENGINE - - Allows extensions to be linked with the single object engine. - If you don't need any of them, you may save one or more - kilobytes by undefining it. - - - TT_CONFIG_OPTION_GRAY_SCALING - - Allows the compilation of the gray-scaling (font smoothing) - code in ttraster. If undefined, some APIs won't be available: - - TT_Set_Raster_Palette(), - TT_Get_Glyph_Pixmap(), - TT_Get_Outline_Pixmap() - - - TT_CONFIG_OPTION_INTERPRETER_SWITCH - - Uses a large `switch' statement in the bytecode interpreter - instead of a constant call-table. Depending on your processor - and compiler, this can lead to significant reduction of code - size and/or increase of performance. - - - TT_CONFIG_OPTION_THREAD_SAFE - - When defined, a thread-safe version of the engine is built. A - thread-safe version is a bit bigger, probably not slower, than - a non-threaded build. ATTENTION: You must redefine the file - `lib/ttmutex.c' for your own platform to get it to work - correctly. - - - Some more options may come in the future... - - -- New API functions TT_MulDiv() and TT_MulFix()" - - To help you compute `a*b/c' with 64-bit intermediate precision, or - `a*b/0x10000' with the same one... - - These are not necessarily the fastest functions but they are - clearly portable and overflow-safe. Your runtime/compiler may - provide better replacements, though... - - - -Changes between FreeType Beta and 1.0 -===================================== - -There were a number of changes since the public beta: - - -I. Bug fixes ------------- - - The following bugs have been fixed in this release: - - - - Incorrect advance width and left side bearings - - The glyph loader has been re-designed to match the values found - in the pre-calc tables... - - - - Problems when opening multiple fonts - - Fixed. A stupid bug in the i/o component. - - - - Problems with some Georgian fonts - - Fixed. Discovered some new undocumented opcodes behaviour... - - - - Buglets in the test programs which made them return invalid - error codes - - Fixed. - - - - Memory leaks when trying to open broken some font files - - Fixed. Waiting for more broken fonts to test... - - - - Non-square resolutions don't work or display correctly - - They now work very well! - - - - The scan-line converter, while in font-smoothing mode, doesn't - perform horizontal drop-out control - - This wasn't really bug, but the feature has been correctly - added. - - -The remaining `features' persist, as they're not essential yet: - - - The `rotated' and `stretched' flags do not work (glyph loading - will then return errors). However, it is still possible to - rotate or transform any outline without setting these flags. - - - We always use drop-out mode number 2, as some of the values - returned by some `cvt programs' seem invalid for now... - - -Note also that an `event hook/callback' has been introduced in this -release, but is still under alpha (not even beta; it is commented -out currently). You should not rely on this... - - -II. Code changes ----------------- - - 1. API Changes - - A few API changes were necessary in order to support important - features, or future improvements which will come in later - releases. - - - - TT_Set_Instance_Resolution() was renamed to - TT_Set_Instance_Resolutions(). - - - - TT_Set_Instance_PointSize() has disappeared. Instead, the - following APIs have been defined: - - TT_Set_Instance_CharSize() - TT_Set_Instance_CharSizes() - TT_Set_Instance_PixelSizes() - - - - The TT_Engine class has been introduced. It models one - instance of the library, and is used to allow re-entrance and - shared library code. The functions which now depend on a - TT_Engine parameter are: - - TT_Init_FreeType() - TT_Done_FreeType() - TT_Open_Face() - TT_Open_Collection() - TT_Set_Raster_Palette() - TT_Get_Outline_Bitmap() - TT_Get_Outline_Pixmap() - - Note that there is _no_ sharing of objects between distinct - engines. - - - - Each face and instance object have an inside pointer which use - is reserved to client application. Several functions are - defined to set and read it: - - TT_Set_Face_Pointer() / TT_Get_Face_Pointer() - TT_Set_Instance_Pointer() / TT_Get_Instance_Pointer() - - - - TT_Apply_Outline_Matrix() has been renamed to - TT_Transform_Outline(). - TT_Apply_Outline_Translation() has been renamed to - TT_Translate_Outline() - TT_Apply_Vector_Matrix() has been renamed to - TT_Transform_Vector() - - all for the sake of clarity. - - - 2. Structural changes - - Some structures have evolved. - - - - The instance metrics have now two new fields which are - `x_scale' and `y_scale'. Each one is a scaling factor, - expressed in the 16.16 fixed float format (TT_Fixed), used to - convert one distance expressed in font units into the same - distance in fractional (26.6) pixels. - - - - A new structure TT_BBox has been defined to describe an - outline's bounding box. - - - - The outlines are now full-class citizen. It is possible to - create new outlines, copy, clone, transform, translate and - render them through specific methods of the TT_Outline class - (previously called TT_Glyph_Outline). Read the API reference - for a complete listing. - - - - The glyph metrics have a new structure: they contain a TT_BBox - field, a TT_Outline field, as well as three metrics values, - which are `bearingX', `bearingY', and `advance'. Read the - file `glyphs.txt' for more information about their definitions - and uses. - - - 3. Small but IMPORTANT changes - - - - The `max_Faces' field of a face's properties has disappeared. - It is replaced by `num_Faces' which gives the total number of - fonts embedded in a collection (the previous field gave the - total minus one). - - - - TT_Load_Glyph() now returns correctly placed outlines, and - computes advance widths which match the pre-calc values in the - "hdmx" table in nearly all cases. - - - - TT_Get_Glyph_Metrics() returns grid-fitted metrics for hinted - glyphs (i.e., loaded with the TTLOAD_HINT_GLYPH, or - TTLOAD_DEFAULT, flags). This includes the bounding box. To - get the exact bounding box of a hinted glyph, you should - extract its outline, then call TT_Get_Outline_BBox(). - - - - Some improvements in the glyph loader, which improves - drastically the placement of glyphs (especially composite - ones) which previously caused trouble for some fonts - (e.g. goudy.ttf). - - - - Several minor improvements in the interpreter to improve - rendering and bounds checking... - - - - Up-to-date Pascal source code, with output equivalent to the C - tree... - - ---- END --- |