formatting
This commit is contained in:
parent
f7f82d773b
commit
ac812959bb
30
ChangeLog
30
ChangeLog
@ -1,23 +1,25 @@
|
||||
2002-01-05 David Turner <david@freetype.org>
|
||||
|
||||
* src/autohint/ahhint.c: modified computation of auto-hinted stem
|
||||
widths, this avoids color fringes in "ClearType-like" rendering
|
||||
|
||||
* src/truetype/ttgload.c: modified the TrueType loader to make it
|
||||
more paranoid, this avoids nasty buffer overflows in the case of
|
||||
invalid glyph data (as encountered in the output of some buggy
|
||||
font converters..)
|
||||
* src/autohint/ahhint.c (ah_align_linked_edge): Modified computation
|
||||
of auto-hinted stem widths; this avoids color fringes in
|
||||
"ClearType-like" rendering.
|
||||
|
||||
* src/truetype/ttgload.c (TT_Load_Glyph_Header,
|
||||
TT_Load_Simple_Glyph, TT_Load_Composite_Glyph, load_truetype_glyph):
|
||||
Modified the TrueType loader to make it more paranoid; this avoids
|
||||
nasty buffer overflows in the case of invalid glyph data (as
|
||||
encountered in the output of some buggy font converters).
|
||||
|
||||
2002-01-04 David Turner <david@freetype.org>
|
||||
|
||||
* README.UNX: added special README file for Unix users
|
||||
* README.UNX: Added special README file for Unix users.
|
||||
|
||||
* builds/unix/ftsystem.c (FT_New_Stream): fixed typo
|
||||
|
||||
* src/base/ftobjs.c: added #include FT_OUTLINE_H to get rid
|
||||
of compiler warnings
|
||||
|
||||
* src/base/ftoutln.c (FT_Outline_Check): remove compiler warning
|
||||
* builds/unix/ftsystem.c (FT_New_Stream): Fixed typo.
|
||||
|
||||
* src/base/ftobjs.c: Added #include FT_OUTLINE_H to get rid
|
||||
of compiler warnings.
|
||||
|
||||
* src/base/ftoutln.c (FT_Outline_Check): Remove compiler warning.
|
||||
|
||||
2002-01-03 Werner Lemberg <wl@gnu.org>
|
||||
|
||||
|
16
README
16
README
@ -2,20 +2,22 @@
|
||||
Special note to Unix users
|
||||
==========================
|
||||
|
||||
Please read the file "README.UNX", it contains important information
|
||||
regarding the installation of FreeType on Unix systems, especially
|
||||
GNU based operating systems like GNU/Linux.
|
||||
Please read the file "README.UNX", it contains important
|
||||
information regarding the installation of FreeType on Unix
|
||||
systems, especially GNU based operating systems like GNU/Linux.
|
||||
|
||||
|
||||
FreeType 2.0.6
|
||||
==============
|
||||
|
||||
Please read the docs/CHANGES file, it contains IMPORTANT INFORMATION.
|
||||
Please read the docs/CHANGES file, it contains IMPORTANT
|
||||
INFORMATION.
|
||||
|
||||
Read the files "INSTALL" or "docs/BUILD" for installation instructions.
|
||||
Read the files "INSTALL" or "docs/BUILD" for installation
|
||||
instructions.
|
||||
|
||||
Note that the FreeType 2 documentation is now available as a separate
|
||||
package from our sites. See:
|
||||
Note that the FreeType 2 documentation is now available as a
|
||||
separate package from our sites. See:
|
||||
|
||||
ftp://ftp.freetype.org/pub/freetype2/ftdocs-2.0.6.tar.bz2
|
||||
ftp://ftp.freetype.org/pub/freetype2/ftdocs-2.0.6.tar.gz
|
||||
|
141
README.UNX
141
README.UNX
@ -1,109 +1,104 @@
|
||||
SPECIAL NOTE FOR UNIX USERS:
|
||||
============================
|
||||
|
||||
If you're installing this release of FreeType on a system that
|
||||
already uses release 2.0.5 (or even an older version), you'll
|
||||
need to perform a few special steps to ensure that everything
|
||||
goes well:
|
||||
|
||||
|
||||
I. Enable the TrueType bytecode hinter if you need it:
|
||||
------------------------------------------------------
|
||||
|
||||
The TrueType bytecode interpreter is disabled in all
|
||||
public releases of the FreeType packages for patents
|
||||
reasons (see www.freetype.org/patents.html for more
|
||||
details).
|
||||
SPECIAL NOTE FOR UNIX USERS
|
||||
===========================
|
||||
|
||||
If you are installing this release of FreeType on a system that
|
||||
already uses release 2.0.5 (or even an older version), you have to
|
||||
perform a few special steps to ensure that everything goes well.
|
||||
|
||||
|
||||
I. Enable the TrueType bytecode hinter if you need it
|
||||
-----------------------------------------------------
|
||||
|
||||
The TrueType bytecode interpreter is disabled in all public
|
||||
releases of the FreeType packages for patents reasons (see
|
||||
http://www.freetype.org/patents.html for more details).
|
||||
|
||||
However, many Linux distributions do enable the
|
||||
interpreter in the FreeType packages (DEB/RPM/etc..) they
|
||||
produce for their platforms. If you're using TrueType fonts
|
||||
on your system, you'll most probably want to enable it
|
||||
manually by doing the following:
|
||||
However, many Linux distributions do enable the interpreter in the
|
||||
FreeType packages (DEB/RPM/etc.) they produce for their platforms.
|
||||
If you are using TrueType fonts on your system, you most probably
|
||||
want to enable it manually by doing the following:
|
||||
|
||||
- open the file "include/freetype/config/ftoption.h"
|
||||
|
||||
- locate a line that says:
|
||||
|
||||
#undef TT_CONFIG_OPTION_BYTECODE_ITNERPRETER
|
||||
#undef TT_CONFIG_OPTION_BYTECODE_ITNERPRETER
|
||||
|
||||
- change it to:
|
||||
|
||||
#define TT_CONFIG_OPTION_BYTECODE_INTERPRETER
|
||||
|
||||
of course, this must be done _before_ compiling the
|
||||
library
|
||||
of course, this must be done _before_ compiling the library
|
||||
|
||||
|
||||
II. Determine the correct installation path:
|
||||
--------------------------------------------
|
||||
II. Determine the correct installation path
|
||||
-------------------------------------------
|
||||
|
||||
By default, the source package will install the library
|
||||
in "/usr/local". However, many Unix distributions now
|
||||
install the library in "/usr", since FreeType is becoming
|
||||
a critical system component
|
||||
|
||||
By default, the source package will install the library in
|
||||
"/usr/local". However, many Unix distributions now install the
|
||||
library in "/usr", since FreeType is becoming a critical system
|
||||
component.
|
||||
|
||||
If FreeType is already installed on your system, type
|
||||
|
||||
freetype-config --prefix
|
||||
freetype-config --prefix
|
||||
|
||||
on the command line. This should return the installation
|
||||
path to use below (e.g. "/usr" or "/usr/local"). Otherwise,
|
||||
simply use "/usr"
|
||||
on the command line. This should return the installation path to
|
||||
use below (e.g. "/usr" or "/usr/local"). Otherwise, simply use
|
||||
"/usr".
|
||||
|
||||
Then, to build and install the library, type:
|
||||
|
||||
make setup unix CFG="--prefix=<yourprefix>"
|
||||
make
|
||||
make install (as root)
|
||||
|
||||
then, to build and install the library, type:
|
||||
|
||||
make setup unix CFG="--prefix=<yourprefix>"
|
||||
make
|
||||
make install (as root)
|
||||
|
||||
where "<yourprefix>" must be replaced by the prefix returned
|
||||
by the "freetype-config" command.
|
||||
where "<yourprefix>" must be replaced by the prefix returned by
|
||||
the "freetype-config" command.
|
||||
|
||||
|
||||
III. Take care of XFree86 4:
|
||||
----------------------------
|
||||
III. Take care of XFree86 version 4
|
||||
-----------------------------------
|
||||
|
||||
Certain recent Linux distributions will install _several_
|
||||
versions of FreeType on your system.. For example, on a
|
||||
fresh Mandrake 8.1 system, you'll find the following files:
|
||||
Certain recent Linux distributions will install _several_ versions
|
||||
of FreeType on your system. For example, on a fresh Mandrake 8.1
|
||||
system, you can find the following files:
|
||||
|
||||
/usr/lib/libfreetype.so which links to
|
||||
/usr/lib/libfreetype.6.1.0.so
|
||||
/usr/lib/libfreetype.so which links to
|
||||
/usr/lib/libfreetype.6.1.0.so
|
||||
|
||||
and:
|
||||
and
|
||||
|
||||
/usr/X11R6/lib/libfreetype.so which links to
|
||||
/usr/X11R6/lib/libfreetype.6.0.so
|
||||
/usr/X11R6/lib/libfreetype.so which links to
|
||||
/usr/X11R6/lib/libfreetype.6.0.so
|
||||
|
||||
note that these files correspond to two distinct versions of
|
||||
the library ! It seems that this surprising issue is due to
|
||||
the install scripts of recent XFree86 servers (from 4.1.0)
|
||||
which irremediably install their own (dated) version of
|
||||
the library in "/usr/X11R6/lib"
|
||||
Note that these files correspond to two distinct versions of the
|
||||
library! It seems that this surprising issue is due to the
|
||||
install scripts of recent XFree86 servers (from 4.1.0) which
|
||||
irremediably install their own (dated) version of the library in
|
||||
"/usr/X11R6/lib".
|
||||
|
||||
In certain _rare_ cases, you may experience minor problems if
|
||||
you install this release of the library in "/usr" only, namely,
|
||||
that certain applications will not benefit from the bug fixes
|
||||
and rendering improvements you'd expect..
|
||||
In certain _rare_ cases you may experience minor problems if you
|
||||
install this release of the library in "/usr" only, namely, that
|
||||
certain applications will not benefit from the bug fixes and
|
||||
rendering improvements you'd expect.
|
||||
|
||||
There are two good ways to deal with such nasty systems:
|
||||
There are two good ways to deal with this situation:
|
||||
|
||||
- install the library _twice_, in "/usr" and in "/usr/X11R6"
|
||||
(you'll need to do that each time you install a new
|
||||
FreeType release though)
|
||||
- Install the library _twice_, in "/usr" and in "/usr/X11R6"
|
||||
(you have to do that each time you install a new FreeType
|
||||
release though).
|
||||
|
||||
- change the link in /usr/X11R6/lib/libfreetype.so to point
|
||||
to /usr/lib/libfreetype.so, and get rid of
|
||||
/usr/X11R6/lib/libfreetype.6.0.so
|
||||
- Change the link in /usr/X11R6/lib/libfreetype.so to point to
|
||||
|
||||
/usr/lib/libfreetype.so,
|
||||
|
||||
The FreeType Team is not responsible for this mess, so please contact
|
||||
either the XFree86 development team or your Linux distributor to help
|
||||
clear this issue.., or if the above information doesn't help..
|
||||
and get rid of
|
||||
|
||||
/usr/X11R6/lib/libfreetype.6.0.so
|
||||
|
||||
|
||||
|
||||
The FreeType Team is not responsible for this problem, so please
|
||||
contact either the XFree86 development team or your Linux
|
||||
distributor to help clear this issue in case the information given
|
||||
here doesn't help.
|
||||
|
@ -240,6 +240,7 @@
|
||||
FT_Stream stream = loader->stream;
|
||||
FT_Int byte_len = loader->byte_len - 10;
|
||||
|
||||
|
||||
if ( byte_len < 0 )
|
||||
return TT_Err_Invalid_Outline;
|
||||
|
||||
@ -281,8 +282,9 @@
|
||||
short* cur = gloader->current.outline.contours;
|
||||
short* limit = cur + n_contours;
|
||||
|
||||
/* check room for contours array + instructions count */
|
||||
byte_len -= 2*(n_contours+1);
|
||||
|
||||
/* check space for contours array + instructions count */
|
||||
byte_len -= 2 * ( n_contours + 1 );
|
||||
if ( byte_len < 0 )
|
||||
goto Invalid_Outline;
|
||||
|
||||
@ -376,12 +378,12 @@
|
||||
{
|
||||
if ( *flag & 2 )
|
||||
byte_len -= 1;
|
||||
else if ( (*flag & 16) == 0 )
|
||||
else if ( ( *flag & 16 ) == 0 )
|
||||
byte_len -= 2;
|
||||
|
||||
if ( *flag & 4 )
|
||||
byte_len -= 1;
|
||||
else if ( (*flag & 32) == 0 )
|
||||
else if ( ( *flag & 32 ) == 0 )
|
||||
byte_len -= 2;
|
||||
}
|
||||
|
||||
@ -389,7 +391,6 @@
|
||||
goto Invalid_Outline;
|
||||
}
|
||||
|
||||
|
||||
/* reading the X coordinates */
|
||||
|
||||
{
|
||||
@ -487,7 +488,7 @@
|
||||
if ( error )
|
||||
goto Fail;
|
||||
|
||||
/* check room */
|
||||
/* check space */
|
||||
byte_len -= 4;
|
||||
if ( byte_len < 0 )
|
||||
goto Invalid_Composite;
|
||||
@ -499,7 +500,7 @@
|
||||
subglyph->flags = GET_UShort();
|
||||
subglyph->index = GET_UShort();
|
||||
|
||||
/* check room */
|
||||
/* check space */
|
||||
byte_len -= 2;
|
||||
if ( subglyph->flags & ARGS_ARE_WORDS )
|
||||
byte_len -= 2;
|
||||
@ -823,7 +824,7 @@
|
||||
goto Exit;
|
||||
}
|
||||
|
||||
loader->byte_len = (FT_Int) count;
|
||||
loader->byte_len = (FT_Int)count;
|
||||
|
||||
#if 0
|
||||
/* temporary hack */
|
||||
|
Loading…
Reference in New Issue
Block a user