updated changes

This commit is contained in:
David Turner 2001-03-23 12:28:59 +00:00
parent 1e536983f6
commit a0f89558b9
2 changed files with 121 additions and 13 deletions

120
CHANGES
View File

@ -1,18 +1,126 @@
LATEST CHANGES BETWEEN 2.0.2 and 2.0.1
- changed the library header files inclusion scheme. Right now,
a client application can do something like this:
#include <ft2build.h> -- include build and setup configuration file
#include FT_FREETYPE_H -- main API file
#include FT_GLYPH_H -- abstract glyph image handling, etc..
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'll 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:
* 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:
* 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"
- 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. FT2 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>
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 DON'T 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.
- 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're not building FreeType 2 with our own build system (i.e. with
your own Makefiles or project files), you'll need to be aware that the
build process as changed a little bit. Namely:
- 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
- the build system has changed slightly when compiling by hand (either
from the command line or from an IDE). You don't need to put the "src"
directory in the include path anymore. Rather, place each component's
path.. See INSTALL and "docs/BUILD" for details..
=========================================================================
LATEST CHANGES BETWEEN 2.0.1 and 2.0:

14
TODO
View File

@ -2,11 +2,11 @@ Here is a list of items that need to be addressed in FreeType 2:
* Add synthesized Unicode charmap processing to the CFF driver.
* Investigate usage of casts and bit width of integer types used. The idea is
to typedef FT_Fixed, FT_Long, FT_Int, etc. to use the appropriate built in
integer types. This is so that we may avoid unnecessary explict typecasts
and side affects inherent in implict casts. This is mostly an issue on
platforms where long integers are 64 bits wide (instead of 32 bits wide).
* Fix Visual C++ project file
* Fix a bug in the TrueType driver: linear horizontal advances of composites
are not returned properly.
* Change the build system to work with the "Jam" tool instead of the
terribly complex and error-prone GNU Makefiles we're currently using
* Fix exact bbox calculation. The current code uses an iterative algorithm
which can fail miserably.