mirror of https://github.com/freetype/freetype
Formatting.
This commit is contained in:
parent
db3ac3b360
commit
3975e2e1f5
43
ChangeLog
43
ChangeLog
|
@ -1,37 +1,46 @@
|
|||
2002-01-09 David Turner <david@freetype.org>
|
||||
|
||||
* builds/unix/configure.ac: Build top-level Jamfile.
|
||||
|
||||
2002-01-09 Maxim Shemanarev <mcseemagg@yahoo.com>
|
||||
|
||||
* src/smooth/ftgrays.c (gray_render_line): small optimisation to
|
||||
the smooth anti-aliased renderer that deals with vertical segments.
|
||||
This results in a 5-7% speedup in rendering speed..
|
||||
* src/smooth/ftgrays.c (gray_render_line): Small optimization to
|
||||
the smooth anti-aliased renderer that deals with vertical segments.
|
||||
This results in a 5-7% speedup in rendering speed.
|
||||
|
||||
2002-01-08 David Turner <david@freetype.org>
|
||||
|
||||
* configure, install: added some wrapper scripts to make
|
||||
the installation more Unix-friendly..
|
||||
Added some wrapper scripts to make the installation more
|
||||
Unix-friendly.
|
||||
|
||||
* INSTALL, README.UNX: updated installation documentation
|
||||
to use the new 'configure' and 'install' scripts..
|
||||
|
||||
Oh my.., why didn't we do that before the 2.0.6 release :-)
|
||||
* configure, install: New files.
|
||||
|
||||
* INSTALL, README.UNX: Updated installation documentation to use the
|
||||
new 'configure' and 'install' scripts.
|
||||
|
||||
2002-01-07 David Turner <david@freetype.org>
|
||||
|
||||
|
||||
* Version 2.0.6 released.
|
||||
=========================
|
||||
|
||||
* docs/BUGS, docs/CHANGES: updating documentation for 2.0.6 release
|
||||
|
||||
* src/tools/docmaker.py: fixed HTML quoting in sources
|
||||
* docs/BUGS, docs/CHANGES: Updating documentation for 2.0.6 release.
|
||||
|
||||
* include/freetype/config/ftoption.h: setting default options for
|
||||
a release build (debugging off, bytecode interpreter off)
|
||||
* src/tools/docmaker.py: Fixed HTML quoting in sources.
|
||||
(html_format): Replaced with ...
|
||||
(html_quote): New function.
|
||||
(html_quote0): New function.
|
||||
(DocCode::dump_html: Small improvement.
|
||||
(DocParagraph::dump, DocBlock::html): Use html_quote0 and html_quote.
|
||||
|
||||
* src/base/ftobjs.c, src/base/ftoutln.c, src/cache/ftccmap.c,
|
||||
src/cff/cffload.c, src/cff/cffobjs.c, src/pshinter/pshalgo2.c,
|
||||
src/sfnt/ttload.c, src/sfnt/ttsbit.c: removing small compiler
|
||||
warnings (in pedantic compilation modes)
|
||||
* include/freetype/config/ftoption.h: Setting default options for
|
||||
a release build (debugging off, bytecode interpreter off).
|
||||
|
||||
* src/base/ftobjs.c, src/base/ftoutln.c, src/cache/ftccmap.c,
|
||||
src/cff/cffload.c, src/cff/cffobjs.c, src/pshinter/pshalgo2.c,
|
||||
src/sfnt/ttload.c, src/sfnt/ttsbit.c: Removing small compiler
|
||||
warnings (in pedantic compilation modes).
|
||||
|
||||
2002-01-05 David Turner <david@freetype.org>
|
||||
|
||||
|
|
40
INSTALL
40
INSTALL
|
@ -2,31 +2,27 @@ In order to build the library, read the `BUILD' document in the `docs'
|
|||
directory. This is only a quick starter.
|
||||
|
||||
|
||||
I. UNIX SYSTEMS:
|
||||
----------------
|
||||
|
||||
Simply type:
|
||||
|
||||
./configure
|
||||
make
|
||||
./install
|
||||
|
||||
on the command line to configure, build and install FreeType
|
||||
on your system. Note that the default installation path is
|
||||
"/usr/local".
|
||||
|
||||
Please read the file README.UNX, it contains _critical_
|
||||
information regarding the installation of FreeType on
|
||||
many Unix systems.
|
||||
|
||||
I. Unix systems
|
||||
---------------
|
||||
|
||||
Simply type
|
||||
|
||||
./configure
|
||||
make
|
||||
./install
|
||||
|
||||
on the command line to configure, build and install FreeType on your
|
||||
system. Note that the default installation path is "/usr/local".
|
||||
|
||||
Please read the file README.UNX, it contains _critical_ information
|
||||
regarding the installation of FreeType on many Unix systems.
|
||||
|
||||
|
||||
|
||||
II. From the command line
|
||||
------------------------
|
||||
-------------------------
|
||||
|
||||
If you're not on Unix, there are two ways to quickly
|
||||
build FreeType 2 from the command line.
|
||||
If you are not using Unix, there are two ways to quickly build
|
||||
FreeType 2 from the command line.
|
||||
|
||||
The first, and favorite one, is to use the "Jam" build tool. Jam is
|
||||
a highly portable replacement for Make whose control files do not
|
||||
|
@ -60,7 +56,7 @@ II. From the command line
|
|||
jam
|
||||
|
||||
In later releases of FT2, building shared libraries with Jam
|
||||
should become automatic on Unix systems..
|
||||
should become automatic on Unix systems.
|
||||
|
||||
|
||||
2. Building FT2 with "GNU Make"
|
||||
|
|
|
@ -1,9 +1,11 @@
|
|||
#!/bin/sh
|
||||
# call the 'configure' script located in 'builds/unix'
|
||||
# this should re-generate the following files:
|
||||
#
|
||||
# config.mk
|
||||
# Jamfile
|
||||
# install
|
||||
# Call the 'configure' script located in 'builds/unix'.
|
||||
#
|
||||
# This should re-generate the following files:
|
||||
#
|
||||
# config.mk
|
||||
# Jamfile
|
||||
# install
|
||||
#
|
||||
make setup unix CFG="$@"
|
||||
|
|
60
docs/BUGS
60
docs/BUGS
|
@ -7,7 +7,7 @@ description of the bug is found below the table of opened bugs.
|
|||
"Date" is the date when the bug was first reported or entered in this
|
||||
document. Dates are in _European_ format, i.e day/month/year.
|
||||
|
||||
"Opened By" is the name of the person who first spotted the bug. Note that
|
||||
"Opened By" is the name of the person who first spotted the bug. Note that
|
||||
we can use abbreviations here, like:
|
||||
|
||||
"David" for David Turner
|
||||
|
@ -20,8 +20,8 @@ always happens, or only sporadically, etc.
|
|||
|
||||
|
||||
|
||||
I. Opened bugs
|
||||
==============
|
||||
I. Open bugs
|
||||
============
|
||||
|
||||
|
||||
Identifier Date Opened by Reproduceable
|
||||
|
@ -36,8 +36,8 @@ ADVANCED-COMPOSITES 25-10-2001 George Williams always
|
|||
|
||||
|
||||
|
||||
II. Table of closed bugs
|
||||
========================
|
||||
II. Closed bugs
|
||||
===============
|
||||
|
||||
|
||||
Identifier Date Closed by Closure date
|
||||
|
@ -58,7 +58,8 @@ GLYPH-TO-BITMAP-BUG 15-12-2001 David 2.0.6
|
|||
III. Bug descriptions
|
||||
=====================
|
||||
|
||||
--- START OF OPENED BUGS ---
|
||||
|
||||
--- START OF OPEN BUGS ---
|
||||
|
||||
|
||||
NO-CID-CMAPS
|
||||
|
@ -81,7 +82,7 @@ BAD-TT-RENDERING
|
|||
Some of this has been fixed in 2.0.6; there was a bug in the TrueType
|
||||
loader that prevented it from loading composites correctly. However,
|
||||
there are still _subtle_ differences between FT1 and FT2 when it comes to
|
||||
monochrome TrueType-hinted glyphs (the major differences are gone though !!)
|
||||
monochrome TrueType-hinted glyphs (the major differences are gone though).
|
||||
|
||||
|
||||
|
||||
|
@ -143,7 +144,8 @@ ADVANCED-COMPOSITES
|
|||
|
||||
|
||||
|
||||
--- END OF OPENED BUGS ---
|
||||
--- END OF OPEN BUGS ---
|
||||
|
||||
|
||||
|
||||
BAD-TTNAMEID.H
|
||||
|
@ -170,6 +172,7 @@ BAD-TTNAMEID.H
|
|||
FreeType followed the most recent TrueType/OpenType specification here.
|
||||
|
||||
|
||||
|
||||
AUTOHINT-SBITS
|
||||
|
||||
When trying to load a glyph, with the auto-hinter activated (i.e., when
|
||||
|
@ -186,6 +189,7 @@ AUTOHINT-SBITS
|
|||
further release like FreeType 2.1.
|
||||
|
||||
|
||||
|
||||
BAD-T1-CHARMAP
|
||||
|
||||
Type1 driver doesn't read "cacute" and "lslash" characters from iso8859-2
|
||||
|
@ -196,6 +200,7 @@ BAD-T1-CHARMAP
|
|||
table of glyph names in 'src/psaux/pstables.h'.)
|
||||
|
||||
|
||||
|
||||
BAD-UNIXXXX-NAMES
|
||||
|
||||
Glyph names like uniXXXX are not recognized as they should be. It seems
|
||||
|
@ -206,6 +211,7 @@ BAD-UNIXXXX-NAMES
|
|||
any Postscript font that use this convention, unfortunately.)
|
||||
|
||||
|
||||
|
||||
GLYPH_TO_BITMAP-BUG
|
||||
|
||||
Calling FT_Glyph_To_Bitmap() sometimes modifies the original glyph
|
||||
|
@ -225,45 +231,45 @@ GLYPH_TO_BITMAP-BUG
|
|||
TT-GLYPH-CRASH
|
||||
|
||||
The library crashed when trying to load certain glyphs from an
|
||||
automatically generated TrueType file (tt1095m_.ttf submitted by
|
||||
Scott Long).
|
||||
automatically generated TrueType file (tt1095m_.ttf submitted by Scott
|
||||
Long).
|
||||
|
||||
It turned out that the font contained invalid glyph data (i.e. was broken),
|
||||
but the TrueType glyph loader in FreeType wasn't paranoid enough, which
|
||||
resulted in nasty memory overwrites all over the place.
|
||||
It turned out that the font contained invalid glyph data (i.e. was
|
||||
broken), but the TrueType glyph loader in FreeType wasn't paranoid enough,
|
||||
which resulted in nasty memory overwrites all over the place.
|
||||
|
||||
|
||||
|
||||
T1-FONT-CRASH
|
||||
|
||||
The library crashed when trying to load the "Stalingrad Regular" face
|
||||
from the "sadn.pfb" font file provided by Anthony Fok (and the Gnome-Print
|
||||
team I believe).
|
||||
The library crashed when trying to load the "Stalingrad Regular" face from
|
||||
the "sadn.pfb" font file provided by Anthony Fok (and the Gnome-Print team
|
||||
I believe).
|
||||
|
||||
This was due to the fact that the font missed a full font name entry,
|
||||
though boasted a family name and postscript name. The Type 1 face loader
|
||||
didn't check for these pathetic cases and seg-faulted..
|
||||
though boasted a family name and postscript name. The Type 1 face loader
|
||||
didn't check for these pathetic cases and seg-faulted.
|
||||
|
||||
|
||||
|
||||
BAD-ADVANCES
|
||||
|
||||
All scalable font drivers returned un-fitted glyph advances when
|
||||
FT_LOAD_DEFAULT was used, which was incorrect. This problem was pretty
|
||||
old but hadn't been spotted because all test programs actually
|
||||
explicitely or implicitely (i.e. through the cache) rounded the advance
|
||||
widths of glyphs..
|
||||
FT_LOAD_DEFAULT was used, which was incorrect. This problem was pretty
|
||||
old but hadn't been spotted because all test programs actually explicitly
|
||||
or implicitly (i.e. through the cache) rounded the advance widths of
|
||||
glyphs.
|
||||
|
||||
This resulted in poor rendering of a number of client applications
|
||||
however (it's strange to see they took so long to notice the devel team ?)
|
||||
This resulted in poor rendering of a number of client applications however
|
||||
(it is strange to see they took so long to notify the FreeType team).
|
||||
|
||||
|
||||
|
||||
GLYPH-TO-BITMAP-BUG
|
||||
|
||||
the FT_Glyph_ToBitmap did incorrectly modify the source glyph in certain
|
||||
cases, which resulted in random behaviour and bad text rendering. This was
|
||||
spotted to bugs in both the monochrome and smooth rasterizer..
|
||||
FT_Glyph_To_Bitmap() did incorrectly modify the source glyph in certain
|
||||
cases, which resulted in random behaviour and bad text rendering. This
|
||||
was spotted to bugs in both the monochrome and smooth rasterizer.
|
||||
|
||||
|
||||
=== end of file ===
|
||||
|
|
24
docs/CHANGES
24
docs/CHANGES
|
@ -25,15 +25,14 @@ LATEST CHANGES BETWEEN 2.0.6 and 2.0.5
|
|||
- "glnames.py" still contained a bug that made FreeType return invalid
|
||||
names for certain glyphs.
|
||||
|
||||
|
||||
- the library crashed when loading certain Type 1 fonts like "sadn.pfb"
|
||||
- The library crashed when loading certain Type 1 fonts like "sadn.pfb"
|
||||
("Stalingrad Normal"), which appear to contain pathetic font info
|
||||
dictionaries..
|
||||
dictionaries.
|
||||
|
||||
- the TrueType glyph loader is now much more paranoid and checks everything
|
||||
when loading a given glyph image. This was necessary to avoid problems
|
||||
(crashes and/or memory overwrites) with broken fonts that came from a
|
||||
really buggy automatic font converter..
|
||||
- The TrueType glyph loader is now much more paranoid and checks everything
|
||||
when loading a given glyph image. This was necessary to avoid
|
||||
problems (crashes and/or memory overwrites) with broken fonts that
|
||||
came from a really buggy automatic font converter.
|
||||
|
||||
|
||||
II. IMPORTANT UPDATES AND NEW FEATURES
|
||||
|
@ -80,19 +79,18 @@ LATEST CHANGES BETWEEN 2.0.6 and 2.0.5
|
|||
These are most probably due to small differences in the monochrome
|
||||
rasterizers and will be worked out in an upcoming release.
|
||||
|
||||
|
||||
- We have decided to fork the sources in a "stable" branch, and an
|
||||
"unstable" one, since FreeType is becoming a critical component of
|
||||
many Unix systems.
|
||||
|
||||
The next bug-fix releases of the library will be named 2.0.7,
|
||||
2.0.8, etc.. while the "2.1" branch will contain a version of the
|
||||
sources where we'll start major reworking of the library's internals,
|
||||
in order to produce FreeType 2.2.0 (or even 3.0) in a more distant
|
||||
The next bug-fix releases of the library will be named 2.0.7, 2.0.8,
|
||||
etc., while the "2.1" branch will contain a version of the sources
|
||||
where we will start major reworking of the library's internals, in
|
||||
order to produce FreeType 2.2.0 (or even 3.0) in a more distant
|
||||
future.
|
||||
|
||||
We also hope that this scheme will allow much more frequent releases
|
||||
than in the past
|
||||
than in the past.
|
||||
|
||||
|
||||
============================================================================
|
||||
|
|
|
@ -892,10 +892,10 @@ FT_BEGIN_HEADER
|
|||
/* user :: User-supplied data that is passed to each drawing */
|
||||
/* callback. */
|
||||
/* */
|
||||
/* clip_box :: an optional clipping box. It is only used in */
|
||||
/* direct rendering mode. Note that coordinates */
|
||||
/* here should be expressed in _integer_ pixels */
|
||||
/* (and not 26.6 fixed-point units) */
|
||||
/* clip_box :: An optional clipping box. It is only used in */
|
||||
/* direct rendering mode. Note that coordinates here */
|
||||
/* should be expressed in _integer_ pixels (and not in */
|
||||
/* 26.6 fixed-point units). */
|
||||
/* */
|
||||
/* <Note> */
|
||||
/* An anti-aliased glyph bitmap is drawn if the ft_raster_flag_aa bit */
|
||||
|
|
|
@ -130,7 +130,7 @@
|
|||
FT_CALLBACK_DEF( FT_ULong )
|
||||
ftc_cmap_node_weight( FTC_CMapNode cnode )
|
||||
{
|
||||
FT_UNUSED(cnode);
|
||||
FT_UNUSED( cnode );
|
||||
|
||||
return sizeof ( *cnode );
|
||||
}
|
||||
|
@ -375,7 +375,7 @@
|
|||
|
||||
/* perform lookup */
|
||||
gindex = FT_Get_Char_Index( face, char_code );
|
||||
node->indices[offset] = (FT_UInt16) gindex;
|
||||
node->indices[offset] = (FT_UInt16)gindex;
|
||||
|
||||
/* restore old charmap */
|
||||
FT_Set_Charmap( face, old );
|
||||
|
|
|
@ -120,34 +120,34 @@
|
|||
|
||||
count = priv.num_blue_values = cpriv->num_blue_values;
|
||||
for ( n = 0; n < count; n++ )
|
||||
priv.blue_values[n] = (FT_Short) cpriv->blue_values[n];
|
||||
priv.blue_values[n] = (FT_Short)cpriv->blue_values[n];
|
||||
|
||||
count = priv.num_other_blues = cpriv->num_other_blues;
|
||||
for ( n = 0; n < count; n++ )
|
||||
priv.other_blues[n] = (FT_Short) cpriv->other_blues[n];
|
||||
priv.other_blues[n] = (FT_Short)cpriv->other_blues[n];
|
||||
|
||||
count = priv.num_family_blues = cpriv->num_family_blues;
|
||||
for ( n = 0; n < count; n++ )
|
||||
priv.family_blues[n] = (FT_Short) cpriv->family_blues[n];
|
||||
priv.family_blues[n] = (FT_Short)cpriv->family_blues[n];
|
||||
|
||||
count = priv.num_family_other_blues = cpriv->num_family_other_blues;
|
||||
for ( n = 0; n < count; n++ )
|
||||
priv.family_other_blues[n] = (FT_Short) cpriv->family_other_blues[n];
|
||||
priv.family_other_blues[n] = (FT_Short)cpriv->family_other_blues[n];
|
||||
|
||||
priv.blue_scale = cpriv->blue_scale;
|
||||
priv.blue_shift = cpriv->blue_shift;
|
||||
priv.blue_fuzz = cpriv->blue_fuzz;
|
||||
|
||||
priv.standard_width[0] = (FT_UShort) cpriv->standard_width;
|
||||
priv.standard_height[0] = (FT_UShort) cpriv->standard_height;
|
||||
priv.standard_width[0] = (FT_UShort)cpriv->standard_width;
|
||||
priv.standard_height[0] = (FT_UShort)cpriv->standard_height;
|
||||
|
||||
count = priv.num_snap_widths = cpriv->num_snap_widths;
|
||||
for ( n = 0; n < count; n++ )
|
||||
priv.snap_widths[n] = (FT_Short) cpriv->snap_widths[n];
|
||||
priv.snap_widths[n] = (FT_Short)cpriv->snap_widths[n];
|
||||
|
||||
count = priv.num_snap_heights = cpriv->num_snap_heights;
|
||||
for ( n = 0; n < count; n++ )
|
||||
priv.snap_heights[n] = (FT_Short) cpriv->snap_heights[n];
|
||||
priv.snap_heights[n] = (FT_Short)cpriv->snap_heights[n];
|
||||
|
||||
priv.force_bold = cpriv->force_bold;
|
||||
priv.language_group = cpriv->language_group;
|
||||
|
|
|
@ -1044,7 +1044,7 @@
|
|||
vec[n].y = point->cur_u;
|
||||
|
||||
if ( psh2_point_is_strong( point ) )
|
||||
tags[n] |= (char)((dimension == 0) ? 32 : 64);
|
||||
tags[n] |= (char)( ( dimension == 0 ) ? 32 : 64 );
|
||||
|
||||
#ifdef DEBUG_HINTER
|
||||
if ( dimension == 0 )
|
||||
|
|
|
@ -649,8 +649,8 @@
|
|||
|
||||
/* We also increase maxPoints and maxContours in order to support */
|
||||
/* some broken fonts. */
|
||||
face->root.internal->max_points += (FT_UShort) 8;
|
||||
face->root.internal->max_contours += (FT_Short) 4;
|
||||
face->root.internal->max_points += (FT_UShort)8;
|
||||
face->root.internal->max_contours += (FT_Short) 4;
|
||||
}
|
||||
|
||||
FT_TRACE2(( "MAXP loaded.\n" ));
|
||||
|
|
|
@ -131,8 +131,8 @@
|
|||
val = (FT_Byte)( acc >> 8 );
|
||||
if ( shift )
|
||||
{
|
||||
cur[0] |= (FT_Byte)(val >> shift);
|
||||
cur[1] |= (FT_Byte)(val << space);
|
||||
cur[0] |= (FT_Byte)( val >> shift );
|
||||
cur[1] |= (FT_Byte)( val << space );
|
||||
}
|
||||
else
|
||||
cur[0] |= val;
|
||||
|
@ -164,10 +164,10 @@
|
|||
|
||||
/* now write remaining bits */
|
||||
val = (FT_Byte)( ( (FT_Byte)( acc >> 8 ) ) & ~( 0xFF >> count ) );
|
||||
cur[0] |= (FT_Byte)(val >> shift);
|
||||
cur[0] |= (FT_Byte)( val >> shift );
|
||||
|
||||
if ( count > space )
|
||||
cur[1] |= (FT_Byte)(val << space);
|
||||
cur[1] |= (FT_Byte)( val << space );
|
||||
|
||||
acc <<= count;
|
||||
loaded -= count;
|
||||
|
|
|
@ -635,17 +635,18 @@
|
|||
goto End;
|
||||
}
|
||||
|
||||
/* vertical line - avoids calling gray_render_scanline */
|
||||
/* vertical line - avoid calling gray_render_scanline */
|
||||
incr = 1;
|
||||
|
||||
if( dx == 0 )
|
||||
if ( dx == 0 )
|
||||
{
|
||||
TScan ex = TRUNC( ras.x );
|
||||
TScan two_fx = ( ras.x - SUBPIXELS( ex ) ) << 1;
|
||||
TPos area;
|
||||
TScan ex = TRUNC( ras.x );
|
||||
TScan two_fx = ( ras.x - SUBPIXELS( ex ) ) << 1;
|
||||
TPos area;
|
||||
|
||||
|
||||
first = ONE_PIXEL;
|
||||
if( dy < 0 )
|
||||
if ( dy < 0 )
|
||||
{
|
||||
first = 0;
|
||||
incr = -1;
|
||||
|
|
Loading…
Reference in New Issue