* src/pcfdriver.c: fixed incorrect bitmap width computation

* docs/docmaker.py: updated the DocMaker script in order to add
    command line options (--output,--prefix,--title), fix the erroneous
    line numbers reported during errors and warnings, and other formatting
    issues..

    * src/base/ftcalc.c: various tiny fixes related to rounding in 64-bits
    routines and pseudo"optimisations" :-)
This commit is contained in:
David Turner 2001-05-08 12:58:07 +00:00
parent bc891834b8
commit 750ddcd576
4 changed files with 30 additions and 14 deletions

View File

@ -1,3 +1,17 @@
2001-05-08 Francesco Zappa Nardelli <Francesco.Zappa.Nardelli@ens.fr>
* src/pcfdriver.c: fixed incorrect bitmap width computation
2001-05-08 David Turner <david@freetype.org>
* docs/docmaker.py: updated the DocMaker script in order to add
command line options (--output,--prefix,--title), fix the erroneous
line numbers reported during errors and warnings, and other formatting
issues..
* src/base/ftcalc.c: various tiny fixes related to rounding in 64-bits
routines and pseudo"optimisations" :-)
2001-04-27 David Turner <david@freetype.org>
* src/base/ftbbox.c (BBox_Cubic_Check): Fixed the coefficient

View File

@ -154,7 +154,7 @@ FT_BEGIN_HEADER
/* file "ftconfig.h" either statically, or through Autoconf */
/* on platforms that support it. */
/* */
#undef FT_CONFIG_OPTION_FORCE_INT64
#define FT_CONFIG_OPTION_FORCE_INT64
/*************************************************************************/

View File

@ -135,16 +135,18 @@
FT_Long b,
FT_Long c )
{
FT_Int s;
FT_Int s;
FT_Long d;
s = 1;
if ( a < 0 ) { a = -a; s = -s; }
if ( a < 0 ) { a = -a; s = -1; }
if ( b < 0 ) { b = -b; s = -s; }
if ( c < 0 ) { c = -c; s = -s; }
return s * ( c > 0 ? ( (FT_Int64)a * b + ( c >> 1 ) ) / c
: 0x7FFFFFFFL );
d = ( c > 0 ? ( (FT_Int64)a * b + ( c >> 1 ) ) / c
: 0x7FFFFFFFL );
return ( s > 0 ) ? d : -d;
}
@ -153,14 +155,14 @@
FT_EXPORT_DEF( FT_Long ) FT_MulFix( FT_Long a,
FT_Long b )
{
FT_Int s;
FT_Int s = 1;
FT_Long c;
s = 1;
if ( a < 0 ) { a = -a; s = -s; }
if ( a < 0 ) { a = -a; s = -1; }
if ( b < 0 ) { b = -b; s = -s; }
return s * (FT_Long)( ( (FT_Int64)a * b + 0x8000 ) >> 16 );
c = (FT_Long)( ( (FT_Int64)a * b + 0x8000 ) >> 16 );
return ( s > 0 ) ? c : -c ;
}
@ -181,9 +183,9 @@
q = 0x7FFFFFFFL;
else
/* compute result directly */
q = ( (FT_Int64)a << 16 ) / b;
q = ( ((FT_Int64)a + (b >> 1)) << 16 ) / b;
return (FT_Int32)( s < 0 ? -q : q );
return (FT_Long)( s < 0 ? -q : q );
}

View File

@ -158,7 +158,7 @@ THE SOFTWARE.
metric = face->metrics + glyph_index;
bitmap->rows = metric->ascent + metric->descent;
bitmap->width = metric->characterWidth;
bitmap->width = metric->rightSideBearing - metric->leftSideBearing;
bitmap->num_grays = 1;
bitmap->pixel_mode = ft_pixel_mode_mono;