* src/base/ftglyph (FT_Glyph_To_Bitmap): Remove compiler warning.

* include/freetype/ftcache.h (FTC_Node_Unref): Removed.  It is
already in ftcmanag.h.
* src/cache/ftcsbits.c (ftc_sbit_node_load): Remove unused variable
`gfam'.
* src/cache/ftcmanag.c (ftc_family_table_alloc,
* ftc_family_table_free): Use FT_EXPORT_DEF.
* include/freetype/cache/ftcmanag.h: Updated.
* src/cache/ftccache.c (ftc_node_destroy): Use FT_EXPORT_DEF.
* src/cache/ftccmap.c (ftc_cmap_node_init): Remove unused variable
`cfam'.
Remove compiler warning.
(FTC_CMapCache_Lookup): Remove compiler warnings.
(ftc_cmap_family_init): Ditto.
(FTC_CMapCache_Lookup): Ditto.

* builds/unix/configure.ac: Increase `version_info' to 8:0:2.
* builds/unix/configure: Regenerated.

* builds/mac/README: Updated.
This commit is contained in:
Werner Lemberg 2001-12-16 08:17:33 +00:00
parent 59c9fea654
commit 5da9dd77f2
20 changed files with 821 additions and 705 deletions

View File

@ -1,27 +1,62 @@
2001-12-15 Werner Lemberg <wl@gnu.org>
* src/base/ftglyph (FT_Glyph_To_Bitmap): Remove compiler warning.
* include/freetype/ftcache.h (FTC_Node_Unref): Removed. It is
already in ftcmanag.h.
* src/cache/ftcsbits.c (ftc_sbit_node_load): Remove unused variable
`gfam'.
* src/cache/ftcmanag.c (ftc_family_table_alloc,
* ftc_family_table_free): Use FT_EXPORT_DEF.
* include/freetype/cache/ftcmanag.h: Updated.
* src/cache/ftccache.c (ftc_node_destroy): Use FT_EXPORT_DEF.
* src/cache/ftccmap.c (ftc_cmap_node_init): Remove unused variable
`cfam'.
Remove compiler warning.
(FTC_CMapCache_Lookup): Remove compiler warnings.
(ftc_cmap_family_init): Ditto.
(FTC_CMapCache_Lookup): Ditto.
* builds/unix/configure.ac: Increase `version_info' to 8:0:2.
* builds/unix/configure: Regenerated.
2001-12-14 Werner Lemberg <wl@gnu.org>
* builds/mac/README: Updated.
2001-12-14 Scott Long <scott@swiftview.com>
* src/truetype/ttgload.c (load_truetype_glyph): fixing crash when dealing
with invalid fonts (i.e. glyph size < 10 bytes)..
* src/truetype/ttgload.c (load_truetype_glyph): Fixing crash when
dealing with invalid fonts (i.e. glyph size < 10 bytes).
2001-12-14 Sam Latinga <slouken@devolution.com>
* builds/mac/freetype.mac: a new Makefile to build with MPW on MacOS
classic..
* builds/mac/freetype.make: A new Makefile to build with MPW on
MacOS classic.
2001-12-14 David Turner <david@freetype.org>
* src/truetype/ttgload.c (TT_Load_Glyph), src/type1/t1gload.c
(T1_Load_Glyph), src/cid/cidgload.c (CID_Load_Glyph), src/cff/cffgload.c
(CFF_Load_Glyph): fixed an important bug common to all font drivers (the
advance width was never hinted when it should)
* src/truetype/ttgload.c (TT_Load_Glyph), src/type1/t1gload.c
(T1_Load_Glyph), src/cid/cidgload.c (CID_Load_Glyph),
src/cff/cffgload.c (CFF_Load_Glyph): Fixed a serious bug common to
all font drivers (the advance width was never hinted when it
should).
* include/freetype/freetype.h (FREETYPE_PATCH): New macro.
* src/base/ftdbgmem.c (debug_mem_dummy) [!FT_DEBUG_MEMORY]: Don't
use `extern' keyword.
2001-12-12 David Turner <david@freetype.org>
* src/pshint/pshglob.c: adding correct BlueScale/BlueShift support,
plus family blues processing
* src/pshint/pshglob.c (psh_blues_scale_zones, psh_blues_snap_stem
psh_globals_new): Adding correct BlueScale/BlueShift support, plus
family blues processing.
* src/pshint/pshglob.h (PSH_BluesRec): Updated.
* src/cff/cffgload.c: started adding support for the Postscript hinter
Started adding support for the Postscript hinter in the CFF module.
* src/cff/cffgload.c: Include FT_INTERNAL_POSTSCRIPT_HINTS_H.
(CFF_Parse_CharStrings): Implement it.
* src/cff/cffgload.h: Updated.
2001-12-12 Werner Lemberg <wl@gnu.org>
@ -49,14 +84,14 @@
* INSTALL: Updated the instructions to build shared libraries with
Jam. They were simply wrong.
* src/base/fttrigon.c (FT_Cos): Fixed a small bug that caused slightly
improper results for FT_Cos and FT_Sin (example: FT_Sin(0) == -1!).
* src/base/fttrigon.c (FT_Cos): Fixed a small bug that caused
slightly improper results for `FT_Cos' and `FT_Sin' (example:
FT_Sin(0) == -1!).
2001-12-11 Detlef Würkner <TetiSoft@apg.lahn.de>
* include/freetype/internal/ftstream.h: Fixed the definitions of
GET_LongLE and GET_ULongLE which where incorrect (creating problems
in the pcf driver).
* include/freetype/internal/ftstream.h (GET_LongLE, GET_ULongLE):
Fixed incorrect argument types.
2001-12-10 Francesco Zappa Nardelli <Francesco.Zappa.Nardelli@ens.fr>
@ -67,6 +102,7 @@
* include/freetype/cache/ftccmap.h, src/cache/ftccmap.c: Added new
charmap cache.
* src/cache/ftcache.c: Updated.
2001-12-06 Leonard Rosenthol <leonardr@lazerware.com>

View File

@ -1,5 +1,9 @@
This folder contains supporting code and CodeWarrior Pro 7 project
files to build the FreeType library.
This folder contains
. a Makefile for Apple MPW build environment (currently PPC only)
. supporting code and CodeWarrior Pro 7 project files to build the
FreeType library.
Notes:
The library will be built as a static lib in the obj/ folder.

1255
builds/unix/configure vendored

File diff suppressed because it is too large Load Diff

View File

@ -9,7 +9,7 @@ AC_CONFIG_SRCDIR([ftconfig.in])
dnl configuration file -- stay in 8.3 limit
AC_CONFIG_HEADER(ftconfig.h:ftconfig.in)
version_info='7:0:1'
version_info='8:0:2'
AC_SUBST(version_info)
ft_version=`echo $version_info | tr : .`
AC_SUBST(ft_version)

View File

@ -1,4 +1,4 @@
#!/bin/sh
#! /bin/sh
prefix=@prefix@
exec_prefix=@exec_prefix@

View File

@ -54,14 +54,14 @@ FT_BEGIN_HEADER
#define FTC_NODE(x) ((FTC_Node)(x))
#define FTC_NODE_P(x) ((FTC_Node*)(x))
/* can be used as a FTC_Node_DoneFunc */
FT_EXPORT(void)
/* can be used as a FTC_Node_DoneFunc */
FT_EXPORT( void )
ftc_node_done( FTC_Node node,
FTC_Cache cache );
/* reserved for manager's use */
FT_EXPORT(void)
/* reserved for manager's use */
FT_EXPORT( void )
ftc_node_destroy( FTC_Node node,
FTC_Manager manager );

View File

@ -108,13 +108,13 @@ FT_BEGIN_HEADER
} FTC_FamilyTableRec, *FTC_FamilyTable;
FT_LOCAL FT_Error
FT_EXPORT( FT_Error )
ftc_family_table_alloc( FTC_FamilyTable table,
FT_Memory memory,
FTC_FamilyEntry *aentry );
FT_LOCAL void
FT_EXPORT( void )
ftc_family_table_free( FTC_FamilyTable table,
FT_UInt index );
@ -210,8 +210,22 @@ FT_BEGIN_HEADER
FTC_Manager manager );
/* can be called to decrement a node's reference count */
FT_EXPORT(void)
/*************************************************************************/
/* */
/* <Function> */
/* FTC_Node_Unref */
/* */
/* <Description> */
/* Decrement a cache node's internal reference count. When the count */
/* reaches 0, it is not destroyed but becomes eligible for subsequent */
/* cache flushes. */
/* */
/* <Input> */
/* node :: The cache node handle. */
/* */
/* manager :: The cache manager handle. */
/* */
FT_EXPORT( void )
FTC_Node_Unref( FTC_Node node,
FTC_Manager manager );

View File

@ -67,6 +67,7 @@ FT_BEGIN_HEADER
/* FTC_Manager_Lookup_Size */
/* */
/* FTC_Node */
/* FTC_Node_Ref */
/* FTC_Node_Unref */
/* */
/* FTC_Font */
@ -86,7 +87,7 @@ FT_BEGIN_HEADER
/* FTC_Image_Cache_Lookup */
/* */
/* FTC_SBit_Cache */
/* FTC_Sbit_Cache_Lookup */
/* FTC_SBit_Cache_Lookup */
/* */
/*************************************************************************/
@ -399,26 +400,6 @@ FT_BEGIN_HEADER
FT_Face *aface,
FT_Size *asize );
/*************************************************************************/
/* */
/* <Function> */
/* FTC_Node_Unref */
/* */
/* <Description> */
/* decrement a cache node's internal reference count. when the count */
/* reaches 0, it is not destroyed but becomes eligible for subsequent */
/* cache flushes.. */
/* */
/* <Input> */
/* node :: cache node handle */
/* manager :: cache manager handle */
/* */
FT_EXPORT( void )
FTC_Node_Unref( FTC_Node node,
FTC_Manager manager );
/* */
FT_END_HEADER

View File

@ -69,16 +69,16 @@ FT_BEGIN_HEADER
/* FT_Glyph */
/* */
/* <Description> */
/* Handle to an object used to model generic glyph images. It's a */
/* Handle to an object used to model generic glyph images. It is a */
/* pointer to the @FT_GlyphRec structure and can contain a glyph */
/* bitmap or pointer.. */
/* bitmap or pointer. */
/* */
/* <Note> */
/* glyph objects are not owned by the library. You must thus release */
/* Glyph objects are not owned by the library. You must thus release */
/* them manually (through @FT_Done_Glyph) _before_ calling */
/* @FT_Done_FreeType. */
/* */
typedef struct FT_GlyphRec_* FT_Glyph;
typedef struct FT_GlyphRec_* FT_Glyph;
/*************************************************************************/
@ -115,10 +115,10 @@ FT_BEGIN_HEADER
/* FT_BitmapGlyph */
/* */
/* <Description> */
/* Handle to an object used to model a bitmap glyph image. This is */
/* a sub-class of @FT_Glyph, and a pointer to @FT_BitmapGlyphRec */
/* A handle to an object used to model a bitmap glyph image. This is */
/* a sub-class of @FT_Glyph, and a pointer to @FT_BitmapGlyphRec. */
/* */
typedef struct FT_BitmapGlyphRec_* FT_BitmapGlyph;
typedef struct FT_BitmapGlyphRec_* FT_BitmapGlyph;
/*************************************************************************/
@ -167,10 +167,10 @@ FT_BEGIN_HEADER
/* FT_OutlineGlyph */
/* */
/* <Description> */
/* Handle to an object used to model an outline glyph image. This is */
/* a sub-class of @FT_Glyph, and a pointer to @FT_OutlineGlyphRec */
/* A handle to an object used to model an outline glyph image. This */
/* is a sub-class of @FT_Glyph, and a pointer to @FT_OutlineGlyphRec. */
/* */
typedef struct FT_OutlineGlyphRec_* FT_OutlineGlyph;
typedef struct FT_OutlineGlyphRec_* FT_OutlineGlyph;
/*************************************************************************/

View File

@ -608,6 +608,8 @@
/* if `origin' is set, translate the glyph image */
if ( origin )
FT_Glyph_Transform( glyph, 0, origin );
#else
FT_UNUSED( origin );
#endif
/* prepare dummy slot for rendering */

View File

@ -292,7 +292,7 @@
v.y = 0;
ft_trig_pseudo_rotate( &v, angle );
return v.x/(1 << 12);
return v.x / ( 1 << 12 );
}

View File

@ -147,9 +147,8 @@
}
/* remove a node from the cache manager */
FT_LOCAL_DEF void
/* remove a node from the cache manager */
FT_EXPORT_DEF( void )
ftc_node_destroy( FTC_Node node,
FTC_Manager manager )
{

13
src/cache/ftccmap.c vendored
View File

@ -107,9 +107,9 @@
FTC_CMapQuery cquery,
FTC_Cache cache )
{
FTC_CMapFamily cfam = FTC_CMAP_FAMILY( FTC_QUERY(cquery)->family );
FT_UInt32 first;
FT_UInt n;
FT_UInt32 first;
FT_UInt n;
FT_UNUSED( cache );
first = (cquery->char_code / FTC_CMAP_INDICES_MAX) * FTC_CMAP_INDICES_MAX;
@ -158,7 +158,7 @@
{
FTC_Manager manager = cache->manager;
FTC_CMapDesc desc = cquery->desc;
FT_UInt32 hash;
FT_UInt32 hash = 0;
FT_Error error;
FT_Face face;
@ -331,7 +331,7 @@
FTC_CMapQueryRec cquery;
FTC_CMapNode node;
FT_Error error;
FT_UInt gindex;
FT_UInt gindex = 0;
if ( !cache || !desc )
{
@ -353,7 +353,7 @@
if ( gindex == FTC_CMAP_UNKNOWN )
{
FT_Face face;
FT_CharMap old, cmap, limit;
/* we need to use @FT_Get_Char_Index */
gindex = 0;
@ -387,5 +387,4 @@
}
/* END */

View File

@ -345,7 +345,7 @@
}
FT_LOCAL_DEF FT_Error
FT_EXPORT_DEF( FT_Error )
ftc_family_table_alloc( FTC_FamilyTable table,
FT_Memory memory,
FTC_FamilyEntry *aentry )
@ -411,7 +411,7 @@
}
FT_LOCAL_DEF void
FT_EXPORT_DEF( void )
ftc_family_table_free( FTC_FamilyTable table,
FT_UInt index )
{

View File

@ -128,7 +128,6 @@
{
FT_Error error;
FTC_GlyphNode gnode = FTC_GLYPH_NODE(snode);
FTC_GlyphFamily gfam = FTC_GLYPH_FAMILY(sfam);
FT_Memory memory;
FT_Face face;
FT_Size size;

View File

@ -704,6 +704,7 @@
T2_Hints_Funcs hinter;
/* set default width */
decoder->num_hints = 0;
decoder->read_width = 1;
@ -1064,19 +1065,18 @@
/* the number of arguments is always even here */
FT_TRACE4(( op == cff_op_hstem ? " hstem" :
( op == cff_op_vstem ? " vstem" :
( op == cff_op_hstemhm ? " hstemhm" : " vstemhm" )) ));
( op == cff_op_hstemhm ? " hstemhm" : " vstemhm" ) ) ));
if ( hinter )
hinter->stems( hinter->hints,
( op == cff_op_vstem || op == cff_op_vstemhm ),
num_args/2,
num_args / 2,
args );
decoder->num_hints += num_args / 2;
args = stack;
break;
case cff_op_hintmask:
case cff_op_cntrmask:
FT_TRACE4(( op == cff_op_hintmask ? " hintmask" : " cntrmask" ));
@ -1088,11 +1088,11 @@
if ( op == cff_op_hintmask )
hinter->hintmask( hinter->hints,
builder->current->n_points,
(decoder->num_hints+7) >> 3,
( decoder->num_hints + 7 ) >> 3,
ip );
else
hinter->counter( hinter->hints,
(decoder->num_hints+7) >> 3,
( decoder->num_hints + 7 ) >> 3,
ip );
}
@ -1645,7 +1645,7 @@
/* close hints recording session */
if ( hinter )
{
if (hinter->close( hinter->hints, builder->current->n_points ))
if (hinter->close( hinter->hints, builder->current->n_points ) )
goto Syntax_Error;
/* apply hints to the loaded glyph outline now */
@ -2304,11 +2304,11 @@
if ( hinting )
{
metrics->horiAdvance = (metrics->horiAdvance+32) & -64;
metrics->vertAdvance = (metrics->vertAdvance+32) & -64;
metrics->horiAdvance = ( metrics->horiAdvance + 32 ) & -64;
metrics->vertAdvance = ( metrics->vertAdvance + 32 ) & -64;
metrics->vertBearingX = (metrics->vertBearingX+32) & -64;
metrics->vertBearingY = (metrics->vertBearingY+32) & -64;
metrics->vertBearingX = ( metrics->vertBearingX + 32 ) & -64;
metrics->vertBearingY = ( metrics->vertBearingY + 32 ) & -64;
}
}

View File

@ -333,11 +333,11 @@
if ( hinting )
{
metrics->horiAdvance = (metrics->horiAdvance+32) & -64;
metrics->vertAdvance = (metrics->vertAdvance+32) & -64;
metrics->horiAdvance = ( metrics->horiAdvance + 32 ) & -64;
metrics->vertAdvance = ( metrics->vertAdvance + 32 ) & -64;
metrics->vertBearingX = (metrics->vertBearingX+32) & -64;
metrics->vertBearingY = (metrics->vertBearingY+32) & -64;
metrics->vertBearingX = ( metrics->vertBearingX + 32 ) & -64;
metrics->vertBearingY = ( metrics->vertBearingY + 32 ) & -64;
}
}

View File

@ -346,23 +346,23 @@
PSH_Blue_Table table = 0;
/* */
/* determine wether we need to suppress overshoots or not */
/* we simply need to compare the vertical scale parameter */
/* to the raw bluescale value. Here's why */
/* Determine whether we need to suppress overshoots or */
/* not. We simply need to compare the vertical scale */
/* parameter to the raw bluescale value. Here is why: */
/* */
/* we need to suppress overshoots for all pointsizes */
/* at 300dpi that satisfy: */
/* We need to suppress overshoots for all pointsizes. */
/* At 300dpi that satisfy: */
/* */
/* pointsize < 240*bluescale + 0.49 */
/* */
/* this corresponds to: */
/* This corresponds to: */
/* */
/* pixelsize < 1000*bluescale + 49/24 */
/* */
/* scale*EM_Size < 1000*bluescale + 49/24 */
/* */
/* however, for normal Type 1 fonts, EM_Size is 1000 !! */
/* we thus only check: */
/* However, for normal Type 1 fonts, EM_Size is 1000! */
/* We thus only check: */
/* */
/* scale < bluescale + 49/24000 */
/* */
@ -373,17 +373,18 @@
blues->no_overshoots = FT_BOOL( scale < blues->blue_scale );
/* */
/* the blue threshold is the font units distance under */
/* The blue threshold is the font units distance under */
/* which overshoots are suppressed due to the BlueShift */
/* even if the scale is greater than BlueScale */
/* even if the scale is greater than BlueScale. */
/* */
/* it's the smallest distance such that */
/* It is the smallest distance such that */
/* */
/* dist <= BlueShift && dist*scale <= 0.5 pixels */
/* */
{
FT_Int threshold = blues->blue_shift;
while ( threshold > 0 && FT_MulFix( threshold, scale ) > 32 )
threshold --;
@ -433,32 +434,36 @@
}
/* process the families now */
for ( num = 0; num < 2; num++ )
{
PSH_Blue_Zone zone1, zone2;
FT_UInt count1, count2;
PSH_Blue_Table normal, family;
PSH_Blue_Zone zone1, zone2;
FT_UInt count1, count2;
PSH_Blue_Table normal, family;
switch (num)
switch ( num )
{
case 0:
normal = &blues->normal_top;
family = &blues->family_top;
break;
case 0:
normal = &blues->normal_top;
family = &blues->family_top;
break;
default:
normal = &blues->normal_bottom;
family = &blues->family_bottom;
default:
normal = &blues->normal_bottom;
family = &blues->family_bottom;
}
zone1 = normal->zones;
count1 = normal->count;
for ( ; count1 > 0; count1--, zone1++ )
{
/* try to find a family zone whose reference position is less */
/* than 1 pixel far from the current zone.. */
/* than 1 pixel far from the current zone */
zone2 = family->zones;
count2 = family->count;
for ( ; count2 > 0; count2--, zone2++ )
{
if ( FT_MulFix( zone1->org_ref - zone2->org_ref, scale ) < 64 )
@ -639,7 +644,7 @@
priv->family_other_blues, priv->blue_fuzz, 1 );
globals->blues.blue_scale = priv->blue_scale ? priv->blue_scale
: (0.039625*0x400000L);
: ( 0.039625 * 0x400000L );
globals->blues.blue_shift = priv->blue_shift ? priv->blue_shift
: 7;

View File

@ -1186,7 +1186,7 @@
/* don't forget to hint the advance when we need to */
if ( IS_HINTED( loader->load_flags ) )
glyph->metrics.horiAdvance = (glyph->metrics.horiAdvance+32) & -64;
glyph->metrics.horiAdvance = ( glyph->metrics.horiAdvance + 32 ) & -64;
/* Now take care of vertical metrics. In the case where there is */
/* no vertical information within the font (relatively common), make */

View File

@ -280,11 +280,11 @@
if ( hinting )
{
metrics->horiAdvance = (metrics->horiAdvance+32) & -64;
metrics->vertAdvance = (metrics->vertAdvance+32) & -64;
metrics->horiAdvance = ( metrics->horiAdvance + 32 ) & -64;
metrics->vertAdvance = ( metrics->vertAdvance + 32 ) & -64;
metrics->vertBearingX = (metrics->vertBearingX+32) & -64;
metrics->vertBearingY = (metrics->vertBearingY+32) & -64;
metrics->vertBearingX = ( metrics->vertBearingX + 32 ) & -64;
metrics->vertBearingY = ( metrics->vertBearingY + 32 ) & -64;
}
}