* 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:
parent
59c9fea654
commit
5da9dd77f2
68
ChangeLog
68
ChangeLog
@ -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>
|
||||
|
||||
|
@ -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
1255
builds/unix/configure
vendored
File diff suppressed because it is too large
Load Diff
@ -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)
|
||||
|
@ -1,4 +1,4 @@
|
||||
#!/bin/sh
|
||||
#! /bin/sh
|
||||
|
||||
prefix=@prefix@
|
||||
exec_prefix=@exec_prefix@
|
||||
|
8
include/freetype/cache/ftccache.h
vendored
8
include/freetype/cache/ftccache.h
vendored
@ -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 );
|
||||
|
||||
|
22
include/freetype/cache/ftcmanag.h
vendored
22
include/freetype/cache/ftcmanag.h
vendored
@ -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 );
|
||||
|
||||
|
@ -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
|
||||
|
||||
|
@ -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;
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
|
@ -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 */
|
||||
|
@ -292,7 +292,7 @@
|
||||
v.y = 0;
|
||||
ft_trig_pseudo_rotate( &v, angle );
|
||||
|
||||
return v.x/(1 << 12);
|
||||
return v.x / ( 1 << 12 );
|
||||
}
|
||||
|
||||
|
||||
|
5
src/cache/ftccache.c
vendored
5
src/cache/ftccache.c
vendored
@ -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
13
src/cache/ftccmap.c
vendored
@ -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 */
|
||||
|
4
src/cache/ftcmanag.c
vendored
4
src/cache/ftcmanag.c
vendored
@ -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 )
|
||||
{
|
||||
|
1
src/cache/ftcsbits.c
vendored
1
src/cache/ftcsbits.c
vendored
@ -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;
|
||||
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -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;
|
||||
|
@ -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 */
|
||||
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user