demos/config/x11/rules.mk:
support for multiple X11R6 entries in $(PATH) added. ftxbbox.c, ftcalc.c, ftdebug.c, ftdriver.h: doc fixes. ftdebug.c: formatting. ftdebug.h: making makros `;'-safe (i.e., they can now be used within if-else clauses without side effects resp. don't produce a single `;').
This commit is contained in:
parent
fc1f989446
commit
f993b6a033
|
@ -41,13 +41,13 @@ endif
|
|||
#
|
||||
ifneq ($(X11_PATH),)
|
||||
|
||||
X11_INCLUDE := $(X11_PATH)$(SEP)include
|
||||
X11_LIB := $(X11_PATH)$(SEP)lib
|
||||
X11_INCLUDE := $(X11_PATH:%=%$(SEP)include)
|
||||
X11_LIB := $(X11_PATH:%=%$(SEP)lib)
|
||||
|
||||
# the GRAPH_LINK variable is expanded each time an executable is linked against
|
||||
# the graphics library..
|
||||
#
|
||||
GRAPH_LINK += -L$(X11_LIB) -lX11
|
||||
GRAPH_LINK += $(X11_LIB:%=-L%) -lX11
|
||||
|
||||
# Solaris needs a -lsocket in GRAPH_LINK ..
|
||||
#
|
||||
|
|
|
@ -47,11 +47,13 @@
|
|||
/* <Description> */
|
||||
/* This function is used as a `move_to' and `line_to' emitter during */
|
||||
/* FT_Raster_Decompose(). It simply records the destination point in */
|
||||
/* user->last. */
|
||||
/* `user->last'. */
|
||||
/* */
|
||||
/* <Input> */
|
||||
/* to :: The destination vector. */
|
||||
/* user :: The current walk context. */
|
||||
/* to :: A pointer to the destination vector. */
|
||||
/* */
|
||||
/* <InOut> */
|
||||
/* user :: A pointer to the current walk context. */
|
||||
/* */
|
||||
/* <Return> */
|
||||
/* Error code. 0 means success. */
|
||||
|
@ -88,7 +90,7 @@
|
|||
/* y2 :: The coordinate of the control point. */
|
||||
/* y3 :: The end coordinate. */
|
||||
/* */
|
||||
/* <Output> */
|
||||
/* <InOut> */
|
||||
/* min :: The address of the current minimum. */
|
||||
/* max :: The address of the current maximum. */
|
||||
/* */
|
||||
|
@ -143,11 +145,11 @@
|
|||
/* update it. */
|
||||
/* */
|
||||
/* <Input> */
|
||||
/* control :: A control point. */
|
||||
/* to :: The destination vector. */
|
||||
/* control :: A pointer to a control point. */
|
||||
/* to :: A pointer to the destination vector. */
|
||||
/* */
|
||||
/* <InOut> */
|
||||
/* user :: The current walk context. */
|
||||
/* user :: The address of the current walk context. */
|
||||
/* */
|
||||
/* <Return> */
|
||||
/* Error code. 0 means success. */
|
||||
|
@ -288,12 +290,12 @@
|
|||
/* update it. */
|
||||
/* */
|
||||
/* <Input> */
|
||||
/* control1 :: The first control point. */
|
||||
/* control2 :: The second control point. */
|
||||
/* to :: The destination vector. */
|
||||
/* control1 :: A pointer to the first control point. */
|
||||
/* control2 :: A pointer to the second control point. */
|
||||
/* to :: A pointer to the destination vector. */
|
||||
/* */
|
||||
/* <InOut> */
|
||||
/* user :: The current walk context. */
|
||||
/* user :: The address of the current walk context. */
|
||||
/* */
|
||||
/* <Return> */
|
||||
/* Error code. 0 means success. */
|
||||
|
@ -350,7 +352,7 @@
|
|||
/* outline :: A pointer to the source outline. */
|
||||
/* */
|
||||
/* <Output> */
|
||||
/* bbox :: The outline's exact bounding box. */
|
||||
/* abbox :: A pointer to the outline's exact bounding box. */
|
||||
/* */
|
||||
/* <Return> */
|
||||
/* Error code. 0 means success. */
|
||||
|
@ -376,8 +378,8 @@
|
|||
return 0;
|
||||
}
|
||||
|
||||
/* We compute the control box, as well as the bounding box */
|
||||
/* of all `on' points in the outline. Then, if the two boxes */
|
||||
/* We compute the control box as well as the bounding box of */
|
||||
/* all `on' points in the outline. Then, if the two boxes */
|
||||
/* coincide, we exit immediately. */
|
||||
|
||||
vec = outline->points;
|
||||
|
|
|
@ -422,15 +422,18 @@
|
|||
/* FT_Add64 */
|
||||
/* */
|
||||
/* <Description> */
|
||||
/* Add two Int64 values. Will be wrapped by the ADD_64() macro. */
|
||||
/* Add two Int64 values. */
|
||||
/* */
|
||||
/* <Input> */
|
||||
/* x :: A pointer to the first value to be added. */
|
||||
/* y :: A pointer to the second value to be added. */
|
||||
/* */
|
||||
/* <InOut> */
|
||||
/* <Output> */
|
||||
/* z :: A pointer to the result of `x + y'. */
|
||||
/* */
|
||||
/* <Note> */
|
||||
/* Will be wrapped by the ADD_64() macro. */
|
||||
/* */
|
||||
BASE_FUNC
|
||||
void FT_Add64( FT_Int64* x,
|
||||
FT_Int64* y,
|
||||
|
@ -452,16 +455,18 @@
|
|||
/* FT_MulTo64 */
|
||||
/* */
|
||||
/* <Description> */
|
||||
/* Multiplies two Int32 integers. Returns a Int64 integer. Will be */
|
||||
/* wrapped by the MUL_64() macro. */
|
||||
/* Multiplies two Int32 integers. Returns a Int64 integer. */
|
||||
/* */
|
||||
/* <Input> */
|
||||
/* x :: The first multiplier. */
|
||||
/* y :: The second multiplier. */
|
||||
/* */
|
||||
/* <InOut> */
|
||||
/* <Output> */
|
||||
/* z :: A pointer to the result of `x * y'. */
|
||||
/* */
|
||||
/* <Note> */
|
||||
/* Will be wrapped by the MUL_64() macro. */
|
||||
/* */
|
||||
BASE_FUNC
|
||||
void FT_MulTo64( FT_Int32 x,
|
||||
FT_Int32 y,
|
||||
|
@ -516,7 +521,7 @@
|
|||
/* */
|
||||
/* <Description> */
|
||||
/* Divides an Int64 value by an Int32 value. Returns an Int32 */
|
||||
/* integer. Will be wrapped by the DIV_64() macro. */
|
||||
/* integer. */
|
||||
/* */
|
||||
/* <Input> */
|
||||
/* x :: A pointer to the dividend. */
|
||||
|
@ -525,6 +530,9 @@
|
|||
/* <Return> */
|
||||
/* The result of `x / y'. */
|
||||
/* */
|
||||
/* <Note> */
|
||||
/* Will be wrapped by the DIV_64() macro. */
|
||||
/* */
|
||||
BASE_FUNC
|
||||
FT_Int32 FT_Div64by32( FT_Int64* x,
|
||||
FT_Int32 y )
|
||||
|
|
|
@ -50,9 +50,12 @@
|
|||
#define MUL_64( x, y, z ) FT_MulTo64( x, y, &z )
|
||||
#define DIV_64( x, y ) FT_Div64by32( &x, y )
|
||||
|
||||
BASE_DEF void FT_Add64 ( FT_Int64* x, FT_Int64* y, FT_Int64* z );
|
||||
BASE_DEF void FT_MulTo64 ( FT_Int32 x, FT_Int32 y, FT_Int64* z );
|
||||
BASE_DEF FT_Int32 FT_Div64by32( FT_Int64* x, FT_Int32 y );
|
||||
BASE_DEF
|
||||
void FT_Add64 ( FT_Int64* x, FT_Int64* y, FT_Int64* z );
|
||||
BASE_DEF
|
||||
void FT_MulTo64 ( FT_Int32 x, FT_Int32 y, FT_Int64* z );
|
||||
BASE_DEF
|
||||
FT_Int32 FT_Div64by32( FT_Int64* x, FT_Int32 y );
|
||||
|
||||
|
||||
#endif /* LONG64 */
|
||||
|
@ -60,7 +63,8 @@
|
|||
|
||||
#define SQRT_32( x ) FT_Sqrt32( x )
|
||||
|
||||
BASE_DEF FT_Int32 FT_Sqrt32( FT_Int32 l );
|
||||
BASE_DEF
|
||||
FT_Int32 FT_Sqrt32( FT_Int32 l );
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
/* */
|
||||
/* Debugging and logging component (body). */
|
||||
/* */
|
||||
/* Copyright 1996-1999 by */
|
||||
/* Copyright 1996-2000 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used */
|
||||
|
@ -31,14 +31,6 @@
|
|||
#include <string.h>
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* The Print() function is defined in ftconfig.h. It defaults to */
|
||||
/* vprintf() on systems which have it. */
|
||||
/* */
|
||||
/*************************************************************************/
|
||||
|
||||
|
||||
void FT_Message( const char* fmt, ... )
|
||||
{
|
||||
va_list ap;
|
||||
|
@ -65,6 +57,21 @@
|
|||
|
||||
#ifdef FT_DEBUG_LEVEL_TRACE
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* <Function> */
|
||||
/* FT_SetTraceLevel */
|
||||
/* */
|
||||
/* <Description> */
|
||||
/* Sets the trace level for debugging. */
|
||||
/* */
|
||||
/* <Input> */
|
||||
/* component :: The component which should be traced. See ftdebug.h */
|
||||
/* for a complete list. If set to `trace_any', all */
|
||||
/* components will be traced. */
|
||||
/* level :: The tracing level. */
|
||||
/* */
|
||||
EXPORT_FUNC
|
||||
void FT_SetTraceLevel( FT_Trace component,
|
||||
char level )
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
/* */
|
||||
/* Debugging and logging component (specification). */
|
||||
/* */
|
||||
/* Copyright 1996-1999 by */
|
||||
/* Copyright 1996-2000 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used */
|
||||
|
@ -35,7 +35,7 @@
|
|||
/* */
|
||||
/* - release mode: */
|
||||
/* */
|
||||
/* No error message is sent nor generated. The code is free from any */
|
||||
/* No error message is sent or generated. The code is free from any */
|
||||
/* debugging parts. */
|
||||
/* */
|
||||
/*************************************************************************/
|
||||
|
@ -57,6 +57,7 @@
|
|||
|
||||
typedef enum FT_Trace_
|
||||
{
|
||||
/* the first level must always be `trace_any' */
|
||||
trace_any = 0,
|
||||
|
||||
/* first, define an enum for each common component */
|
||||
|
@ -78,12 +79,14 @@
|
|||
trace_ttextend,
|
||||
trace_ttdriver,
|
||||
|
||||
#if 0
|
||||
/* define an enum for each TrueDoc driver component */
|
||||
trace_tdobjs,
|
||||
trace_tdload,
|
||||
trace_tdgload,
|
||||
trace_tdhint,
|
||||
trace_tddriver,
|
||||
#endif
|
||||
|
||||
/* define an enum for each Type1 driver component */
|
||||
trace_t1objs,
|
||||
|
@ -93,13 +96,14 @@
|
|||
trace_t1driver,
|
||||
|
||||
/* other trace levels */
|
||||
trace_init,
|
||||
trace_init,
|
||||
|
||||
/* the last level must always be `trace_max' */
|
||||
trace_max
|
||||
|
||||
} FT_Trace;
|
||||
|
||||
/* declared in ftdebug.c */
|
||||
extern char ft_trace_levels[trace_max];
|
||||
|
||||
|
||||
|
@ -113,9 +117,12 @@
|
|||
/*************************************************************************/
|
||||
|
||||
|
||||
#define FT_TRACE( level, varformat ) \
|
||||
if ( ft_trace_levels[FT_COMPONENT] >= level ) \
|
||||
FT_Message##varformat
|
||||
#define FT_TRACE( level, varformat ) \
|
||||
do \
|
||||
{ \
|
||||
if ( ft_trace_levels[FT_COMPONENT] >= level ) \
|
||||
FT_Message##varformat; \
|
||||
} while ( 0 )
|
||||
|
||||
|
||||
EXPORT_DEF
|
||||
|
@ -126,16 +133,16 @@
|
|||
#elif defined( FT_DEBUG_LEVEL_ERROR )
|
||||
|
||||
|
||||
#define FT_TRACE( level, varformat ) /* nothing */
|
||||
#define FT_TRACE( level, varformat ) while ( 0 ) { } /* nothing */
|
||||
|
||||
|
||||
#else /* release mode */
|
||||
|
||||
|
||||
#define FT_Assert( condition ) /* nothing */
|
||||
#define FT_Assert( condition ) while ( 0 ) { } /* nothing */
|
||||
|
||||
#define FT_TRACE( level, varformat ) /* nothing */
|
||||
#define FT_ERROR( varformat ) /* nothing */
|
||||
#define FT_TRACE( level, varformat ) while ( 0 ) { } /* nothing */
|
||||
#define FT_ERROR( varformat ) while ( 0 ) { } /* nothing */
|
||||
|
||||
|
||||
#endif /* FT_DEBUG_LEVEL_TRACE, FT_DEBUG_LEVEL_ERROR */
|
||||
|
@ -146,7 +153,7 @@
|
|||
/* Define macros and functions that are common to the debug and trace */
|
||||
/* modes. */
|
||||
/* */
|
||||
/* You need vprintf() to be able to compile ttdebug.c. */
|
||||
/* You need vprintf() to be able to compile ftdebug.c. */
|
||||
/* */
|
||||
/*************************************************************************/
|
||||
|
||||
|
@ -155,10 +162,15 @@
|
|||
|
||||
#include "stdio.h" /* for vprintf() */
|
||||
|
||||
#define FT_Assert( condition ) \
|
||||
if ( !(condition) ) \
|
||||
FT_Panic( "assertion failed on line %d of file %s\n", __LINE__, __FILE__ );
|
||||
#define FT_Assert( condition ) \
|
||||
do \
|
||||
{ \
|
||||
if ( !( condition ) ) \
|
||||
FT_Panic( "assertion failed on line %d of file %s\n", \
|
||||
__LINE__, __FILE__ ); \
|
||||
} while ( 0 )
|
||||
|
||||
/* print a message */
|
||||
extern void FT_Message( const char* fmt, ... );
|
||||
|
||||
/* print a message and exit */
|
||||
|
@ -170,6 +182,9 @@
|
|||
#endif /* FT_DEBUG_LEVEL_TRACE || FT_DEBUG_LEVEL_ERROR */
|
||||
|
||||
|
||||
/* you need two opening resp. closing parentheses!
|
||||
Example: FT_TRACE0(( "Value is %i", foo )) */
|
||||
|
||||
#define FT_TRACE0( varformat ) FT_TRACE( 0, varformat )
|
||||
#define FT_TRACE1( varformat ) FT_TRACE( 1, varformat )
|
||||
#define FT_TRACE2( varformat ) FT_TRACE( 2, varformat )
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
/* */
|
||||
/* FreeType driver interface (specification). */
|
||||
/* */
|
||||
/* Copyright 1996-1999 by */
|
||||
/* Copyright 1996-2000 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used */
|
||||
|
@ -56,7 +56,7 @@
|
|||
/*************************************************************************/
|
||||
/* */
|
||||
/* <FuncType> */
|
||||
/* FTDriver_doneEngine */
|
||||
/* FTDriver_doneDriver */
|
||||
/* */
|
||||
/* <Description> */
|
||||
/* A driver method used to finalize a given driver object. Note that */
|
||||
|
@ -95,7 +95,7 @@
|
|||
/* */
|
||||
/* <Return> */
|
||||
/* A typeless pointer to the extension's interface (normally a table */
|
||||
/* of function pointers). Returns NULL when the requested extension */
|
||||
/* of function pointers). Returns NULL if the requested extension */
|
||||
/* isn't available (i.e., wasn't compiled in the driver at build */
|
||||
/* time). */
|
||||
/* */
|
||||
|
@ -106,17 +106,18 @@
|
|||
/*************************************************************************/
|
||||
/* */
|
||||
/* <Type> */
|
||||
/* FTDriver_formatInterface */
|
||||
/* FT_FormatInterface */
|
||||
/* */
|
||||
/* <Description> */
|
||||
/* A driver interface field whose value is a driver-specific */
|
||||
/* interface method tables. This table contains entry points to */
|
||||
/* interface method table. This table contains entry points to */
|
||||
/* various functions that are strictly related to the driver's */
|
||||
/* format. */
|
||||
/* */
|
||||
typedef void* FT_FormatInterface;
|
||||
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/*************************************************************************/
|
||||
/*************************************************************************/
|
||||
|
@ -140,28 +141,27 @@
|
|||
/* must be created by the caller. */
|
||||
/* */
|
||||
/* <Input> */
|
||||
/* driver :: A handle to the source driver object. */
|
||||
/* resource :: A handle to the source resource. */
|
||||
/* typeface_index :: The index of face in the font resource. Used to */
|
||||
/* stream :: The input stream. */
|
||||
/* typeface_index :: The face index in the font resource. Used to */
|
||||
/* access individual faces in collections. */
|
||||
/* */
|
||||
/* face :: A handle to the new target face. */
|
||||
/* */
|
||||
/* <Return> */
|
||||
/* FreeType error code. 0 means success. */
|
||||
/* */
|
||||
/* <Note> */
|
||||
/* The `typeface_index' parameter field will be set to -1 when the */
|
||||
/* The `typeface_index' parameter field will be set to -1 if the */
|
||||
/* engine only wants to test the format of the resource. This means */
|
||||
/* that font drivers should simply check the font format, then return */
|
||||
/* immediately with an error code of 0 (meaning success). The field */
|
||||
/* `num_faces' should be set. */
|
||||
/* */
|
||||
/* done_face() will be called subsequently, whatever the result was. */
|
||||
/* FTDriver_doneFace() will be called subsequently, whatever the */
|
||||
/* result was. */
|
||||
/* */
|
||||
typedef FT_Error (*FTDriver_initFace)( FT_Stream stream,
|
||||
FT_Long typeface_index,
|
||||
FT_Face face );
|
||||
typedef FT_Error (*FTDriver_initFace)( FT_Stream stream,
|
||||
FT_Long typeface_index,
|
||||
FT_Face face );
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
|
@ -194,15 +194,13 @@
|
|||
/* */
|
||||
/* <Input> */
|
||||
/* face :: A handle to the source face object. */
|
||||
/* */
|
||||
/* left_glyph :: The index of the left glyph in the kern pair. */
|
||||
/* */
|
||||
/* right_glyph :: The index of the right glyph in the kern pair. */
|
||||
/* */
|
||||
/* <Output> */
|
||||
/* kerning :: The kerning vector. This is in font units for */
|
||||
/* scalable formats, and in pixels for fixed-sizes */
|
||||
/* formats. */
|
||||
/* kerning :: A pointer to the kerning vector. This is in font */
|
||||
/* units for scalable formats, and in pixels for */
|
||||
/* fixed-sizes formats. */
|
||||
/* */
|
||||
/* <Return> */
|
||||
/* FreeType error code. 0 means success. */
|
||||
|
@ -213,7 +211,7 @@
|
|||
/* kernings are out of the scope of this method (the basic driver */
|
||||
/* interface is meant to be simple). */
|
||||
/* */
|
||||
/* They can be implemented through format-specific interfaces. */
|
||||
/* They can be implemented by format-specific interfaces. */
|
||||
/* */
|
||||
typedef FT_Error (*FTDriver_getKerning)( FT_Face face,
|
||||
FT_UInt left_glyph,
|
||||
|
@ -221,6 +219,7 @@
|
|||
FT_Vector* kerning );
|
||||
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/*************************************************************************/
|
||||
/*************************************************************************/
|
||||
|
@ -244,7 +243,6 @@
|
|||
/* must be created by the caller. */
|
||||
/* */
|
||||
/* <Input> */
|
||||
/* face :: A handle to the parent face object. */
|
||||
/* size :: A handle to the new size object. */
|
||||
/* */
|
||||
/* <Return> */
|
||||
|
@ -267,11 +265,13 @@
|
|||
/* and vertical) expressed in fractional points. */
|
||||
/* */
|
||||
/* <Input> */
|
||||
/* size :: A handle to the target size object. */
|
||||
/* char_width :: The character width expressed in 26.6 fractional */
|
||||
/* points. */
|
||||
/* char_height :: The character height expressed in 26.6 fractional */
|
||||
/* points. */
|
||||
/* size :: A handle to the target size object. */
|
||||
/* char_width :: The character width expressed in 26.6 */
|
||||
/* fractional points. */
|
||||
/* char_height :: The character height expressed in 26.6 */
|
||||
/* fractional points. */
|
||||
/* horz_resolution :: The horizontal resolution. */
|
||||
/* vert_resolution :: The vertical resolution. */
|
||||
/* */
|
||||
/* <Return> */
|
||||
/* FreeType error code. 0 means success. */
|
||||
|
@ -298,26 +298,17 @@
|
|||
/* */
|
||||
/* <Input> */
|
||||
/* size :: A handle to the target size object. */
|
||||
/* */
|
||||
/* pixel_width :: The character width expressed in 26.6 fractional */
|
||||
/* pixels. */
|
||||
/* */
|
||||
/* pixel_height :: The character height expressed in 26.6 fractional */
|
||||
/* pixels. */
|
||||
/* */
|
||||
/* point_size :: The corresponding character size in points. This */
|
||||
/* value is only sent to the TrueType bytecode */
|
||||
/* interpreter, even though 99% of glyph programs */
|
||||
/* will simply ignore it. A safe value there is the */
|
||||
/* maximum of the pixel width and height (multiplied */
|
||||
/* by 64 to make it a 26.6 fixed float). */
|
||||
/* <Return> */
|
||||
/* FreeType error code. 0 means success. */
|
||||
/* */
|
||||
/* <Note> */
|
||||
/* This function should work with all kinds of `Size' objects, either */
|
||||
/* fixed or scalable ones. The `point_size' parameter will simply be */
|
||||
/* ignored in case of fixed formats. */
|
||||
/* fixed or scalable ones. */
|
||||
/* */
|
||||
typedef FT_Error (*FTDriver_setPixelSizes)( FT_Size size,
|
||||
FT_UInt pixel_width,
|
||||
|
@ -337,12 +328,10 @@
|
|||
/* <Input> */
|
||||
/* size :: A handle to the target size object. */
|
||||
/* */
|
||||
/* <Return> */
|
||||
/* FreeType error code. 0 means success. */
|
||||
/* */
|
||||
typedef void (*FTDriver_doneSize)( FT_Size size );
|
||||
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/*************************************************************************/
|
||||
/*************************************************************************/
|
||||
|
@ -368,7 +357,6 @@
|
|||
/* bitmap format. */
|
||||
/* */
|
||||
/* <Input> */
|
||||
/* face :: A handle to the parent face object. */
|
||||
/* slot :: A handle to the new glyph slot object. */
|
||||
/* */
|
||||
/* <Return> */
|
||||
|
@ -387,12 +375,8 @@
|
|||
/* is not destroyed by this function. */
|
||||
/* */
|
||||
/* <Input> */
|
||||
/* face :: A handle to the parent face object. */
|
||||
/* slot :: A handle to the new glyph slot object. */
|
||||
/* */
|
||||
/* <Return> */
|
||||
/* FreeType error code. 0 means success. */
|
||||
/* */
|
||||
typedef void (*FTDriver_doneGlyphSlot)( FT_GlyphSlot slot );
|
||||
|
||||
|
||||
|
@ -407,21 +391,14 @@
|
|||
/* <Input> */
|
||||
/* slot :: A handle to target slot object where the glyph will */
|
||||
/* be loaded. */
|
||||
/* */
|
||||
/* size :: A handle to the source face size at which the glyph */
|
||||
/* must be scaled/loaded. */
|
||||
/* */
|
||||
/* glyph_index :: The index of the glyph in the font file. */
|
||||
/* */
|
||||
/* load_flags :: A flag indicating what to load for this glyph. The */
|
||||
/* FTLOAD_??? constants can be used to control the */
|
||||
/* glyph loading process (e.g., whether the outline */
|
||||
/* should be scaled, whether to load bitmaps or not, */
|
||||
/* whether to hint the outline, etc). */
|
||||
/* <Output> */
|
||||
/* result :: A set of bit flags indicating the type of data that */
|
||||
/* was loaded in the glyph slot (outline, bitmap, */
|
||||
/* pixmap, etc). */
|
||||
/* */
|
||||
/* <Return> */
|
||||
/* FreeType error code. 0 means success. */
|
||||
|
@ -432,6 +409,7 @@
|
|||
FT_Int load_flags );
|
||||
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/*************************************************************************/
|
||||
/*************************************************************************/
|
||||
|
@ -463,6 +441,19 @@
|
|||
FT_Long charcode );
|
||||
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/*************************************************************************/
|
||||
/*************************************************************************/
|
||||
/**** ****/
|
||||
/**** ****/
|
||||
/**** I N T E R F A C E ****/
|
||||
/**** ****/
|
||||
/**** ****/
|
||||
/*************************************************************************/
|
||||
/*************************************************************************/
|
||||
/*************************************************************************/
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* <Struct> */
|
||||
|
@ -482,63 +473,52 @@
|
|||
/* <Fields> */
|
||||
/* driver_object_size :: The size in bytes of a single driver */
|
||||
/* object. */
|
||||
/* */
|
||||
/* face_object_size :: The size in bytes of a single face object. */
|
||||
/* */
|
||||
/* size_object_size :: The size in bytes of a single size object. */
|
||||
/* */
|
||||
/* slot_object_size :: The size in bytes of a single glyph slot */
|
||||
/* object. */
|
||||
/* */
|
||||
/* driver_name :: a string to describe the driver to the */
|
||||
/* system. It doesn't necessarily describe */
|
||||
/* driver_name :: A string to describe the driver to the */
|
||||
/* system. It doesn't necessarily describe */
|
||||
/* in detail all the font formats the driver */
|
||||
/* may support. */
|
||||
/* */
|
||||
/* driver_version :: driver version number. starts at 1 */
|
||||
/* */
|
||||
/* driver_requires :: the FreeType major version this driver is */
|
||||
/* written for. This number should be equal */
|
||||
/* to or greater than 2 ! */
|
||||
/* driver_version :: The driver version number. Starts at 1. */
|
||||
/* driver_requires :: The FreeType major version this driver is */
|
||||
/* written for. This number should be equal */
|
||||
/* to or greater than 2! */
|
||||
/* */
|
||||
/* format_interface :: A pointer to the driver's format-specific */
|
||||
/* interface. */
|
||||
/* */
|
||||
/* init_driver :: Used to initialize a given driver object. */
|
||||
/* */
|
||||
/* done_driver :: Used to finalize and destroy a given */
|
||||
/* driver object. */
|
||||
/* */
|
||||
/* get_extension :: Returns an interface for a given driver */
|
||||
/* get_interface :: Returns an interface for a given driver */
|
||||
/* extension. */
|
||||
/* */
|
||||
/* init_face :: Initializes a given face object. */
|
||||
/* */
|
||||
/* done_face :: Discards a face object, as well as all */
|
||||
/* child objects (sizes, charmaps, glyph */
|
||||
/* slots). */
|
||||
/* */
|
||||
/* get_kerning :: Returns the kerning vector corresponding */
|
||||
/* to a pair of glyphs, expressed in unscaled */
|
||||
/* font units. */
|
||||
/* */
|
||||
/* init_size :: Initializes a given size object. */
|
||||
/* */
|
||||
/* done_size :: Finalizes a given size object. */
|
||||
/* */
|
||||
/* set_size_char_sizes :: Resets a scalable size object's character */
|
||||
/* size. */
|
||||
/* */
|
||||
/* set_pixel_sizes :: Resets a face size object's pixel */
|
||||
/* dimensions. Applies to both scalable and */
|
||||
/* fixed faces. */
|
||||
/* */
|
||||
/* init_glyph_slot :: Initializes a given glyph slot object. */
|
||||
/* */
|
||||
/* done_glyph_slot :: Finalizes a given glyph slot. */
|
||||
/* */
|
||||
/* load_glyph :: Loads a given glyph into a given slot. */
|
||||
/* */
|
||||
/* get_char_index :: Returns the glyph index for a given */
|
||||
/* charmap. */
|
||||
/* */
|
||||
typedef struct FT_DriverInterface_
|
||||
{
|
||||
FT_Int driver_object_size;
|
||||
|
@ -573,6 +553,7 @@
|
|||
|
||||
} FT_DriverInterface;
|
||||
|
||||
|
||||
#endif /* FTDRIVER_H */
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue