[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
BETA6: Grunt work before the release
From: |
David Turner |
Subject: |
BETA6: Grunt work before the release |
Date: |
Thu, 18 May 2000 10:09:20 +0200 |
Hello,
I've performed some major grunt work on the source code to
prepare it for an imminent release. There is also a new
beta (number 6) on the FTP site for those interested in
testing it.
May I invite you to test it on your machines and report problems.
The new code doesn't include any new features (e.g. font drivers
and auto-hinter), these will come in a few days, but it was
important to "clean" a lot of things in the source before doing
so.
IMPORTANT:
I now consider the high-level API to be frozen, even if a few
additional features will probably be added soon. Note that I'm
still open for comments on missing functionality, improvements,
etc..
Best Regards,
- David
PS: I have changed the source code since beta 6, which means that
you can also alternatively load the current snapshot if you want..
Here's a short summary of the changes. You'll find many,
many details in the "CHANGES" top-level file.
I. directory tree hierarchy:
the layout of "include" has changed to:
freetype2/
include/
freetype/
freetype.h public header files
ftsystem.h
....
config/
ftoption.h three configuration files that were
ftconfig.h previously located in "freetype2/config"
ftmodule.h
internal/
... internal files, previously found in
"src/shared" and "src/base"
the library now uses the "freetype" inclusion prefix, which means
that you should now write
#include <freetype/freetype.h>
#include <freetype/
to include public header files. You can also access configuration
files in <freetype/config/....>, and all header files that are shared
between the base layer and modules are not located in
<freetype/internal/....>. Beware, the content of this directory might
change significantly between releases of FreeType 2.
II. DLL export macros:
The definition of EXPORT_DEF, EXPORT_FUNC, BASE_DEF and BASE_FUNC has been
changed to allow the compilation of the library on Win32 systems with both
Visual C++ and Borland C++. These compilers need a special keyword that
must be placed in front or after a function return type to indicate that
it may be a DLL entry point. Now, the code looks like:
BEFORE
declaration:
EXPORT_DEF
FT_Error FT_Init_FreeType( FT_Library* library );
definition:
EXPORT_FUNC
FT_Error FT_Init_FreeType( FT_Library* alibrary )
{
...
}
AFTER
declaration:
EXPORT_DEF(FT_Error) FT_Init_FreeType( FT_Library* library );
definition:
EXPORT_FUNC(FT_Error) FT_Init_FreeType( FT_Library* alibrary )
All source code has been modified accordingly..
III. Implemented some missing functions:
like FT_New_Memory_Face, FT_Set_CharMap, FT_Select_CharMap. The FT_Open_Args
structure has been modified to be simpler to use (through the use of bit
flags)
as well as capable of passing extra parameters to font drivers..
IV. Code cleanup:
to eliminate all warnings when compiling with gcc and "-W -Wall -ansi
-pedantic",
or when using Win32-LCC (which is uttermost pedantic, and has a broken C
pre-processor !!)
V. Various documentation updates, including BUILD,
docs/internal/build-system.html
and docs/tutorial/index.html (some of these are still incomplete)
VI. New default raster:
I finally nailed this monochrome rendering bug, and the default raster now
produces 5-gray level anti-aliased outlines by default, for compatibility
reasons..
- BETA6: Grunt work before the release,
David Turner <=