updated changes
This commit is contained in:
parent
1e536983f6
commit
a0f89558b9
120
CHANGES
120
CHANGES
|
@ -1,18 +1,126 @@
|
||||||
LATEST CHANGES BETWEEN 2.0.2 and 2.0.1
|
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
|
- 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"
|
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
|
directory in the include path anymore. Rather, place each component's
|
||||||
path.. See INSTALL and "docs/BUILD" for details..
|
path.. See INSTALL and "docs/BUILD" for details..
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
=========================================================================
|
=========================================================================
|
||||||
LATEST CHANGES BETWEEN 2.0.1 and 2.0:
|
LATEST CHANGES BETWEEN 2.0.1 and 2.0:
|
||||||
|
|
||||||
|
|
14
TODO
14
TODO
|
@ -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.
|
* Add synthesized Unicode charmap processing to the CFF driver.
|
||||||
|
|
||||||
* Investigate usage of casts and bit width of integer types used. The idea is
|
* Fix Visual C++ project file
|
||||||
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
|
* Fix a bug in the TrueType driver: linear horizontal advances of composites
|
||||||
and side affects inherent in implict casts. This is mostly an issue on
|
are not returned properly.
|
||||||
platforms where long integers are 64 bits wide (instead of 32 bits wide).
|
|
||||||
|
* 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.
|
|
||||||
|
|
Loading…
Reference in New Issue