Formatting.

This commit is contained in:
Werner Lemberg 2002-01-09 21:01:18 +00:00
parent 944ac3747e
commit b8ced96ce3
13 changed files with 124 additions and 112 deletions

View File

@ -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> 2002-01-09 Maxim Shemanarev <mcseemagg@yahoo.com>
* src/smooth/ftgrays.c (gray_render_line): small optimisation to * src/smooth/ftgrays.c (gray_render_line): Small optimization to
the smooth anti-aliased renderer that deals with vertical segments. the smooth anti-aliased renderer that deals with vertical segments.
This results in a 5-7% speedup in rendering speed.. This results in a 5-7% speedup in rendering speed.
2002-01-08 David Turner <david@freetype.org> 2002-01-08 David Turner <david@freetype.org>
* configure, install: added some wrapper scripts to make Added some wrapper scripts to make the installation more
the installation more Unix-friendly.. Unix-friendly.
* INSTALL, README.UNX: updated installation documentation * configure, install: New files.
to use the new 'configure' and 'install' scripts..
Oh my.., why didn't we do that before the 2.0.6 release :-)
* INSTALL, README.UNX: Updated installation documentation to use the
new 'configure' and 'install' scripts.
2002-01-07 David Turner <david@freetype.org> 2002-01-07 David Turner <david@freetype.org>
* Version 2.0.6 released. * 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 * src/tools/docmaker.py: Fixed HTML quoting in sources.
a release build (debugging off, bytecode interpreter off) (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, * include/freetype/config/ftoption.h: Setting default options for
src/cff/cffload.c, src/cff/cffobjs.c, src/pshinter/pshalgo2.c, a release build (debugging off, bytecode interpreter off).
src/sfnt/ttload.c, src/sfnt/ttsbit.c: removing small compiler
warnings (in pedantic compilation modes)
* 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> 2002-01-05 David Turner <david@freetype.org>

40
INSTALL
View File

@ -2,31 +2,27 @@ In order to build the library, read the `BUILD' document in the `docs'
directory. This is only a quick starter. directory. This is only a quick starter.
I. UNIX SYSTEMS: I. Unix systems
---------------- ---------------
Simply type: Simply type
./configure ./configure
make make
./install ./install
on the command line to configure, build and install FreeType on the command line to configure, build and install FreeType on your
on your system. Note that the default installation path is system. Note that the default installation path is "/usr/local".
"/usr/local".
Please read the file README.UNX, it contains _critical_ information
Please read the file README.UNX, it contains _critical_ regarding the installation of FreeType on many Unix systems.
information regarding the installation of FreeType on
many Unix systems.
II. From the command line II. From the command line
------------------------ -------------------------
If you're not on Unix, there are two ways to quickly If you are not using Unix, there are two ways to quickly build
build FreeType 2 from the command line. FreeType 2 from the command line.
The first, and favorite one, is to use the "Jam" build tool. Jam is 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 a highly portable replacement for Make whose control files do not
@ -60,7 +56,7 @@ II. From the command line
jam jam
In later releases of FT2, building shared libraries with 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" 2. Building FT2 with "GNU Make"

12
configure vendored
View File

@ -1,9 +1,11 @@
#!/bin/sh #!/bin/sh
# call the 'configure' script located in 'builds/unix'
# this should re-generate the following files:
# #
# config.mk # Call the 'configure' script located in 'builds/unix'.
# Jamfile #
# install # This should re-generate the following files:
#
# config.mk
# Jamfile
# install
# #
make setup unix CFG="$@" make setup unix CFG="$@"

View File

@ -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 "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. 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: we can use abbreviations here, like:
"David" for David Turner "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 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 Identifier Date Closed by Closure date
@ -58,7 +58,8 @@ GLYPH-TO-BITMAP-BUG 15-12-2001 David 2.0.6
III. Bug descriptions III. Bug descriptions
===================== =====================
--- START OF OPENED BUGS ---
--- START OF OPEN BUGS ---
NO-CID-CMAPS 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 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, loader that prevented it from loading composites correctly. However,
there are still _subtle_ differences between FT1 and FT2 when it comes to 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 BAD-TTNAMEID.H
@ -170,6 +172,7 @@ BAD-TTNAMEID.H
FreeType followed the most recent TrueType/OpenType specification here. FreeType followed the most recent TrueType/OpenType specification here.
AUTOHINT-SBITS AUTOHINT-SBITS
When trying to load a glyph, with the auto-hinter activated (i.e., when 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. further release like FreeType 2.1.
BAD-T1-CHARMAP BAD-T1-CHARMAP
Type1 driver doesn't read "cacute" and "lslash" characters from iso8859-2 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'.) table of glyph names in 'src/psaux/pstables.h'.)
BAD-UNIXXXX-NAMES BAD-UNIXXXX-NAMES
Glyph names like uniXXXX are not recognized as they should be. It seems 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.) any Postscript font that use this convention, unfortunately.)
GLYPH_TO_BITMAP-BUG GLYPH_TO_BITMAP-BUG
Calling FT_Glyph_To_Bitmap() sometimes modifies the original glyph Calling FT_Glyph_To_Bitmap() sometimes modifies the original glyph
@ -225,45 +231,45 @@ GLYPH_TO_BITMAP-BUG
TT-GLYPH-CRASH TT-GLYPH-CRASH
The library crashed when trying to load certain glyphs from an The library crashed when trying to load certain glyphs from an
automatically generated TrueType file (tt1095m_.ttf submitted by automatically generated TrueType file (tt1095m_.ttf submitted by Scott
Scott Long). Long).
It turned out that the font contained invalid glyph data (i.e. was broken), It turned out that the font contained invalid glyph data (i.e. was
but the TrueType glyph loader in FreeType wasn't paranoid enough, which broken), but the TrueType glyph loader in FreeType wasn't paranoid enough,
resulted in nasty memory overwrites all over the place. which resulted in nasty memory overwrites all over the place.
T1-FONT-CRASH T1-FONT-CRASH
The library crashed when trying to load the "Stalingrad Regular" face The library crashed when trying to load the "Stalingrad Regular" face from
from the "sadn.pfb" font file provided by Anthony Fok (and the Gnome-Print the "sadn.pfb" font file provided by Anthony Fok (and the Gnome-Print team
team I believe). I believe).
This was due to the fact that the font missed a full font name entry, 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 though boasted a family name and postscript name. The Type 1 face loader
didn't check for these pathetic cases and seg-faulted.. didn't check for these pathetic cases and seg-faulted.
BAD-ADVANCES BAD-ADVANCES
All scalable font drivers returned un-fitted glyph advances when All scalable font drivers returned un-fitted glyph advances when
FT_LOAD_DEFAULT was used, which was incorrect. This problem was pretty FT_LOAD_DEFAULT was used, which was incorrect. This problem was pretty
old but hadn't been spotted because all test programs actually old but hadn't been spotted because all test programs actually explicitly
explicitely or implicitely (i.e. through the cache) rounded the advance or implicitly (i.e. through the cache) rounded the advance widths of
widths of glyphs.. glyphs.
This resulted in poor rendering of a number of client applications This resulted in poor rendering of a number of client applications however
however (it's strange to see they took so long to notice the devel team ?) (it is strange to see they took so long to notify the FreeType team).
GLYPH-TO-BITMAP-BUG GLYPH-TO-BITMAP-BUG
the FT_Glyph_ToBitmap did incorrectly modify the source glyph in certain FT_Glyph_To_Bitmap() did incorrectly modify the source glyph in certain
cases, which resulted in random behaviour and bad text rendering. This was cases, which resulted in random behaviour and bad text rendering. This
spotted to bugs in both the monochrome and smooth rasterizer.. was spotted to bugs in both the monochrome and smooth rasterizer.
=== end of file === === end of file ===

View File

@ -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 - "glnames.py" still contained a bug that made FreeType return invalid
names for certain glyphs. 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 ("Stalingrad Normal"), which appear to contain pathetic font info
dictionaries.. dictionaries.
- the TrueType glyph loader is now much more paranoid and checks everything - The TrueType glyph loader is now much more paranoid and checks everything
when loading a given glyph image. This was necessary to avoid problems when loading a given glyph image. This was necessary to avoid
(crashes and/or memory overwrites) with broken fonts that came from a problems (crashes and/or memory overwrites) with broken fonts that
really buggy automatic font converter.. came from a really buggy automatic font converter.
II. IMPORTANT UPDATES AND NEW FEATURES 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 These are most probably due to small differences in the monochrome
rasterizers and will be worked out in an upcoming release. rasterizers and will be worked out in an upcoming release.
- We have decided to fork the sources in a "stable" branch, and an - We have decided to fork the sources in a "stable" branch, and an
"unstable" one, since FreeType is becoming a critical component of "unstable" one, since FreeType is becoming a critical component of
many Unix systems. many Unix systems.
The next bug-fix releases of the library will be named 2.0.7, The next bug-fix releases of the library will be named 2.0.7, 2.0.8,
2.0.8, etc.. while the "2.1" branch will contain a version of the etc., while the "2.1" branch will contain a version of the sources
sources where we'll start major reworking of the library's internals, where we will start major reworking of the library's internals, in
in order to produce FreeType 2.2.0 (or even 3.0) in a more distant order to produce FreeType 2.2.0 (or even 3.0) in a more distant
future. future.
We also hope that this scheme will allow much more frequent releases We also hope that this scheme will allow much more frequent releases
than in the past than in the past.
============================================================================ ============================================================================

View File

@ -892,10 +892,10 @@ FT_BEGIN_HEADER
/* user :: User-supplied data that is passed to each drawing */ /* user :: User-supplied data that is passed to each drawing */
/* callback. */ /* callback. */
/* */ /* */
/* clip_box :: an optional clipping box. It is only used in */ /* clip_box :: An optional clipping box. It is only used in */
/* direct rendering mode. Note that coordinates */ /* direct rendering mode. Note that coordinates here */
/* here should be expressed in _integer_ pixels */ /* should be expressed in _integer_ pixels (and not in */
/* (and not 26.6 fixed-point units) */ /* 26.6 fixed-point units). */
/* */ /* */
/* <Note> */ /* <Note> */
/* An anti-aliased glyph bitmap is drawn if the ft_raster_flag_aa bit */ /* An anti-aliased glyph bitmap is drawn if the ft_raster_flag_aa bit */

View File

@ -1,2 +1,2 @@
#! /bin/sh #! /bin/sh
make install make install

4
src/cache/ftccmap.c vendored
View File

@ -130,7 +130,7 @@
FT_CALLBACK_DEF( FT_ULong ) FT_CALLBACK_DEF( FT_ULong )
ftc_cmap_node_weight( FTC_CMapNode cnode ) ftc_cmap_node_weight( FTC_CMapNode cnode )
{ {
FT_UNUSED(cnode); FT_UNUSED( cnode );
return sizeof ( *cnode ); return sizeof ( *cnode );
} }
@ -375,7 +375,7 @@
/* perform lookup */ /* perform lookup */
gindex = FT_Get_Char_Index( face, char_code ); gindex = FT_Get_Char_Index( face, char_code );
node->indices[offset] = (FT_UInt16) gindex; node->indices[offset] = (FT_UInt16)gindex;
/* restore old charmap */ /* restore old charmap */
FT_Set_Charmap( face, old ); FT_Set_Charmap( face, old );

View File

@ -120,34 +120,34 @@
count = priv.num_blue_values = cpriv->num_blue_values; count = priv.num_blue_values = cpriv->num_blue_values;
for ( n = 0; n < count; n++ ) 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; count = priv.num_other_blues = cpriv->num_other_blues;
for ( n = 0; n < count; n++ ) 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; count = priv.num_family_blues = cpriv->num_family_blues;
for ( n = 0; n < count; n++ ) 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; count = priv.num_family_other_blues = cpriv->num_family_other_blues;
for ( n = 0; n < count; n++ ) 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_scale = cpriv->blue_scale;
priv.blue_shift = cpriv->blue_shift; priv.blue_shift = cpriv->blue_shift;
priv.blue_fuzz = cpriv->blue_fuzz; priv.blue_fuzz = cpriv->blue_fuzz;
priv.standard_width[0] = (FT_UShort) cpriv->standard_width; priv.standard_width[0] = (FT_UShort)cpriv->standard_width;
priv.standard_height[0] = (FT_UShort) cpriv->standard_height; priv.standard_height[0] = (FT_UShort)cpriv->standard_height;
count = priv.num_snap_widths = cpriv->num_snap_widths; count = priv.num_snap_widths = cpriv->num_snap_widths;
for ( n = 0; n < count; n++ ) 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; count = priv.num_snap_heights = cpriv->num_snap_heights;
for ( n = 0; n < count; n++ ) 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.force_bold = cpriv->force_bold;
priv.language_group = cpriv->language_group; priv.language_group = cpriv->language_group;

View File

@ -1044,7 +1044,7 @@
vec[n].y = point->cur_u; vec[n].y = point->cur_u;
if ( psh2_point_is_strong( point ) ) if ( psh2_point_is_strong( point ) )
tags[n] |= (char)((dimension == 0) ? 32 : 64); tags[n] |= (char)( ( dimension == 0 ) ? 32 : 64 );
#ifdef DEBUG_HINTER #ifdef DEBUG_HINTER
if ( dimension == 0 ) if ( dimension == 0 )

View File

@ -649,8 +649,8 @@
/* We also increase maxPoints and maxContours in order to support */ /* We also increase maxPoints and maxContours in order to support */
/* some broken fonts. */ /* some broken fonts. */
face->root.internal->max_points += (FT_UShort) 8; face->root.internal->max_points += (FT_UShort)8;
face->root.internal->max_contours += (FT_Short) 4; face->root.internal->max_contours += (FT_Short) 4;
} }
FT_TRACE2(( "MAXP loaded.\n" )); FT_TRACE2(( "MAXP loaded.\n" ));

View File

@ -131,8 +131,8 @@
val = (FT_Byte)( acc >> 8 ); val = (FT_Byte)( acc >> 8 );
if ( shift ) if ( shift )
{ {
cur[0] |= (FT_Byte)(val >> shift); cur[0] |= (FT_Byte)( val >> shift );
cur[1] |= (FT_Byte)(val << space); cur[1] |= (FT_Byte)( val << space );
} }
else else
cur[0] |= val; cur[0] |= val;
@ -164,10 +164,10 @@
/* now write remaining bits */ /* now write remaining bits */
val = (FT_Byte)( ( (FT_Byte)( acc >> 8 ) ) & ~( 0xFF >> count ) ); val = (FT_Byte)( ( (FT_Byte)( acc >> 8 ) ) & ~( 0xFF >> count ) );
cur[0] |= (FT_Byte)(val >> shift); cur[0] |= (FT_Byte)( val >> shift );
if ( count > space ) if ( count > space )
cur[1] |= (FT_Byte)(val << space); cur[1] |= (FT_Byte)( val << space );
acc <<= count; acc <<= count;
loaded -= count; loaded -= count;

View File

@ -635,17 +635,18 @@
goto End; goto End;
} }
/* vertical line - avoids calling gray_render_scanline */ /* vertical line - avoid calling gray_render_scanline */
incr = 1; incr = 1;
if( dx == 0 ) if ( dx == 0 )
{ {
TScan ex = TRUNC( ras.x ); TScan ex = TRUNC( ras.x );
TScan two_fx = ( ras.x - SUBPIXELS( ex ) ) << 1; TScan two_fx = ( ras.x - SUBPIXELS( ex ) ) << 1;
TPos area; TPos area;
first = ONE_PIXEL; first = ONE_PIXEL;
if( dy < 0 ) if ( dy < 0 )
{ {
first = 0; first = 0;
incr = -1; incr = -1;