- updated doc for FT_New_Memory_Face
- removed lots of compiler warnings in lint-style warning modes (/W4 with Visual C++)
This commit is contained in:
parent
cf24d51531
commit
8edbcabce1
|
@ -1458,14 +1458,14 @@ FT_BEGIN_HEADER
|
|||
/* */
|
||||
typedef struct FT_Open_Args_
|
||||
{
|
||||
FT_Open_Flags flags;
|
||||
FT_Byte* memory_base;
|
||||
FT_Long memory_size;
|
||||
FT_String* pathname;
|
||||
FT_Stream stream;
|
||||
FT_Module driver;
|
||||
FT_Int num_params;
|
||||
FT_Parameter* params;
|
||||
FT_Open_Flags flags;
|
||||
const FT_Byte* memory_base;
|
||||
FT_Long memory_size;
|
||||
FT_String* pathname;
|
||||
FT_Stream stream;
|
||||
FT_Module driver;
|
||||
FT_Int num_params;
|
||||
FT_Parameter* params;
|
||||
|
||||
} FT_Open_Args;
|
||||
|
||||
|
@ -1536,6 +1536,11 @@ FT_BEGIN_HEADER
|
|||
/* FreeType error code. 0 means success. */
|
||||
/* */
|
||||
/* <Note> */
|
||||
/* the font data bytes are used _directly_ by the @FT_Face object. */
|
||||
/* this means that they're not copied, and that the client is */
|
||||
/* responsible for releasing/destroying them _after_ the */
|
||||
/* corresponding call to @FT_Done_Face */
|
||||
/* */
|
||||
/* Unlike FreeType 1.x, this function automatically creates a glyph */
|
||||
/* slot for the face object which can be accessed directly through */
|
||||
/* `face->glyph'. */
|
||||
|
@ -1546,11 +1551,11 @@ FT_BEGIN_HEADER
|
|||
/* `aface'. Its return value should be 0 if the font format is */
|
||||
/* recognized, or non-zero if not. */
|
||||
/* */
|
||||
FT_EXPORT( FT_Error ) FT_New_Memory_Face( FT_Library library,
|
||||
FT_Byte* file_base,
|
||||
FT_Long file_size,
|
||||
FT_Long face_index,
|
||||
FT_Face *aface );
|
||||
FT_EXPORT( FT_Error ) FT_New_Memory_Face( FT_Library library,
|
||||
const FT_Byte* file_base,
|
||||
FT_Long file_size,
|
||||
FT_Long face_index,
|
||||
FT_Face *aface );
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
|
|
|
@ -13,91 +13,128 @@
|
|||
/* this file you indicate that you have read the license and */
|
||||
/* understand and accept it fully. */
|
||||
/* */
|
||||
/* */
|
||||
/* This special header file is used to define the FT2 enumeration */
|
||||
/* constants. It can also be used to generate error message strings */
|
||||
/* with a small macro trick explained below. */
|
||||
/* */
|
||||
/* I - Error Formats: */
|
||||
/* ------------------ */
|
||||
/* */
|
||||
/* Since release 2.1, the error constants have changed. The lower byte */
|
||||
/* of the error value gives the "generic" error code, while the higher */
|
||||
/* bytes indicates in which module the error occured. */
|
||||
/* */
|
||||
/* You can use the macro FT_ERROR_BASE(x) macro to extract the */
|
||||
/* generic error code from a FT_Error */
|
||||
/* */
|
||||
/* The configuration macro FT_CONFIG_OPTION_USE_MODULE_ERRORS can */
|
||||
/* be undefined in ftoption.h in order to make the higher byte always */
|
||||
/* zero, in case you'd need to be compatible with previous versions */
|
||||
/* of FT2. */
|
||||
/* */
|
||||
/* */
|
||||
/* II - Error Message strings: */
|
||||
/* --------------------------- */
|
||||
/* */
|
||||
/* The error definitions below are made through special macros that */
|
||||
/* allow client applications to build a table of error message strings */
|
||||
/* if they need it. The strings are not included in a normal build of */
|
||||
/* FT2 to save space (most client apps do not use them) */
|
||||
/* */
|
||||
/* To do so, you'll need to define the following macros before */
|
||||
/* including this file: */
|
||||
/* */
|
||||
/* FT_ERROR_START_LIST :: */
|
||||
/* this macro is called before anything else to define the */
|
||||
/* start of the error list. It is followed by several */
|
||||
/* FT_ERROR_DEF calls (see below) */
|
||||
/* */
|
||||
/* FT_ERROR_DEF( e, v, s ) :: */
|
||||
/* this macro is called to define one single error. */
|
||||
/* 'e' is the error code identifier (e.g. FT_Err_Invalid_Argument) */
|
||||
/* 'v' is the error numerical value */
|
||||
/* 's' is the corresponding error string */
|
||||
/* */
|
||||
/* FT_ERROR_END_LIST :: */
|
||||
/* this macro is used to end the list. */
|
||||
/* */
|
||||
/* Additionally, you'll need to undefine __FTERRORS_H__ before */
|
||||
/* #including this file. */
|
||||
/* */
|
||||
/* Here's a simple example: */
|
||||
/* */
|
||||
/* { */
|
||||
/* #undef __FTERRORS_H__ */
|
||||
/* #define FT_ERRORDEF( e, v, s ) { e, s }, */
|
||||
/* #define FT_ERROR_START_LIST { */
|
||||
/* #define FT_ERROR_END_LIST { 0, 0 } }; */
|
||||
/* */
|
||||
/* const struct */
|
||||
/* { */
|
||||
/* int err_code; */
|
||||
/* const char* err_msg */
|
||||
/* } ft_errors[] = */
|
||||
/* */
|
||||
/* #include FT_ERRORS_H */
|
||||
/* } */
|
||||
/* */
|
||||
/* */
|
||||
/***************************************************************************/
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* This file is used to define the FreeType error enumeration constants. */
|
||||
/* */
|
||||
/* The lower byte gives the error code, the higher byte gives the */
|
||||
/* module. The base module has error offset 0. For example, the error */
|
||||
/* `FT_Err_Invalid_File_Format' has value 0x003, the error */
|
||||
/* `TT_Err_Invalid_File_Format' has value 0xB03, the error */
|
||||
/* `T1_Err_Invalid_File_Format' has value 0xC03, etc. */
|
||||
/* */
|
||||
/* Undefine the macro FT_CONFIG_OPTION_USE_MODULE_ERRORS (in ftoption.h) */
|
||||
/* to make the higher byte always zero. */
|
||||
/* */
|
||||
/* It can also be used to create an error message table easily with */
|
||||
/* something like */
|
||||
/* */
|
||||
/* { */
|
||||
/* #undef __FTERRORS_H__ */
|
||||
/* #define FT_ERRORDEF( e, v, s ) { e, s }, */
|
||||
/* #define FT_ERROR_START_LIST { */
|
||||
/* #define FT_ERROR_END_LIST { 0, 0 } }; */
|
||||
/* */
|
||||
/* const struct */
|
||||
/* { */
|
||||
/* int err_code; */
|
||||
/* const char* err_msg */
|
||||
/* } ft_errors[] = */
|
||||
/* */
|
||||
/* #include FT_ERRORS_H */
|
||||
/* } */
|
||||
/* */
|
||||
/* To use such a table, all errors must be ANDed with 0x00FF to remove */
|
||||
/* the module error offset. */
|
||||
/* */
|
||||
/*************************************************************************/
|
||||
|
||||
|
||||
#ifndef __FTERRORS_H__
|
||||
#define __FTERRORS_H__
|
||||
|
||||
|
||||
/*******************************************************************/
|
||||
/*******************************************************************/
|
||||
/***** *****/
|
||||
/***** SETUP MACROS *****/
|
||||
/***** *****/
|
||||
/*******************************************************************/
|
||||
/*******************************************************************/
|
||||
|
||||
#include FT_MODULE_ERRORS_H
|
||||
|
||||
#undef FT_NEED_EXTERN_C
|
||||
|
||||
|
||||
/* public interface */
|
||||
|
||||
#ifndef FT_ERRORDEF
|
||||
|
||||
#define FT_ERRORDEF( e, v, s ) e = v,
|
||||
# define FT_ERRORDEF( e, v, s ) e = v,
|
||||
|
||||
#ifdef __cplusplus
|
||||
#define FT_NEED_EXTERN_C
|
||||
extern "C" {
|
||||
#endif
|
||||
# ifdef __cplusplus
|
||||
# define FT_NEED_EXTERN_C
|
||||
extern "C" {
|
||||
# endif
|
||||
|
||||
#endif /* !FT_ERRORDEF */
|
||||
|
||||
|
||||
#ifndef FT_ERROR_START_LIST
|
||||
# define FT_ERROR_START_LIST enum {
|
||||
#endif
|
||||
|
||||
#define FT_ERROR_START_LIST enum {
|
||||
#define FT_ERROR_END_LIST FT_Err_Max };
|
||||
|
||||
#endif /* !FT_ERROR_START_LIST */
|
||||
#ifndef FT_ERROR_END_LIST
|
||||
# define FT_ERROR_END_LIST FT_Err_Max };
|
||||
#endif
|
||||
|
||||
|
||||
/* internal interface */
|
||||
|
||||
#ifndef FT_ERRORDEF_
|
||||
|
||||
#define FT_ERRORDEF_( e, v, s ) \
|
||||
FT_ERRORDEF( FT_Err_ ## e, v + FT_Mod_Err_Base, s )
|
||||
FT_ERRORDEF( FT_Err_ ## e, v + FT_Mod_Err_Base, s )
|
||||
|
||||
#define FT_NOERRORDEF_( e, v, s ) \
|
||||
FT_ERRORDEF( FT_Err_ ## e, v, s )
|
||||
|
||||
#endif /* !FT_ERRORDEF_ */
|
||||
FT_ERRORDEF( FT_Err_ ## e, v, s )
|
||||
|
||||
|
||||
#ifdef FT_ERROR_START_LIST
|
||||
/*******************************************************************/
|
||||
/*******************************************************************/
|
||||
/***** *****/
|
||||
/***** LIST ERROR CODES/MESSAGES *****/
|
||||
/***** *****/
|
||||
/*******************************************************************/
|
||||
/*******************************************************************/
|
||||
|
||||
FT_ERROR_START_LIST
|
||||
#endif
|
||||
|
||||
|
||||
/* generic errors */
|
||||
|
@ -276,11 +313,17 @@
|
|||
"argument stack underflow" )
|
||||
|
||||
|
||||
#ifdef FT_ERROR_END_LIST
|
||||
FT_ERROR_END_LIST
|
||||
#endif
|
||||
|
||||
|
||||
/*******************************************************************/
|
||||
/*******************************************************************/
|
||||
/***** *****/
|
||||
/***** SIMPLE CLEANUPP *****/
|
||||
/***** *****/
|
||||
/*******************************************************************/
|
||||
/*******************************************************************/
|
||||
|
||||
#undef FT_ERROR_START_LIST
|
||||
#undef FT_ERROR_END_LIST
|
||||
#undef FT_ERRORDEF
|
||||
|
@ -292,7 +335,6 @@
|
|||
}
|
||||
#endif
|
||||
|
||||
#endif /* __FTERRORS_H__ */
|
||||
|
||||
#endif /* __FT_ERRORS_H__ */
|
||||
|
||||
/* END */
|
||||
|
|
|
@ -512,6 +512,7 @@ FT_BEGIN_HEADER
|
|||
/* return base error code (without module-specific prefix) */
|
||||
#define FT_ERROR_BASE( x ) ( (x) & 255 )
|
||||
|
||||
#define FT_BOOL(x) ((FT_Bool)(x))
|
||||
|
||||
FT_END_HEADER
|
||||
|
||||
|
|
|
@ -221,6 +221,14 @@ FT_BEGIN_HEADER
|
|||
#define FT_TRACE6( varformat ) FT_TRACE( 6, varformat )
|
||||
#define FT_TRACE7( varformat ) FT_TRACE( 7, varformat )
|
||||
|
||||
#if defined( _MSC_VER ) /* Visual C++ (and Intel C++) */
|
||||
|
||||
/* we disable the warnings "conditional expression is constant" here */
|
||||
/* in order to compile cleanly with the maximum level of warnings */
|
||||
#pragma warning( disable : 4127 )
|
||||
|
||||
#endif /* _MSC_VER */
|
||||
|
||||
|
||||
FT_END_HEADER
|
||||
|
||||
|
|
|
@ -143,63 +143,77 @@ FT_BEGIN_HEADER
|
|||
/* integer extraction macros -- the `buffer' parameter must ALWAYS be of */
|
||||
/* type `char*' or equivalent (1-byte elements). */
|
||||
/* */
|
||||
|
||||
#define FT_GET_SHORT_BE(p) \
|
||||
((short)( ((signed char)(p)[0] << 8) | \
|
||||
(p)[1] ))
|
||||
|
||||
#define FT_GET_OFF3_BE(p) \
|
||||
((long) ( ((signed char)(p)[0] << 16) | \
|
||||
((p)[1] << 8) | \
|
||||
(p)[2] ))
|
||||
|
||||
#define FT_GET_LONG_BE(p) \
|
||||
((long) ( ((signed char)(p)[0] << 24) | \
|
||||
((p)[1] << 16) | \
|
||||
((p)[2] << 8) | \
|
||||
(p)[3] ))
|
||||
|
||||
#define FT_GET_SHORT_LE(p) \
|
||||
((short)( ((signed char)(p)[1] << 8) | \
|
||||
(p)[0] ))
|
||||
|
||||
#define FT_GET_OFF3_LE(p) \
|
||||
((long) ( ((signed char)(p)[2] << 16) | \
|
||||
((p)[1] << 8) | \
|
||||
(p)[0] ))
|
||||
|
||||
#define FT_GET_LONG_LE(p) \
|
||||
((long) ( ((signed char)(p)[3] << 24) | \
|
||||
((p)[2] << 16) | \
|
||||
((p)[1] << 8) | \
|
||||
(p)[0] ))
|
||||
|
||||
#define NEXT_Char( buffer ) \
|
||||
( (signed char)*buffer++ )
|
||||
|
||||
#define NEXT_Byte( buffer ) \
|
||||
( (unsigned char)*buffer++ )
|
||||
|
||||
#define NEXT_Short( buffer ) \
|
||||
( buffer += 2, \
|
||||
( (short)( (signed char)buffer[-2] << 8 ) | \
|
||||
(unsigned char)buffer[-1] ) )
|
||||
( (short)( buffer += 2, FT_GET_SHORT_BE(buffer-2) ) )
|
||||
|
||||
#define NEXT_UShort( buffer ) \
|
||||
( (unsigned short)NEXT_Short( buffer ) )
|
||||
|
||||
#define NEXT_Offset( buffer ) \
|
||||
( buffer += 3, \
|
||||
( ( (long)(signed char)buffer[-3] << 16 ) | \
|
||||
( (long)(unsigned char)buffer[-2] << 8 ) | \
|
||||
(long)(unsigned char)buffer[-1] ) )
|
||||
#define NEXT_Offset( buffer ) \
|
||||
( (long)( buffer += 3, FT_GET_OFF3_BE(buffer-3) ) )
|
||||
|
||||
#define NEXT_UOffset( buffer ) \
|
||||
( (unsigned long)NEXT_Offset( buffer ) )
|
||||
|
||||
#define NEXT_Long( buffer ) \
|
||||
( buffer += 4, \
|
||||
( ( (long)(signed char)buffer[-4] << 24 ) | \
|
||||
( (long)(unsigned char)buffer[-3] << 16 ) | \
|
||||
( (long)(unsigned char)buffer[-2] << 8 ) | \
|
||||
(long)(unsigned char)buffer[-1] ) )
|
||||
#define NEXT_Long( buffer ) \
|
||||
( (long)( buffer += 4, FT_GET_LONG_BE(buffer-4) ) )
|
||||
|
||||
#define NEXT_ULong( buffer ) \
|
||||
( (unsigned long)NEXT_Long( buffer ) )
|
||||
|
||||
|
||||
#define NEXT_ShortLE( buffer ) \
|
||||
( buffer += 2, \
|
||||
( (short)( (signed char)buffer[-1] << 8 ) | \
|
||||
(unsigned char)buffer[-2] ) )
|
||||
( (short)( buffer += 2, FT_GET_SHORT_LE(buffer-2) ) )
|
||||
|
||||
#define NEXT_UShortLE( buffer ) \
|
||||
( (unsigned short)NEXT_ShortLE( buffer ) )
|
||||
|
||||
#define NEXT_OffsetLE( buffer ) \
|
||||
( buffer += 3, \
|
||||
( ( (long)(signed char)buffer[-1] << 16 ) | \
|
||||
( (long)(unsigned char)buffer[-2] << 8 ) | \
|
||||
(long)(unsigned char)buffer[-3] ) )
|
||||
( (long)( buffer += 3, FT_GET_OFF3_LE(buffer-3) ) )
|
||||
|
||||
#define NEXT_UOffsetLE( buffer ) \
|
||||
( (unsigned long)NEXT_OffsetLE( buffer ) )
|
||||
( (unsigned long)NEXT_OffsetLE( buffer ) )
|
||||
|
||||
|
||||
#define NEXT_LongLE( buffer ) \
|
||||
( buffer += 4, \
|
||||
( ( (long)(signed char)buffer[-1] << 24 ) | \
|
||||
( (long)(unsigned char)buffer[-2] << 16 ) | \
|
||||
( (long)(unsigned char)buffer[-3] << 8 ) | \
|
||||
(long)(unsigned char)buffer[-4] ) )
|
||||
( (long)( buffer += 4, FT_GET_LONG_LE(buffer-4) ) )
|
||||
|
||||
#define NEXT_ULongLE( buffer ) \
|
||||
( (unsigned long)NEXT_LongLE( buffer ) )
|
||||
|
|
|
@ -20,6 +20,7 @@
|
|||
|
||||
|
||||
#include <ft2build.h>
|
||||
#include FT_INTERNAL_DEBUG_H
|
||||
#include "ahglobal.h"
|
||||
#include "ahglyph.h"
|
||||
|
||||
|
@ -214,9 +215,9 @@
|
|||
} while ( next != index );
|
||||
|
||||
/* now, set the `round' flag depending on the segment's kind */
|
||||
round =
|
||||
round = FT_BOOL(
|
||||
FT_CURVE_TAG( glyph->outline.tags[prev] ) != FT_Curve_Tag_On ||
|
||||
FT_CURVE_TAG( glyph->outline.tags[next] ) != FT_Curve_Tag_On ;
|
||||
FT_CURVE_TAG( glyph->outline.tags[next] ) != FT_Curve_Tag_On );
|
||||
|
||||
AH_LOG(( "%c ", round ? 'r' : 'f' ));
|
||||
}
|
||||
|
@ -265,7 +266,7 @@
|
|||
{
|
||||
FT_Pos ref = *blue_ref;
|
||||
FT_Pos shoot = *blue_shoot;
|
||||
FT_Bool over_ref = ( shoot > ref );
|
||||
FT_Bool over_ref = FT_BOOL( shoot > ref );
|
||||
|
||||
|
||||
if ( AH_IS_TOP_BLUE( blue ) ^ over_ref )
|
||||
|
|
|
@ -558,7 +558,7 @@
|
|||
for ( ; contour < contour_limit; contour++, end++ )
|
||||
{
|
||||
contour[0] = points + index;
|
||||
index = end[0] + 1;
|
||||
index = (short)(end[0] + 1);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -959,9 +959,9 @@
|
|||
/* check that the segments are correctly oriented and */
|
||||
/* positioned to form a black distance */
|
||||
|
||||
is_dir = ( seg1->dir == outline->horz_major_dir ||
|
||||
seg1->dir == outline->vert_major_dir );
|
||||
is_pos = pos1 > pos2;
|
||||
is_dir = (FT_Bool)( seg1->dir == outline->horz_major_dir ||
|
||||
seg1->dir == outline->vert_major_dir );
|
||||
is_pos = (FT_Bool)(pos1 > pos2);
|
||||
|
||||
if ( pos1 == pos2 || !(is_dir ^ is_pos) )
|
||||
continue;
|
||||
|
@ -1199,7 +1199,7 @@
|
|||
|
||||
/* check for links -- if seg->serif is set, then seg->link must */
|
||||
/* be ignored */
|
||||
is_serif = seg->serif && seg->serif->edge != edge;
|
||||
is_serif = (FT_Bool)(seg->serif && seg->serif->edge != edge);
|
||||
|
||||
if ( seg->link || is_serif )
|
||||
{
|
||||
|
@ -1371,8 +1371,8 @@
|
|||
/* zone, check for left edges */
|
||||
/* */
|
||||
/* of course, that's for TrueType XXX */
|
||||
FT_Bool is_top_blue = AH_IS_TOP_BLUE( blue );
|
||||
FT_Bool is_major_dir = edge->dir == outline->horz_major_dir;
|
||||
FT_Bool is_top_blue = FT_BOOL(AH_IS_TOP_BLUE( blue ));
|
||||
FT_Bool is_major_dir = FT_BOOL(edge->dir == outline->horz_major_dir);
|
||||
|
||||
if ( !blue_active[blue] )
|
||||
continue;
|
||||
|
@ -1403,7 +1403,7 @@
|
|||
/* top zone, or under the reference position of a bottom zone */
|
||||
if ( edge->flags & ah_edge_round && dist != 0 )
|
||||
{
|
||||
FT_Bool is_under_ref = edge->fpos < *blue_pos;
|
||||
FT_Bool is_under_ref = FT_BOOL( edge->fpos < *blue_pos );
|
||||
|
||||
|
||||
if ( is_top_blue ^ is_under_ref )
|
||||
|
|
|
@ -1004,10 +1004,10 @@
|
|||
FT_Error error;
|
||||
AH_Outline* outline = hinter->glyph;
|
||||
AH_Loader* gloader = hinter->loader;
|
||||
FT_Bool no_horz_hints =
|
||||
( load_flags & AH_HINT_NO_HORZ_EDGES ) != 0;
|
||||
FT_Bool no_vert_hints =
|
||||
( load_flags & AH_HINT_NO_VERT_EDGES ) != 0;
|
||||
FT_Bool no_horz_hints = FT_BOOL(
|
||||
( load_flags & AH_HINT_NO_HORZ_EDGES ) != 0 );
|
||||
FT_Bool no_vert_hints = FT_BOOL(
|
||||
( load_flags & AH_HINT_NO_VERT_EDGES ) != 0 );
|
||||
|
||||
|
||||
/* load the glyph */
|
||||
|
@ -1251,7 +1251,7 @@
|
|||
|
||||
|
||||
dummy.points += num_base_points;
|
||||
dummy.n_points = num_new_points;
|
||||
dummy.n_points = (short)num_new_points;
|
||||
|
||||
FT_Outline_Translate( &dummy, x, y );
|
||||
}
|
||||
|
|
|
@ -187,7 +187,7 @@
|
|||
{
|
||||
error = 0;
|
||||
FT_New_Memory_Stream( library,
|
||||
args->memory_base,
|
||||
(FT_Byte*)args->memory_base,
|
||||
args->memory_size,
|
||||
stream );
|
||||
}
|
||||
|
@ -529,13 +529,13 @@
|
|||
FT_UInt n;
|
||||
|
||||
|
||||
base->outline.n_points += current->outline.n_points;
|
||||
base->outline.n_contours += current->outline.n_contours;
|
||||
base->outline.n_points = (short)( base->outline.n_points + current->outline.n_points );
|
||||
base->outline.n_contours = (short)( base->outline.n_contours + current->outline.n_contours );
|
||||
base->num_subglyphs += current->num_subglyphs;
|
||||
|
||||
/* adjust contours count in newest outline */
|
||||
for ( n = 0; n < n_curr_contours; n++ )
|
||||
current->outline.contours[n] += n_base_points;
|
||||
current->outline.contours[n] = (short)( current->outline.contours[n] + n_base_points );
|
||||
|
||||
/* prepare for another new glyph image */
|
||||
FT_GlyphLoader_Prepare( loader );
|
||||
|
@ -570,8 +570,8 @@
|
|||
MEM_Copy( target->base.extra_points, source->base.extra_points,
|
||||
num_points * sizeof ( FT_Vector ) );
|
||||
|
||||
out->n_points = num_points;
|
||||
out->n_contours = num_contours;
|
||||
out->n_points = (short)num_points;
|
||||
out->n_contours = (short)num_contours;
|
||||
|
||||
FT_GlyphLoader_Adjust_Points( target );
|
||||
}
|
||||
|
@ -844,10 +844,10 @@
|
|||
/* do we need to load the glyph through the auto-hinter? */
|
||||
library = driver->root.library;
|
||||
hinter = library->auto_hinter;
|
||||
autohint = hinter &&
|
||||
autohint = FT_BOOL( hinter &&
|
||||
!( load_flags & ( FT_LOAD_NO_SCALE | FT_LOAD_NO_HINTING ) ) &&
|
||||
FT_DRIVER_IS_SCALABLE(driver) &&
|
||||
FT_DRIVER_USES_OUTLINES(driver);
|
||||
FT_DRIVER_USES_OUTLINES(driver) );
|
||||
if ( autohint )
|
||||
{
|
||||
if ( FT_DRIVER_HAS_HINTER( driver ) &&
|
||||
|
@ -1127,11 +1127,11 @@
|
|||
|
||||
/* documentation is in freetype.h */
|
||||
|
||||
FT_EXPORT_DEF( FT_Error ) FT_New_Memory_Face( FT_Library library,
|
||||
FT_Byte* file_base,
|
||||
FT_Long file_size,
|
||||
FT_Long face_index,
|
||||
FT_Face *aface )
|
||||
FT_EXPORT_DEF( FT_Error ) FT_New_Memory_Face( FT_Library library,
|
||||
const FT_Byte* file_base,
|
||||
FT_Long file_size,
|
||||
FT_Long face_index,
|
||||
FT_Face *aface )
|
||||
{
|
||||
FT_Open_Args args;
|
||||
|
||||
|
@ -1172,7 +1172,7 @@
|
|||
|
||||
*aface = 0;
|
||||
|
||||
external_stream = ( ( args->flags & ft_open_stream ) && args->stream );
|
||||
external_stream = FT_BOOL(( args->flags & ft_open_stream ) && args->stream);
|
||||
|
||||
/* create input stream */
|
||||
error = ft_new_input_stream( library, args, &stream );
|
||||
|
@ -1648,8 +1648,8 @@
|
|||
if ( pixel_height < 1 )
|
||||
pixel_height = 1;
|
||||
|
||||
metrics->x_ppem = pixel_width;
|
||||
metrics->y_ppem = pixel_height;
|
||||
metrics->x_ppem = (FT_UShort)pixel_width;
|
||||
metrics->y_ppem = (FT_UShort)pixel_height;
|
||||
|
||||
if ( face->face_flags & FT_FACE_FLAG_SCALABLE )
|
||||
{
|
||||
|
|
|
@ -64,7 +64,7 @@
|
|||
|
||||
FT_Int n; /* index of contour in outline */
|
||||
FT_UInt first; /* index of first point in contour */
|
||||
char tag; /* current point's state */
|
||||
FT_Int tag; /* current point's state */
|
||||
|
||||
FT_Int shift;
|
||||
FT_Pos delta;
|
||||
|
|
|
@ -31,10 +31,10 @@
|
|||
#define FT_COMPONENT trace_stream
|
||||
|
||||
|
||||
FT_BASE_DEF( void ) FT_New_Memory_Stream( FT_Library library,
|
||||
FT_Byte* base,
|
||||
FT_ULong size,
|
||||
FT_Stream stream )
|
||||
FT_BASE_DEF( void ) FT_New_Memory_Stream( FT_Library library,
|
||||
FT_Byte* base,
|
||||
FT_ULong size,
|
||||
FT_Stream stream )
|
||||
{
|
||||
stream->memory = library->memory;
|
||||
stream->base = base;
|
||||
|
|
|
@ -50,9 +50,9 @@
|
|||
data->ref_count = (FT_Short) 0;
|
||||
node->cset = cset;
|
||||
node->cset_index = (FT_UShort)index;
|
||||
node->num_elements = ( index + 1 < cset->num_chunks )
|
||||
node->num_elements = (unsigned short)(( index + 1 < cset->num_chunks )
|
||||
? cset->element_count
|
||||
: cset->element_max - cset->element_count*index;
|
||||
: cset->element_max - cset->element_count*index );
|
||||
if ( alloc )
|
||||
{
|
||||
/* allocate elements array */
|
||||
|
|
|
@ -225,7 +225,7 @@
|
|||
FT_Bool ftc_image_set_compare( FTC_ImageSet iset,
|
||||
FTC_Image_Desc* type )
|
||||
{
|
||||
return !memcmp( &iset->description, type, sizeof ( *type ) );
|
||||
return FT_BOOL(!memcmp( &iset->description, type, sizeof ( *type ) ));
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -74,7 +74,7 @@
|
|||
{
|
||||
FT_UNUSED( lru );
|
||||
|
||||
return ((FT_Size)node->root.data)->face == (FT_Face)data;
|
||||
return FT_BOOL(((FT_Size)node->root.data)->face == (FT_Face)data);
|
||||
}
|
||||
|
||||
|
||||
|
@ -184,9 +184,9 @@
|
|||
FT_UNUSED( node );
|
||||
|
||||
|
||||
return ( size->face == req->face &&
|
||||
size->metrics.x_ppem == req->width &&
|
||||
size->metrics.y_ppem == req->height );
|
||||
return FT_BOOL( size->face == req->face &&
|
||||
size->metrics.x_ppem == req->width &&
|
||||
size->metrics.y_ppem == req->height );
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -317,7 +317,7 @@
|
|||
FT_Bool ftc_sbit_chunk_set_compare( FTC_SBitSet sset,
|
||||
FTC_Image_Desc* type )
|
||||
{
|
||||
return !memcmp( &sset->desc, type, sizeof ( *type ) );
|
||||
return FT_BOOL(!memcmp( &sset->desc, type, sizeof ( *type ) ));
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -409,7 +409,7 @@
|
|||
|
||||
point->x = x >> 16;
|
||||
point->y = y >> 16;
|
||||
*control = flag ? FT_Curve_Tag_On : FT_Curve_Tag_Cubic;
|
||||
*control = (FT_Byte)(flag ? FT_Curve_Tag_On : FT_Curve_Tag_Cubic);
|
||||
|
||||
builder->last = *point;
|
||||
}
|
||||
|
@ -452,7 +452,7 @@
|
|||
if ( !error )
|
||||
{
|
||||
if ( outline->n_contours > 0 )
|
||||
outline->contours[outline->n_contours - 1] = outline->n_points - 1;
|
||||
outline->contours[outline->n_contours - 1] = (short)(outline->n_points - 1);
|
||||
|
||||
outline->n_contours++;
|
||||
}
|
||||
|
@ -512,7 +512,7 @@
|
|||
}
|
||||
|
||||
if ( outline->n_contours > 0 )
|
||||
outline->contours[outline->n_contours - 1] = outline->n_points - 1;
|
||||
outline->contours[outline->n_contours - 1] = (short)(outline->n_points - 1);
|
||||
}
|
||||
|
||||
|
||||
|
@ -655,7 +655,7 @@
|
|||
FT_Outline dummy;
|
||||
|
||||
|
||||
dummy.n_points = base->n_points - n_base_points;
|
||||
dummy.n_points = (short)(base->n_points - n_base_points);
|
||||
dummy.points = base->points + n_base_points;
|
||||
|
||||
FT_Outline_Translate( &dummy, adx, ady );
|
||||
|
@ -2142,8 +2142,8 @@
|
|||
glyph->root.outline.n_points = 0;
|
||||
glyph->root.outline.n_contours = 0;
|
||||
|
||||
hinting = ( load_flags & FT_LOAD_NO_SCALE ) == 0 &&
|
||||
( load_flags & FT_LOAD_NO_HINTING ) == 0;
|
||||
hinting = FT_BOOL( ( load_flags & FT_LOAD_NO_SCALE ) == 0 &&
|
||||
( load_flags & FT_LOAD_NO_HINTING ) == 0 );
|
||||
|
||||
glyph->root.format = ft_glyph_format_outline; /* by default */
|
||||
|
||||
|
|
|
@ -1753,7 +1753,7 @@
|
|||
goto Exit;
|
||||
|
||||
/* Assign code to GID mapping. */
|
||||
encoding->codes[glyph_code] = j;
|
||||
encoding->codes[glyph_code] = (FT_UShort)j;
|
||||
|
||||
/* Assign code to SID mapping. */
|
||||
encoding->sids[glyph_code] = charset->sids[j];
|
||||
|
@ -1764,8 +1764,8 @@
|
|||
case 1:
|
||||
{
|
||||
FT_Byte nleft;
|
||||
FT_Byte i = 1;
|
||||
FT_Byte k;
|
||||
FT_UInt i = 1;
|
||||
FT_UInt k;
|
||||
|
||||
|
||||
/* Parse the Format1 ranges. */
|
||||
|
@ -1786,11 +1786,11 @@
|
|||
for ( k = i; k < nleft + i; k++, glyph_code++ )
|
||||
{
|
||||
/* Make sure k is not too big. */
|
||||
if ( (FT_UInt)k > num_glyphs )
|
||||
if ( k > num_glyphs )
|
||||
goto Exit;
|
||||
|
||||
/* Assign code to GID mapping. */
|
||||
encoding->codes[glyph_code] = k;
|
||||
encoding->codes[glyph_code] = (FT_UShort)k;
|
||||
|
||||
/* Assign code to SID mapping. */
|
||||
encoding->sids[glyph_code] = charset->sids[k];
|
||||
|
@ -1837,7 +1837,7 @@
|
|||
}
|
||||
|
||||
/* Now, make the assignment. */
|
||||
encoding->codes[glyph_code] = glyph_id;
|
||||
encoding->codes[glyph_code] = (FT_UShort)glyph_id;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1879,7 +1879,7 @@
|
|||
encoding->sids [j] = 0;
|
||||
}
|
||||
else
|
||||
encoding->codes[j] = i;
|
||||
encoding->codes[j] = (FT_UShort)i;
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
@ -1910,7 +1910,7 @@
|
|||
encoding->sids [j] = 0;
|
||||
}
|
||||
else
|
||||
encoding->codes[j] = i;
|
||||
encoding->codes[j] = (FT_UShort)i;
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
|
|
@ -388,7 +388,7 @@
|
|||
root->bbox = dict->font_bbox;
|
||||
root->ascender = (FT_Short)( root->bbox.yMax >> 16 );
|
||||
root->descender = (FT_Short)( root->bbox.yMin >> 16 );
|
||||
root->height = ( ( root->ascender - root->descender ) * 12 ) / 10;
|
||||
root->height = (FT_Short)(( ( root->ascender - root->descender ) * 12 ) / 10);
|
||||
|
||||
if ( dict->units_per_em )
|
||||
root->units_per_EM = dict->units_per_em;
|
||||
|
@ -474,8 +474,8 @@
|
|||
|
||||
|
||||
charmap->root.face = (FT_Face)face;
|
||||
charmap->root.platform_id = platform;
|
||||
charmap->root.encoding_id = encoding;
|
||||
charmap->root.platform_id = (FT_UShort)platform;
|
||||
charmap->root.encoding_id = (FT_UShort)encoding;
|
||||
charmap->root.encoding = find_encoding( platform, encoding );
|
||||
|
||||
/* now, set root->charmap with a unicode charmap */
|
||||
|
|
|
@ -144,8 +144,8 @@
|
|||
FT_Byte* p = start;
|
||||
FT_Long num, divider, result, exp;
|
||||
FT_Int sign = 0, exp_sign = 0;
|
||||
FT_Byte nib;
|
||||
FT_Byte phase;
|
||||
FT_UInt nib;
|
||||
FT_UInt phase;
|
||||
|
||||
|
||||
result = 0;
|
||||
|
@ -495,7 +495,7 @@
|
|||
|
||||
while ( p < limit )
|
||||
{
|
||||
FT_Byte v = *p;
|
||||
FT_UInt v = *p;
|
||||
|
||||
|
||||
if ( v >= 27 && v != 31 )
|
||||
|
|
|
@ -225,8 +225,8 @@
|
|||
glyph->root.outline.n_points = 0;
|
||||
glyph->root.outline.n_contours = 0;
|
||||
|
||||
hinting = ( load_flags & FT_LOAD_NO_SCALE ) == 0 &&
|
||||
( load_flags & FT_LOAD_NO_HINTING ) == 0;
|
||||
hinting = FT_BOOL( ( load_flags & FT_LOAD_NO_SCALE ) == 0 &&
|
||||
( load_flags & FT_LOAD_NO_HINTING ) == 0 );
|
||||
|
||||
glyph->root.format = ft_glyph_format_outline;
|
||||
|
||||
|
@ -240,8 +240,8 @@
|
|||
cid_load_glyph );
|
||||
|
||||
/* set up the decoder */
|
||||
decoder.builder.no_recurse =
|
||||
( ( load_flags & FT_LOAD_NO_RECURSE ) != 0 );
|
||||
decoder.builder.no_recurse = FT_BOOL(
|
||||
( ( load_flags & FT_LOAD_NO_RECURSE ) != 0 ) );
|
||||
|
||||
error = cid_load_glyph( &decoder, glyph_index );
|
||||
|
||||
|
|
|
@ -70,8 +70,8 @@
|
|||
FT_Byte plain;
|
||||
|
||||
|
||||
plain = ( *buffer ^ ( seed >> 8 ) );
|
||||
seed = ( *buffer + seed ) * 52845U + 22719;
|
||||
plain = (FT_Byte)( *buffer ^ ( seed >> 8 ) );
|
||||
seed = (FT_UShort)(( *buffer + seed ) * 52845 + 22719);
|
||||
*buffer++ = plain;
|
||||
length--;
|
||||
}
|
||||
|
|
|
@ -229,8 +229,8 @@
|
|||
|
||||
root->ascender = (FT_Short)( face->cid.font_bbox.yMax >> 16 );
|
||||
root->descender = (FT_Short)( face->cid.font_bbox.yMin >> 16 );
|
||||
root->height = ( ( root->ascender + root->descender ) * 12 )
|
||||
/ 10;
|
||||
root->height = (FT_Short)( (( root->ascender + root->descender ) * 12 )
|
||||
/ 10 );
|
||||
|
||||
|
||||
#if 0
|
||||
|
|
|
@ -224,11 +224,11 @@ THE SOFTWARE.
|
|||
if ( READ_Fields( pcf_compressed_metric_header, &compr_metric ) )
|
||||
return error;
|
||||
|
||||
metric->leftSideBearing = (FT_Short)compr_metric.leftSideBearing - 0x80;
|
||||
metric->rightSideBearing = (FT_Short)compr_metric.rightSideBearing - 0x80;
|
||||
metric->characterWidth = (FT_Short)compr_metric.characterWidth - 0x80;
|
||||
metric->ascent = (FT_Short)compr_metric.ascent - 0x80;
|
||||
metric->descent = (FT_Short)compr_metric.descent - 0x80;
|
||||
metric->leftSideBearing = (FT_Short)(compr_metric.leftSideBearing - 0x80);
|
||||
metric->rightSideBearing = (FT_Short)(compr_metric.rightSideBearing - 0x80);
|
||||
metric->characterWidth = (FT_Short)(compr_metric.characterWidth - 0x80);
|
||||
metric->ascent = (FT_Short)(compr_metric.ascent - 0x80);
|
||||
metric->descent = (FT_Short)(compr_metric.descent - 0x80);
|
||||
metric->attributes = 0;
|
||||
|
||||
return PCF_Err_Ok;
|
||||
|
@ -719,7 +719,7 @@ THE SOFTWARE.
|
|||
( ( i % ( lastCol - firstCol + 1 ) ) +
|
||||
firstCol );
|
||||
|
||||
tmpEncoding[j].glyph = encodingOffset;
|
||||
tmpEncoding[j].glyph = (FT_Short)encodingOffset;
|
||||
j++;
|
||||
}
|
||||
|
||||
|
|
|
@ -925,7 +925,7 @@
|
|||
old_limit = parser->limit;
|
||||
|
||||
/* we store the elements count */
|
||||
*(FT_Byte*)( (FT_Byte*)objects[0] + field->count_offset ) = num_elements;
|
||||
*(FT_Byte*)( (FT_Byte*)objects[0] + field->count_offset ) = (FT_Byte)num_elements;
|
||||
|
||||
/* we now load each element, adjusting the field.offset on each one */
|
||||
token = elements;
|
||||
|
@ -1156,7 +1156,7 @@
|
|||
}
|
||||
point->x = x;
|
||||
point->y = y;
|
||||
*control = flag ? FT_Curve_Tag_On : FT_Curve_Tag_Cubic;
|
||||
*control = (FT_Byte)(flag ? FT_Curve_Tag_On : FT_Curve_Tag_Cubic);
|
||||
|
||||
builder->last = *point;
|
||||
}
|
||||
|
@ -1199,7 +1199,7 @@
|
|||
if ( !error )
|
||||
{
|
||||
if ( outline->n_contours > 0 )
|
||||
outline->contours[outline->n_contours - 1] = outline->n_points - 1;
|
||||
outline->contours[outline->n_contours - 1] = (short)(outline->n_points - 1);
|
||||
|
||||
outline->n_contours++;
|
||||
}
|
||||
|
@ -1260,7 +1260,7 @@
|
|||
}
|
||||
|
||||
if ( outline->n_contours > 0 )
|
||||
outline->contours[outline->n_contours - 1] = outline->n_points - 1;
|
||||
outline->contours[outline->n_contours - 1] = (short)(outline->n_points - 1);
|
||||
}
|
||||
|
||||
|
||||
|
@ -1282,8 +1282,8 @@
|
|||
FT_Byte plain;
|
||||
|
||||
|
||||
plain = ( *buffer ^ ( seed >> 8 ) );
|
||||
seed = ( *buffer + seed ) * 52845U + 22719;
|
||||
plain = (FT_Byte) ( *buffer ^ ( seed >> 8 ) );
|
||||
seed = (FT_UShort)(( *buffer + seed ) * 52845 + 22719 );
|
||||
*buffer++ = plain;
|
||||
length--;
|
||||
}
|
||||
|
|
|
@ -284,7 +284,7 @@
|
|||
FT_Outline dummy;
|
||||
|
||||
|
||||
dummy.n_points = base->n_points - n_base_points;
|
||||
dummy.n_points = (short)(base->n_points - n_base_points);
|
||||
dummy.points = base->points + n_base_points;
|
||||
|
||||
FT_Outline_Translate( &dummy, adx - asb, ady );
|
||||
|
|
|
@ -67,7 +67,7 @@
|
|||
for ( count = 4; count > 0; count--, p++ )
|
||||
{
|
||||
char c = *p;
|
||||
unsigned char d;
|
||||
unsigned int d;
|
||||
|
||||
|
||||
d = (unsigned char)c - '0';
|
||||
|
|
|
@ -282,11 +282,11 @@
|
|||
FT_F26Dot6 X; /* current coordinate during sweep */
|
||||
PProfile link; /* link to next profile - various purpose */
|
||||
PLong offset; /* start of profile's data in render pool */
|
||||
Int flow; /* Profile orientation: Asc/Descending */
|
||||
Long height; /* profile's height in scanlines */
|
||||
Long start; /* profile's starting scanline */
|
||||
int flow; /* Profile orientation: Asc/Descending */
|
||||
long height; /* profile's height in scanlines */
|
||||
long start; /* profile's starting scanline */
|
||||
|
||||
UShort countL; /* number of lines to step before this */
|
||||
unsigned countL; /* number of lines to step before this */
|
||||
/* profile becomes drawable */
|
||||
|
||||
PProfile next; /* next profile in same contour, used */
|
||||
|
@ -947,7 +947,7 @@
|
|||
ras.joint = FALSE;
|
||||
}
|
||||
|
||||
ras.joint = ( f2 == 0 );
|
||||
ras.joint = (char)( f2 == 0 );
|
||||
|
||||
if ( ras.fresh )
|
||||
{
|
||||
|
@ -1603,7 +1603,7 @@
|
|||
FT_Vector* limit;
|
||||
char* tags;
|
||||
|
||||
char tag; /* current point's state */
|
||||
unsigned tag; /* current point's state */
|
||||
|
||||
|
||||
points = ras.outline.points;
|
||||
|
@ -1808,8 +1808,8 @@
|
|||
static
|
||||
Bool Convert_Glyph( RAS_ARGS int flipped )
|
||||
{
|
||||
Short i;
|
||||
UShort start;
|
||||
int i;
|
||||
unsigned start;
|
||||
|
||||
PProfile lastProfile;
|
||||
|
||||
|
@ -1833,7 +1833,7 @@
|
|||
ras.state = Unknown;
|
||||
ras.gProfile = NULL;
|
||||
|
||||
if ( Decompose_Curve( RAS_VARS start, ras.outline.contours[i], flipped ) )
|
||||
if ( Decompose_Curve( RAS_VARS (unsigned short)start, ras.outline.contours[i], flipped ) )
|
||||
return FAILURE;
|
||||
|
||||
start = ras.outline.contours[i] + 1;
|
||||
|
@ -1859,7 +1859,7 @@
|
|||
if ( Finalize_Profile_Table( RAS_VAR ) )
|
||||
return FAILURE;
|
||||
|
||||
return ( ras.top < ras.maxBuff ? SUCCESS : FAILURE );
|
||||
return (Bool)( ras.top < ras.maxBuff ? SUCCESS : FAILURE );
|
||||
}
|
||||
|
||||
|
||||
|
@ -2058,7 +2058,7 @@
|
|||
PProfile right )
|
||||
{
|
||||
Long e1, e2;
|
||||
Short c1, c2;
|
||||
int c1, c2;
|
||||
Byte f1, f2;
|
||||
Byte* target;
|
||||
|
||||
|
@ -2086,11 +2086,11 @@
|
|||
c1 = (Short)( e1 >> 3 );
|
||||
c2 = (Short)( e2 >> 3 );
|
||||
|
||||
f1 = (unsigned char)0xFF >> ( e1 & 7 );
|
||||
f2 = ~( (unsigned char)0x7F >> ( e2 & 7 ) );
|
||||
f1 = (Byte) ( 0xFF >> ( e1 & 7 ) );
|
||||
f2 = (Byte) ~( 0x7F >> ( e2 & 7 ) );
|
||||
|
||||
if ( ras.gray_min_x > c1 ) ras.gray_min_x = c1;
|
||||
if ( ras.gray_max_x < c2 ) ras.gray_max_x = c2;
|
||||
if ( ras.gray_min_x > c1 ) ras.gray_min_x = (short)c1;
|
||||
if ( ras.gray_max_x < c2 ) ras.gray_max_x = (short)c2;
|
||||
|
||||
target = ras.bTarget + ras.traceOfs + c1;
|
||||
c2 -= c1;
|
||||
|
@ -2755,7 +2755,7 @@
|
|||
Sort( &draw_right );
|
||||
|
||||
y_change = (Short)ras.sizeBuff[-ras.numTurns--];
|
||||
y_height = y_change - y;
|
||||
y_height = (Short)(y_change - y);
|
||||
|
||||
while ( y < y_change )
|
||||
{
|
||||
|
@ -2929,7 +2929,7 @@
|
|||
i = ras.band_stack[ras.band_top].y_min;
|
||||
j = ras.band_stack[ras.band_top].y_max;
|
||||
|
||||
k = ( i + j ) / 2;
|
||||
k = (Short)(( i + j ) / 2);
|
||||
|
||||
if ( ras.band_top >= 7 || k < i )
|
||||
{
|
||||
|
@ -2942,7 +2942,7 @@
|
|||
ras.band_stack[ras.band_top + 1].y_min = k;
|
||||
ras.band_stack[ras.band_top + 1].y_max = j;
|
||||
|
||||
ras.band_stack[ras.band_top].y_max = k - 1;
|
||||
ras.band_stack[ras.band_top].y_max = (Short)(k - 1);
|
||||
|
||||
ras.band_top++;
|
||||
}
|
||||
|
@ -2980,7 +2980,7 @@
|
|||
ft_outline_high_precision );
|
||||
ras.scale_shift = ras.precision_shift;
|
||||
ras.dropOutControl = 2;
|
||||
ras.second_pass = !( ras.outline.flags & ft_outline_single_pass );
|
||||
ras.second_pass = (FT_Byte)(!( ras.outline.flags & ft_outline_single_pass ));
|
||||
|
||||
/* Vertical Sweep */
|
||||
ras.Proc_Sweep_Init = Vertical_Sweep_Init;
|
||||
|
@ -2990,9 +2990,9 @@
|
|||
|
||||
ras.band_top = 0;
|
||||
ras.band_stack[0].y_min = 0;
|
||||
ras.band_stack[0].y_max = ras.target.rows - 1;
|
||||
ras.band_stack[0].y_max = (short)(ras.target.rows - 1);
|
||||
|
||||
ras.bWidth = ras.target.width;
|
||||
ras.bWidth = (unsigned short)ras.target.width;
|
||||
ras.bTarget = (Byte*)ras.target.buffer;
|
||||
|
||||
if ( ( error = Render_Single_Pass( RAS_VARS 0 ) ) != 0 )
|
||||
|
@ -3008,7 +3008,7 @@
|
|||
|
||||
ras.band_top = 0;
|
||||
ras.band_stack[0].y_min = 0;
|
||||
ras.band_stack[0].y_max = ras.target.width - 1;
|
||||
ras.band_stack[0].y_max = (short)(ras.target.width - 1);
|
||||
|
||||
if ( ( error = Render_Single_Pass( RAS_VARS 1 ) ) != 0 )
|
||||
return error;
|
||||
|
|
|
@ -277,8 +277,8 @@
|
|||
/* */
|
||||
|
||||
/* do we have outlines in there? */
|
||||
has_outline = ( ( TT_LookUp_Table( face, TTAG_glyf ) != 0 ) ||
|
||||
( TT_LookUp_Table( face, TTAG_CFF ) != 0 ) );
|
||||
has_outline = FT_BOOL( ( TT_LookUp_Table( face, TTAG_glyf ) != 0 ) ||
|
||||
( TT_LookUp_Table( face, TTAG_CFF ) != 0 ) );
|
||||
is_apple_sbit = 0;
|
||||
|
||||
#ifdef TT_CONFIG_OPTION_EMBEDDED_BITMAPS
|
||||
|
@ -286,7 +286,7 @@
|
|||
/* if this font doesn't contain outlines, we try to load */
|
||||
/* a `bhed' table */
|
||||
if ( !has_outline )
|
||||
is_apple_sbit = !LOAD_( bitmap_header );
|
||||
is_apple_sbit = FT_BOOL(!LOAD_( bitmap_header ));
|
||||
|
||||
#endif /* TT_CONFIG_OPTION_EMBEDDED_BITMAPS */
|
||||
|
||||
|
@ -437,8 +437,8 @@
|
|||
|
||||
|
||||
charmap->root.face = (FT_Face)face;
|
||||
charmap->root.platform_id = platform;
|
||||
charmap->root.encoding_id = encoding;
|
||||
charmap->root.platform_id = (FT_UShort)platform;
|
||||
charmap->root.encoding_id = (FT_UShort)encoding;
|
||||
charmap->root.encoding = find_encoding( platform, encoding );
|
||||
|
||||
/* now, set root->charmap with a unicode charmap */
|
||||
|
@ -538,13 +538,13 @@
|
|||
root->ascender = face->horizontal.Ascender;
|
||||
root->descender = face->horizontal.Descender;
|
||||
|
||||
root->height = root->ascender - root->descender +
|
||||
face->horizontal.Line_Gap;
|
||||
root->height = (FT_Short)( root->ascender - root->descender +
|
||||
face->horizontal.Line_Gap );
|
||||
|
||||
/* if the line_gap is 0, we add an extra 15% to the text height -- */
|
||||
/* this computation is based on various versions of Times New Roman */
|
||||
if ( face->horizontal.Line_Gap == 0 )
|
||||
root->height = ( root->height * 115 + 50 ) / 100;
|
||||
root->height = (FT_Short)(( root->height * 115 + 50 ) / 100 );
|
||||
|
||||
#if 0
|
||||
|
||||
|
@ -567,9 +567,9 @@
|
|||
|
||||
root->max_advance_width = face->horizontal.advance_Width_Max;
|
||||
|
||||
root->max_advance_height = face->vertical_info
|
||||
root->max_advance_height = (FT_Short)( face->vertical_info
|
||||
? face->vertical.advance_Height_Max
|
||||
: root->height;
|
||||
: root->height );
|
||||
|
||||
root->underline_position = face->postscript.underlinePosition;
|
||||
root->underline_thickness = face->postscript.underlineThickness;
|
||||
|
|
|
@ -123,7 +123,7 @@
|
|||
|
||||
for ( i = 0; i < 256; i++ )
|
||||
{
|
||||
u = GET_UShort() / 8;
|
||||
u = (FT_UShort)(GET_UShort() / 8);
|
||||
cmap2->subHeaderKeys[i] = u;
|
||||
|
||||
if ( num_SH < u )
|
||||
|
@ -134,8 +134,8 @@
|
|||
|
||||
/* load subheaders */
|
||||
|
||||
cmap2->numGlyphId = l =
|
||||
( ( cmap->length - 2L * ( 256 + 3 ) - num_SH * 8L ) & 0xFFFF ) / 2;
|
||||
cmap2->numGlyphId = l = (FT_UShort)(
|
||||
( ( cmap->length - 2L * ( 256 + 3 ) - num_SH * 8L ) & 0xFFFF ) / 2 );
|
||||
|
||||
if ( ALLOC_ARRAY( cmap2->subHeaders,
|
||||
num_SH + 1,
|
||||
|
@ -151,7 +151,7 @@
|
|||
cmap2sub->entryCount = GET_UShort();
|
||||
cmap2sub->idDelta = GET_Short();
|
||||
/* we apply the location offset immediately */
|
||||
cmap2sub->idRangeOffset = GET_UShort() - ( num_SH - i ) * 8 - 2;
|
||||
cmap2sub->idRangeOffset = (FT_UShort)( GET_UShort() - ( num_SH - i ) * 8 - 2 );
|
||||
|
||||
cmap2sub++;
|
||||
}
|
||||
|
@ -185,7 +185,7 @@
|
|||
cmap4->entrySelector = GET_UShort();
|
||||
cmap4->rangeShift = GET_UShort();
|
||||
|
||||
num_Seg = cmap4->segCountX2 / 2;
|
||||
num_Seg = (FT_UShort)(cmap4->segCountX2 / 2);
|
||||
|
||||
FORGET_Frame();
|
||||
|
||||
|
@ -215,8 +215,8 @@
|
|||
|
||||
FORGET_Frame();
|
||||
|
||||
cmap4->numGlyphId = l =
|
||||
( ( cmap->length - ( 16L + 8L * num_Seg ) ) & 0xFFFF ) / 2;
|
||||
cmap4->numGlyphId = l = (FT_UShort)(
|
||||
( ( cmap->length - ( 16L + 8L * num_Seg ) ) & 0xFFFF ) / 2 );
|
||||
|
||||
/* load IDs */
|
||||
|
||||
|
|
|
@ -604,11 +604,11 @@
|
|||
|
||||
face->root.num_glyphs = maxProfile->numGlyphs;
|
||||
|
||||
face->root.internal->max_points = MAX( maxProfile->maxCompositePoints,
|
||||
maxProfile->maxPoints );
|
||||
face->root.internal->max_points = (FT_UShort)MAX( maxProfile->maxCompositePoints,
|
||||
maxProfile->maxPoints );
|
||||
|
||||
face->root.internal->max_contours = MAX( maxProfile->maxCompositeContours,
|
||||
maxProfile->maxContours );
|
||||
face->root.internal->max_contours = (FT_Short)MAX( maxProfile->maxCompositeContours,
|
||||
maxProfile->maxContours );
|
||||
|
||||
face->max_components = (FT_ULong)maxProfile->maxComponentElements +
|
||||
maxProfile->maxComponentDepth;
|
||||
|
|
|
@ -212,7 +212,7 @@
|
|||
{
|
||||
index -= 257;
|
||||
if ( index > num_names )
|
||||
num_names = index;
|
||||
num_names = (FT_UShort)index;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -244,8 +244,8 @@
|
|||
TT_Post_20* table = &face->postscript_names.names.format_20;
|
||||
|
||||
|
||||
table->num_glyphs = num_glyphs;
|
||||
table->num_names = num_names;
|
||||
table->num_glyphs = (FT_UShort)num_glyphs;
|
||||
table->num_names = (FT_UShort)num_names;
|
||||
table->glyph_indices = glyph_indices;
|
||||
table->glyph_names = name_strings;
|
||||
}
|
||||
|
@ -319,7 +319,7 @@
|
|||
TT_Post_25* table = &face->postscript_names.names.format_25;
|
||||
|
||||
|
||||
table->num_glyphs = num_glyphs;
|
||||
table->num_glyphs = (FT_UShort)num_glyphs;
|
||||
table->offsets = offset_table;
|
||||
}
|
||||
|
||||
|
|
|
@ -76,7 +76,7 @@
|
|||
FT_Int height;
|
||||
|
||||
FT_UShort acc;
|
||||
FT_Byte loaded;
|
||||
FT_UInt loaded;
|
||||
|
||||
|
||||
/* first of all, compute starting write position */
|
||||
|
@ -104,10 +104,10 @@
|
|||
|
||||
for ( height = target->rows; height > 0; height-- )
|
||||
{
|
||||
FT_Byte* cur = line_buff; /* current write cursor */
|
||||
FT_Int count = line_bits; /* # of bits to extract per line */
|
||||
FT_Byte shift = x_offset & 7; /* current write shift */
|
||||
FT_Byte space = 8 - shift;
|
||||
FT_Byte* cur = line_buff; /* current write cursor */
|
||||
FT_UInt count = line_bits; /* # of bits to extract per line */
|
||||
FT_Byte shift = (FT_Byte)(x_offset & 7); /* current write shift */
|
||||
FT_Byte space = (FT_Byte)(8 - shift);
|
||||
|
||||
|
||||
/* first of all, read individual source bytes */
|
||||
|
@ -163,7 +163,7 @@
|
|||
}
|
||||
|
||||
/* now write remaining bits */
|
||||
val = ( (FT_Byte)( acc >> 8 ) ) & ~( 0xFF >> count );
|
||||
val = (FT_Byte)(( (FT_Byte)( acc >> 8 ) ) & ~( 0xFF >> count ));
|
||||
cur[0] |= val >> shift;
|
||||
|
||||
if ( count > space )
|
||||
|
@ -175,7 +175,10 @@
|
|||
|
||||
/* now, skip to next line */
|
||||
if ( byte_padded )
|
||||
acc = loaded = 0; /* clear accumulator on byte-padded lines */
|
||||
{
|
||||
acc = 0;
|
||||
loaded = 0; /* clear accumulator on byte-padded lines */
|
||||
}
|
||||
|
||||
line_buff += line_incr;
|
||||
}
|
||||
|
@ -328,7 +331,7 @@
|
|||
{
|
||||
FT_ULong num_glyphs, n;
|
||||
FT_Int size_elem;
|
||||
FT_Bool large = ( range->index_format == 1 );
|
||||
FT_Bool large = FT_BOOL( range->index_format == 1 );
|
||||
|
||||
|
||||
num_glyphs = range->last_glyph - range->first_glyph + 1L;
|
||||
|
@ -696,7 +699,7 @@
|
|||
if ( glyph_index >= (FT_UInt)range->first_glyph &&
|
||||
glyph_index <= (FT_UInt)range->last_glyph )
|
||||
{
|
||||
FT_UShort delta = glyph_index - range->first_glyph;
|
||||
FT_UShort delta = (FT_UShort)(glyph_index - range->first_glyph);
|
||||
|
||||
|
||||
switch ( range->index_format )
|
||||
|
@ -992,9 +995,9 @@
|
|||
MEM_Move( line, line + count * line_len,
|
||||
( rows - count ) * line_len );
|
||||
|
||||
metrics->height -= count;
|
||||
metrics->horiBearingY -= count;
|
||||
metrics->vertBearingY -= count;
|
||||
metrics->height = (FT_Byte)( metrics->height - count );
|
||||
metrics->horiBearingY = (FT_Char)( metrics->horiBearingY - count );
|
||||
metrics->vertBearingY = (FT_Char)( metrics->vertBearingY - count );
|
||||
|
||||
map->rows -= count;
|
||||
rows -= count;
|
||||
|
@ -1025,7 +1028,7 @@
|
|||
Found_Bottom:
|
||||
if ( count > 0 )
|
||||
{
|
||||
metrics->height -= count;
|
||||
metrics->height = (FT_Byte)( metrics->height - count );
|
||||
rows -= count;
|
||||
map->rows -= count;
|
||||
}
|
||||
|
@ -1058,15 +1061,15 @@
|
|||
FT_Byte* cur = line;
|
||||
|
||||
|
||||
old = cur[0] << 1;
|
||||
old = (FT_Byte)(cur[0] << 1);
|
||||
for ( n = 8; n < width; n += 8 )
|
||||
{
|
||||
FT_Byte val;
|
||||
|
||||
|
||||
val = cur[1];
|
||||
cur[0] = old | ( val >> 7 );
|
||||
old = val << 1;
|
||||
cur[0] = (FT_Byte)(old | ( val >> 7 ));
|
||||
old = (FT_Byte)(val << 1);
|
||||
cur++;
|
||||
}
|
||||
cur[0] = old;
|
||||
|
@ -1095,7 +1098,7 @@
|
|||
|
||||
line = (FT_Byte*)map->buffer + ( right >> 3 );
|
||||
limit = line + rows * line_len;
|
||||
mask = 0x80 >> ( right & 7 );
|
||||
mask = (FT_Byte)(0x80 >> ( right & 7 ));
|
||||
|
||||
for ( ; line < limit; line += line_len )
|
||||
if ( line[0] & mask )
|
||||
|
@ -1449,9 +1452,9 @@
|
|||
|
||||
/* some heuristic values */
|
||||
|
||||
metrics->vertBearingX = -metrics->width / 2;
|
||||
metrics->vertBearingY = advance / 10;
|
||||
metrics->vertAdvance = advance * 12 / 10;
|
||||
metrics->vertBearingX = (FT_Char)(-metrics->width / 2);
|
||||
metrics->vertBearingY = (FT_Char)( advance / 10 );
|
||||
metrics->vertAdvance = (FT_Char)( advance * 12 / 10 );
|
||||
}
|
||||
|
||||
/* Crop the bitmap now, unless specified otherwise */
|
||||
|
|
|
@ -1308,7 +1308,7 @@
|
|||
(int)span->x + span->len == (int)x &&
|
||||
span->coverage == coverage )
|
||||
{
|
||||
span->len += acount;
|
||||
span->len = (unsigned short)(span->len + acount);
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
|
@ -180,8 +180,8 @@
|
|||
FT_UInt start_point,
|
||||
FT_UInt start_contour )
|
||||
{
|
||||
zone->n_points = load->outline.n_points - start_point;
|
||||
zone->n_contours = load->outline.n_contours - start_contour;
|
||||
zone->n_points = (FT_UShort)(load->outline.n_points - start_point);
|
||||
zone->n_contours = (FT_Short) (load->outline.n_contours - start_contour);
|
||||
zone->org = load->extra_points + start_point;
|
||||
zone->cur = load->outline.points + start_point;
|
||||
zone->tags = (FT_Byte*)load->outline.tags + start_point;
|
||||
|
@ -408,8 +408,8 @@
|
|||
for ( n = 0; n < n_points; n++ )
|
||||
outline->tags[n] &= FT_Curve_Tag_On;
|
||||
|
||||
outline->n_points = n_points;
|
||||
outline->n_contours = n_contours;
|
||||
outline->n_points = (FT_UShort)n_points;
|
||||
outline->n_contours = (FT_Short) n_contours;
|
||||
|
||||
Fail:
|
||||
return error;
|
||||
|
@ -1215,14 +1215,14 @@
|
|||
/* */
|
||||
if ( face->os2.version != 0xFFFF )
|
||||
{
|
||||
top_bearing = face->os2.sTypoLineGap / 2;
|
||||
top_bearing = (FT_Short)(face->os2.sTypoLineGap / 2);
|
||||
advance_height = (FT_UShort)( face->os2.sTypoAscender -
|
||||
face->os2.sTypoDescender +
|
||||
face->os2.sTypoLineGap );
|
||||
}
|
||||
else
|
||||
{
|
||||
top_bearing = face->horizontal.Line_Gap / 2;
|
||||
top_bearing = (FT_Short)(face->horizontal.Line_Gap / 2);
|
||||
advance_height = (FT_UShort)( face->horizontal.Ascender +
|
||||
face->horizontal.Descender +
|
||||
face->horizontal.Line_Gap );
|
||||
|
|
|
@ -161,8 +161,8 @@
|
|||
glyph->root.outline.n_points = 0;
|
||||
glyph->root.outline.n_contours = 0;
|
||||
|
||||
hinting = ( load_flags & FT_LOAD_NO_SCALE ) == 0 &&
|
||||
( load_flags & FT_LOAD_NO_HINTING ) == 0;
|
||||
hinting = FT_BOOL( ( load_flags & FT_LOAD_NO_SCALE ) == 0 &&
|
||||
( load_flags & FT_LOAD_NO_HINTING ) == 0 );
|
||||
|
||||
glyph->root.format = ft_glyph_format_outline;
|
||||
|
||||
|
@ -176,7 +176,7 @@
|
|||
if ( error )
|
||||
goto Exit;
|
||||
|
||||
decoder.builder.no_recurse = ( ( load_flags & FT_LOAD_NO_RECURSE ) != 0 );
|
||||
decoder.builder.no_recurse = FT_BOOL( ( load_flags & FT_LOAD_NO_RECURSE ) != 0 );
|
||||
|
||||
decoder.num_subrs = type1->num_subrs;
|
||||
decoder.subrs = type1->subrs;
|
||||
|
|
|
@ -1702,7 +1702,7 @@
|
|||
if ( strcmp( (const char*)char_name,
|
||||
(const char*)glyph_name ) == 0 )
|
||||
{
|
||||
type1->encoding.char_index[charcode] = index;
|
||||
type1->encoding.char_index[charcode] = (FT_UShort)index;
|
||||
type1->encoding.char_name [charcode] = (char*)glyph_name;
|
||||
|
||||
/* Change min/max encoded char only if glyph name is */
|
||||
|
|
|
@ -278,7 +278,7 @@
|
|||
|
||||
root->ascender = (FT_Short)( face->type1.font_bbox.yMax >> 16 );
|
||||
root->descender = (FT_Short)( face->type1.font_bbox.yMin >> 16 );
|
||||
root->height = ( ( root->ascender - root->descender ) * 12 ) / 10;
|
||||
root->height = (FT_Short)(( ( root->ascender - root->descender ) * 12 ) / 10 );
|
||||
|
||||
/* now compute the maximum advance width */
|
||||
root->max_advance_width =
|
||||
|
@ -291,7 +291,7 @@
|
|||
|
||||
/* in case of error, keep the standard width */
|
||||
if ( !error )
|
||||
root->max_advance_width = max_advance;
|
||||
root->max_advance_width = (FT_Short)max_advance;
|
||||
else
|
||||
error = 0; /* clear error */
|
||||
}
|
||||
|
|
|
@ -436,7 +436,7 @@
|
|||
break;
|
||||
|
||||
/* otherwise, store byte */
|
||||
*write++ = ( hex1 << 4 ) | hexa_value( cur[1] );
|
||||
*write++ = (FT_Byte)(( hex1 << 4 ) | hexa_value( cur[1] ));
|
||||
count++;
|
||||
cur++;
|
||||
}
|
||||
|
|
|
@ -524,7 +524,7 @@
|
|||
else
|
||||
glyph_index = font->header.default_char - font->header.first_char;
|
||||
|
||||
new_format = font->header.version == 0x300;
|
||||
new_format = FT_BOOL( font->header.version == 0x300 );
|
||||
len = new_format ? 6 : 4;
|
||||
|
||||
/* jump to glyph entry */
|
||||
|
|
Loading…
Reference in New Issue