Upgrade to 2.1.4

git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4057 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
DarkWyrm 2003-07-24 18:46:44 +00:00
parent 57dd76be4d
commit f5a286efe2
72 changed files with 526 additions and 367 deletions

View File

@ -301,4 +301,4 @@ FT_END_HEADER
#endif /* __FTCCACHE_H__ */
/* END */
/* END */

View File

@ -213,4 +213,4 @@ FT_END_HEADER
#endif /* __FTCCMAP_H__ */
/* END */
/* END */

View File

@ -190,4 +190,4 @@ FT_END_HEADER
#endif /* __FTCGLYPH_H__ */
/* END */
/* END */

View File

@ -309,4 +309,4 @@ FT_END_HEADER
#endif /* __FTCIMAGE_H__ */
/* END */
/* END */

View File

@ -241,4 +241,4 @@ FT_END_HEADER
#endif /* __FTCMANAG_H__ */
/* END */
/* END */

View File

@ -272,4 +272,4 @@ FT_END_HEADER
#endif /* __FTCSBITS_H__ */
/* END */
/* END */

View File

@ -199,4 +199,4 @@ FT_END_HEADER
#endif /* __FTLRU_H__ */
/* END */
/* END */

View File

@ -331,4 +331,4 @@ FT_END_HEADER
#endif /* __FTCONFIG_H__ */
/* END */
/* END */

View File

@ -373,6 +373,17 @@
#define FT_GZIP_H <freetype/ftgzip.h>
/*************************************************************************/
/* */
/* @macro: */
/* FT_WINFONTS_H */
/* */
/* @description: */
/* A macro used in #include statements to name the file containing */
/* the definitions of an API to support Windows .FNT files */
/* */
#define FT_WINFONTS_H <freetype/ftwinfnt.h>
/*************************************************************************/
/* */
/* @macro: */
@ -521,4 +532,4 @@
#endif /* __FT2_BUILD_H__ */
/* END */
/* END */

View File

@ -16,4 +16,4 @@ FT_USE_MODULE(t1_driver_class)
FT_USE_MODULE(t42_driver_class)
FT_USE_MODULE(pfr_driver_class)
FT_USE_MODULE(winfnt_driver_class)

View File

@ -469,10 +469,29 @@ FT_BEGIN_HEADER
/* */
/*
* the FT_CONFIG_OPTION_CHESTER_XXXX macros are used to toggle some recent
* improvements to the auto-hinter contributed by David Chester. They will
* most likely disappear completely in the next release. For now, you should
* always keep them defined
*
*/
#define FT_CONFIG_OPTION_CHESTER_HINTS
#ifdef FT_CONFIG_OPTION_CHESTER_HINTS
# define FT_CONFIG_CHESTER_SMALL_F
# define FT_CONFIG_CHESTER_ASCENDER
# define FT_CONFIG_CHESTER_SERIF
# define FT_CONFIG_CHESTER_STEM
# define FT_CONFIG_CHESTER_BLUE_SCALE
#endif /* FT_CONFIG_OPTION_CHESTER_HINTS */
FT_END_HEADER
#endif /* __FTOPTION_H__ */
/* END */
/* END */

View File

@ -137,4 +137,4 @@
#endif /* __FTSTDLIB_H__ */
/* END */
/* END */

View File

@ -35,7 +35,7 @@
/* */
#define FREETYPE_MAJOR 2
#define FREETYPE_MINOR 1
#define FREETYPE_PATCH 3
#define FREETYPE_PATCH 4
#include <ft2build.h>
@ -1105,8 +1105,6 @@ FT_BEGIN_HEADER
/*************************************************************************/
/* */
/* FreeType base size metrics */
/* */
/* <Struct> */
/* FT_Size_Metrics */
/* */
@ -1135,7 +1133,7 @@ FT_BEGIN_HEADER
/* pixels. Always positive. */
/* */
/* descender :: The descender, expressed in 26.6 fixed point */
/* pixels. Always positive. */
/* pixels. Always negative. */
/* */
/* height :: The text height, expressed in 26.6 fixed point */
/* pixels. Always positive. */
@ -1494,6 +1492,16 @@ FT_BEGIN_HEADER
/* */
/* FT_OPEN_PARAMS :: Use the `num_params' & `params' field. */
/* */
/* ft_open_memory :: deprecated. use @FT_OPEN_MEMORY instead */
/* */
/* ft_open_stream :: deprecated. use @FT_OPEN_STREAM instead */
/* */
/* ft_open_pathname :: deprecated. use @FT_OPEN_PATHNAME instead */
/* */
/* ft_open_driver :: deprecated, use @FT_OPEN_DRIVER instead */
/* */
/* ft_open_params :: deprecated, use @FT_OPEN_PARAMS instead */
/* */
/* <Note> */
/* The `FT_OPEN_MEMORY', `FT_OPEN_STREAM', and `FT_OPEN_PATHNAME' */
/* flags are mutually exclusive. */
@ -1508,11 +1516,11 @@ FT_BEGIN_HEADER
} FT_Open_Flags;
#define FT_OPEN_MEMORY FT_OPEN_MEMORY
#define FT_OPEN_STREAM FT_OPEN_STREAM
#define FT_OPEN_PATHNAME FT_OPEN_PATHNAME
#define FT_OPEN_DRIVER FT_OPEN_DRIVER
#define FT_OPEN_PARAMS FT_OPEN_PARAMS
#define ft_open_memory FT_OPEN_MEMORY /* deprecated */
#define ft_open_stream FT_OPEN_STREAM /* deprecated */
#define ft_open_pathname FT_OPEN_PATHNAME /* deprecated */
#define ft_open_driver FT_OPEN_DRIVER /* deprecated */
#define ft_open_params FT_OPEN_PARAMS /* deprecated */
/*************************************************************************/
@ -2151,7 +2159,6 @@ FT_BEGIN_HEADER
#define FT_LOAD_TARGET_MONO FT_LOAD_TARGET_( FT_RENDER_MODE_MONO )
#define FT_LOAD_TARGET_LCD FT_LOAD_TARGET_( FT_RENDER_MODE_LCD )
#define FT_LOAD_TARGET_LCD_V FT_LOAD_TARGET_( FT_RENDER_MODE_LCD_V )
#define FT_LOAD_TARGET_SMOOTH FT_LOAD_TARGET_( FT_RENDER_MODE_SMOOTH )
#define FT_LOAD_DEFAULT 0x0
@ -2240,7 +2247,6 @@ FT_BEGIN_HEADER
FT_RENDER_MODE_MONO,
FT_RENDER_MODE_LCD,
FT_RENDER_MODE_LCD_V,
FT_RENDER_MODE_SMOOTH,
FT_RENDER_MODE_MAX
@ -2857,4 +2863,4 @@ FT_END_HEADER
#endif /* __FREETYPE_H__ */
/* END */
/* END */

View File

@ -80,4 +80,4 @@ FT_END_HEADER
#endif /* __FTBBOX_H__ */
/* END */
/* END */

View File

@ -43,6 +43,73 @@ FT_BEGIN_HEADER
/*************************************************************************/
/**********************************************************************
*
* @enum:
* FT_PropertyType
*
* @description:
* list of BDF property types
*
* @values:
* BDF_PROPERTY_TYPE_NONE ::
* value 0 is used to indicate a missing property
*
* BDF_PROPERTY_TYPE_ATOM ::
* property is a string atom
*
* BDF_PROPERTY_TYPE_INTEGER ::
* property is a 32-bit signed integer
*
* BDF_PROPERTY_TYPE_CARDINAL ::
* property is a 32-bit unsigned integer
*/
typedef enum
{
BDF_PROPERTY_TYPE_NONE = 0,
BDF_PROPERTY_TYPE_ATOM = 1,
BDF_PROPERTY_TYPE_INTEGER = 2,
BDF_PROPERTY_TYPE_CARDINAL = 3
} BDF_PropertyType;
/**********************************************************************
*
* @type: BDF_Property
*
* @description:
* handle to a @BDF_PropertyRec structure used to model a given
* BDF/PCF property
*/
typedef struct BDF_PropertyRec_* BDF_Property;
/**********************************************************************
*
* @struct: BDF_PropertyRec
*
* @description:
* models a given BDF/PCF property
*
* @note:
* type :: property type
* u.atom :: atom string, when type is @BDF_PROPERTY_TYPE_ATOM
* u.integer :: signed integer, when type is @BDF_PROPERTY_TYPE_INTEGER
* u.cardinal :: unsigned integer, when type is @BDF_PROPERTY_TYPE_CARDINAL
*/
typedef struct BDF_PropertyRec_
{
BDF_PropertyType type;
union {
const char* atom;
FT_Int32 integer;
FT_UInt32 cardinal;
} u;
} BDF_PropertyRec;
/**********************************************************************
*
* @function:
@ -74,6 +141,37 @@ FT_BEGIN_HEADER
const char* *acharset_encoding,
const char* *acharset_registry );
/**********************************************************************
*
* @function:
* FT_Get_BDF_Property
*
* @description:
* Retrieves a BDF property from a BDF or PCF font file
*
* @input:
* face :: handle to input face
* name :: property name
*
* @output:
* aproperty :: the property
*
* @return:
* FreeType error code. 0 means success.
*
* @note:
* This function works with BDF _and_ PCF fonts. It returns an error
* otherwise. it also returns an error when the property is not in the
* font.
*
* in case of error, "aproperty->type" is always set to
* @BDF_PROPERTY_TYPE_NONE
*/
FT_EXPORT( FT_Error )
FT_Get_BDF_Property( FT_Face face,
const char* prop_name,
BDF_PropertyRec *aproperty );
/* */
FT_END_HEADER
@ -81,4 +179,4 @@ FT_END_HEADER
#endif /* __FTBDF_H__ */
/* END */
/* END */

View File

@ -412,4 +412,4 @@ FT_END_HEADER
#endif /* __FTCACHE_H__ */
/* END */
/* END */

View File

@ -66,4 +66,4 @@
/* module_management */
/* */
/***************************************************************************/

View File

@ -31,199 +31,118 @@
/* generic errors */
FT_NOERRORDEF_( Ok, 0x00, \
"no error" )
FT_NOERRORDEF_( Ok, 0x00, "no error" )
FT_ERRORDEF_( Cannot_Open_Resource, 0x01, \
"cannot open resource" )
FT_ERRORDEF_( Unknown_File_Format, 0x02, \
"unknown file format" )
FT_ERRORDEF_( Invalid_File_Format, 0x03, \
"broken file" )
FT_ERRORDEF_( Invalid_Version, 0x04, \
"invalid FreeType version" )
FT_ERRORDEF_( Lower_Module_Version, 0x05, \
"module version is too low" )
FT_ERRORDEF_( Invalid_Argument, 0x06, \
"invalid argument" )
FT_ERRORDEF_( Unimplemented_Feature, 0x07, \
"unimplemented feature" )
FT_ERRORDEF_( Invalid_Table, 0x08, \
"broken table" )
FT_ERRORDEF_( Invalid_Offset, 0x09, \
"broken offset within table" )
FT_ERRORDEF_( Cannot_Open_Resource, 0x01, "cannot open resource" )
FT_ERRORDEF_( Unknown_File_Format, 0x02, "unknown file format" )
FT_ERRORDEF_( Invalid_File_Format, 0x03, "broken file" )
FT_ERRORDEF_( Invalid_Version, 0x04, "invalid FreeType version" )
FT_ERRORDEF_( Lower_Module_Version, 0x05, "module version is too low" )
FT_ERRORDEF_( Invalid_Argument, 0x06, "invalid argument" )
FT_ERRORDEF_( Unimplemented_Feature, 0x07, "unimplemented feature" )
FT_ERRORDEF_( Invalid_Table, 0x08, "broken table" )
FT_ERRORDEF_( Invalid_Offset, 0x09, "broken offset within table" )
/* glyph/character errors */
FT_ERRORDEF_( Invalid_Glyph_Index, 0x10, \
"invalid glyph index" )
FT_ERRORDEF_( Invalid_Character_Code, 0x11, \
"invalid character code" )
FT_ERRORDEF_( Invalid_Glyph_Format, 0x12, \
"unsupported glyph image format" )
FT_ERRORDEF_( Cannot_Render_Glyph, 0x13, \
"cannot render this glyph format" )
FT_ERRORDEF_( Invalid_Outline, 0x14, \
"invalid outline" )
FT_ERRORDEF_( Invalid_Composite, 0x15, \
"invalid composite glyph" )
FT_ERRORDEF_( Too_Many_Hints, 0x16, \
"too many hints" )
FT_ERRORDEF_( Invalid_Pixel_Size, 0x17, \
"invalid pixel size" )
FT_ERRORDEF_( Invalid_Glyph_Index, 0x10, "invalid glyph index" )
FT_ERRORDEF_( Invalid_Character_Code, 0x11, "invalid character code" )
FT_ERRORDEF_( Invalid_Glyph_Format, 0x12, "unsupported glyph image format" )
FT_ERRORDEF_( Cannot_Render_Glyph, 0x13, "cannot render this glyph format" )
FT_ERRORDEF_( Invalid_Outline, 0x14, "invalid outline" )
FT_ERRORDEF_( Invalid_Composite, 0x15, "invalid composite glyph" )
FT_ERRORDEF_( Too_Many_Hints, 0x16, "too many hints" )
FT_ERRORDEF_( Invalid_Pixel_Size, 0x17, "invalid pixel size" )
/* handle errors */
FT_ERRORDEF_( Invalid_Handle, 0x20, \
"invalid object handle" )
FT_ERRORDEF_( Invalid_Library_Handle, 0x21, \
"invalid library handle" )
FT_ERRORDEF_( Invalid_Driver_Handle, 0x22, \
"invalid module handle" )
FT_ERRORDEF_( Invalid_Face_Handle, 0x23, \
"invalid face handle" )
FT_ERRORDEF_( Invalid_Size_Handle, 0x24, \
"invalid size handle" )
FT_ERRORDEF_( Invalid_Slot_Handle, 0x25, \
"invalid glyph slot handle" )
FT_ERRORDEF_( Invalid_CharMap_Handle, 0x26, \
"invalid charmap handle" )
FT_ERRORDEF_( Invalid_Cache_Handle, 0x27, \
"invalid cache manager handle" )
FT_ERRORDEF_( Invalid_Stream_Handle, 0x28, \
"invalid stream handle" )
FT_ERRORDEF_( Invalid_Handle, 0x20, "invalid object handle" )
FT_ERRORDEF_( Invalid_Library_Handle, 0x21, "invalid library handle" )
FT_ERRORDEF_( Invalid_Driver_Handle, 0x22, "invalid module handle" )
FT_ERRORDEF_( Invalid_Face_Handle, 0x23, "invalid face handle" )
FT_ERRORDEF_( Invalid_Size_Handle, 0x24, "invalid size handle" )
FT_ERRORDEF_( Invalid_Slot_Handle, 0x25, "invalid glyph slot handle" )
FT_ERRORDEF_( Invalid_CharMap_Handle, 0x26, "invalid charmap handle" )
FT_ERRORDEF_( Invalid_Cache_Handle, 0x27, "invalid cache manager handle" )
FT_ERRORDEF_( Invalid_Stream_Handle, 0x28, "invalid stream handle" )
/* driver errors */
FT_ERRORDEF_( Too_Many_Drivers, 0x30, \
"too many modules" )
FT_ERRORDEF_( Too_Many_Extensions, 0x31, \
"too many extensions" )
FT_ERRORDEF_( Too_Many_Drivers, 0x30, "too many modules" )
FT_ERRORDEF_( Too_Many_Extensions, 0x31, "too many extensions" )
/* memory errors */
FT_ERRORDEF_( Out_Of_Memory, 0x40, \
"out of memory" )
FT_ERRORDEF_( Unlisted_Object, 0x41, \
"unlisted object" )
FT_ERRORDEF_( Out_Of_Memory, 0x40, "out of memory" )
FT_ERRORDEF_( Unlisted_Object, 0x41, "unlisted object" )
/* stream errors */
FT_ERRORDEF_( Cannot_Open_Stream, 0x51, \
"cannot open stream" )
FT_ERRORDEF_( Invalid_Stream_Seek, 0x52, \
"invalid stream seek" )
FT_ERRORDEF_( Invalid_Stream_Skip, 0x53, \
"invalid stream skip" )
FT_ERRORDEF_( Invalid_Stream_Read, 0x54, \
"invalid stream read" )
FT_ERRORDEF_( Invalid_Stream_Operation, 0x55, \
"invalid stream operation" )
FT_ERRORDEF_( Invalid_Frame_Operation, 0x56, \
"invalid frame operation" )
FT_ERRORDEF_( Nested_Frame_Access, 0x57, \
"nested frame access" )
FT_ERRORDEF_( Invalid_Frame_Read, 0x58, \
"invalid frame read" )
FT_ERRORDEF_( Cannot_Open_Stream, 0x51, "cannot open stream" )
FT_ERRORDEF_( Invalid_Stream_Seek, 0x52, "invalid stream seek" )
FT_ERRORDEF_( Invalid_Stream_Skip, 0x53, "invalid stream skip" )
FT_ERRORDEF_( Invalid_Stream_Read, 0x54, "invalid stream read" )
FT_ERRORDEF_( Invalid_Stream_Operation, 0x55, "invalid stream operation" )
FT_ERRORDEF_( Invalid_Frame_Operation, 0x56, "invalid frame operation" )
FT_ERRORDEF_( Nested_Frame_Access, 0x57, "nested frame access" )
FT_ERRORDEF_( Invalid_Frame_Read, 0x58, "invalid frame read" )
/* raster errors */
FT_ERRORDEF_( Raster_Uninitialized, 0x60, \
"raster uninitialized" )
FT_ERRORDEF_( Raster_Corrupted, 0x61, \
"raster corrupted" )
FT_ERRORDEF_( Raster_Overflow, 0x62, \
"raster overflow" )
FT_ERRORDEF_( Raster_Negative_Height, 0x63, \
"negative height while rastering" )
FT_ERRORDEF_( Raster_Uninitialized, 0x60, "raster uninitialized" )
FT_ERRORDEF_( Raster_Corrupted, 0x61, "raster corrupted" )
FT_ERRORDEF_( Raster_Overflow, 0x62, "raster overflow" )
FT_ERRORDEF_( Raster_Negative_Height, 0x63, "negative height while rastering" )
/* cache errors */
FT_ERRORDEF_( Too_Many_Caches, 0x70, \
"too many registered caches" )
FT_ERRORDEF_( Too_Many_Caches, 0x70, "too many registered caches" )
/* TrueType and SFNT errors */
FT_ERRORDEF_( Invalid_Opcode, 0x80, \
"invalid opcode" )
FT_ERRORDEF_( Too_Few_Arguments, 0x81, \
"too few arguments" )
FT_ERRORDEF_( Stack_Overflow, 0x82, \
"stack overflow" )
FT_ERRORDEF_( Code_Overflow, 0x83, \
"code overflow" )
FT_ERRORDEF_( Bad_Argument, 0x84, \
"bad argument" )
FT_ERRORDEF_( Divide_By_Zero, 0x85, \
"division by zero" )
FT_ERRORDEF_( Invalid_Reference, 0x86, \
"invalid reference" )
FT_ERRORDEF_( Debug_OpCode, 0x87, \
"found debug opcode" )
FT_ERRORDEF_( ENDF_In_Exec_Stream, 0x88, \
"found ENDF opcode in execution stream" )
FT_ERRORDEF_( Nested_DEFS, 0x89, \
"nested DEFS" )
FT_ERRORDEF_( Invalid_CodeRange, 0x8A, \
"invalid code range" )
FT_ERRORDEF_( Execution_Too_Long, 0x8B, \
"execution context too long" )
FT_ERRORDEF_( Too_Many_Function_Defs, 0x8C, \
"too many function definitions" )
FT_ERRORDEF_( Too_Many_Instruction_Defs, 0x8D, \
"too many instruction definitions" )
FT_ERRORDEF_( Table_Missing, 0x8E, \
"SFNT font table missing" )
FT_ERRORDEF_( Horiz_Header_Missing, 0x8F, \
"horizontal header (hhea) table missing" )
FT_ERRORDEF_( Locations_Missing, 0x90, \
"locations (loca) table missing" )
FT_ERRORDEF_( Name_Table_Missing, 0x91, \
"name table missing" )
FT_ERRORDEF_( CMap_Table_Missing, 0x92, \
"character map (cmap) table missing" )
FT_ERRORDEF_( Hmtx_Table_Missing, 0x93, \
"horizontal metrics (hmtx) table missing" )
FT_ERRORDEF_( Post_Table_Missing, 0x94, \
"PostScript (post) table missing" )
FT_ERRORDEF_( Invalid_Horiz_Metrics, 0x95, \
"invalid horizontal metrics" )
FT_ERRORDEF_( Invalid_CharMap_Format, 0x96, \
"invalid character map (cmap) format" )
FT_ERRORDEF_( Invalid_PPem, 0x97, \
"invalid ppem value" )
FT_ERRORDEF_( Invalid_Vert_Metrics, 0x98, \
"invalid vertical metrics" )
FT_ERRORDEF_( Could_Not_Find_Context, 0x99, \
"could not find context" )
FT_ERRORDEF_( Invalid_Post_Table_Format, 0x9A, \
"invalid PostScript (post) table format" )
FT_ERRORDEF_( Invalid_Post_Table, 0x9B, \
"invalid PostScript (post) table" )
FT_ERRORDEF_( Invalid_Opcode, 0x80, "invalid opcode" )
FT_ERRORDEF_( Too_Few_Arguments, 0x81, "too few arguments" )
FT_ERRORDEF_( Stack_Overflow, 0x82, "stack overflow" )
FT_ERRORDEF_( Code_Overflow, 0x83, "code overflow" )
FT_ERRORDEF_( Bad_Argument, 0x84, "bad argument" )
FT_ERRORDEF_( Divide_By_Zero, 0x85, "division by zero" )
FT_ERRORDEF_( Invalid_Reference, 0x86, "invalid reference" )
FT_ERRORDEF_( Debug_OpCode, 0x87, "found debug opcode" )
FT_ERRORDEF_( ENDF_In_Exec_Stream, 0x88, "found ENDF opcode in execution stream" )
FT_ERRORDEF_( Nested_DEFS, 0x89, "nested DEFS" )
FT_ERRORDEF_( Invalid_CodeRange, 0x8A, "invalid code range" )
FT_ERRORDEF_( Execution_Too_Long, 0x8B, "execution context too long" )
FT_ERRORDEF_( Too_Many_Function_Defs, 0x8C, "too many function definitions" )
FT_ERRORDEF_( Too_Many_Instruction_Defs, 0x8D, "too many instruction definitions" )
FT_ERRORDEF_( Table_Missing, 0x8E, "SFNT font table missing" )
FT_ERRORDEF_( Horiz_Header_Missing, 0x8F, "horizontal header (hhea) table missing" )
FT_ERRORDEF_( Locations_Missing, 0x90, "locations (loca) table missing" )
FT_ERRORDEF_( Name_Table_Missing, 0x91, "name table missing" )
FT_ERRORDEF_( CMap_Table_Missing, 0x92, "character map (cmap) table missing" )
FT_ERRORDEF_( Hmtx_Table_Missing, 0x93, "horizontal metrics (hmtx) table missing" )
FT_ERRORDEF_( Post_Table_Missing, 0x94, "PostScript (post) table missing" )
FT_ERRORDEF_( Invalid_Horiz_Metrics, 0x95, "invalid horizontal metrics" )
FT_ERRORDEF_( Invalid_CharMap_Format, 0x96, "invalid character map (cmap) format" )
FT_ERRORDEF_( Invalid_PPem, 0x97, "invalid ppem value" )
FT_ERRORDEF_( Invalid_Vert_Metrics, 0x98, "invalid vertical metrics" )
FT_ERRORDEF_( Could_Not_Find_Context, 0x99, "could not find context" )
FT_ERRORDEF_( Invalid_Post_Table_Format, 0x9A, "invalid PostScript (post) table format" )
FT_ERRORDEF_( Invalid_Post_Table, 0x9B, "invalid PostScript (post) table" )
/* CFF, CID, and Type 1 errors */
FT_ERRORDEF_( Syntax_Error, 0xA0, \
"opcode syntax error" )
FT_ERRORDEF_( Stack_Underflow, 0xA1, \
"argument stack underflow" )
FT_ERRORDEF_( Syntax_Error, 0xA0, "opcode syntax error" )
FT_ERRORDEF_( Stack_Underflow, 0xA1, "argument stack underflow" )
/* BDF errors */
FT_ERRORDEF_( Missing_Startfont_Field, 0xB0, \
"`STARTFONT' field missing" )
FT_ERRORDEF_( Missing_Font_Field, 0xB1, \
"`FONT' field missing" )
FT_ERRORDEF_( Missing_Size_Field, 0xB2, \
"`SIZE' field missing" )
FT_ERRORDEF_( Missing_Chars_Field, 0xB3, \
"`CHARS' field missing" )
FT_ERRORDEF_( Missing_Startchar_Field, 0xB4, \
"`STARTCHAR' field missing" )
FT_ERRORDEF_( Missing_Encoding_Field, 0xB5, \
"`ENCODING' field missing" )
FT_ERRORDEF_( Missing_Bbx_Field, 0xB6, \
"`BBX' field missing" )
FT_ERRORDEF_( Missing_Startfont_Field, 0xB0, "`STARTFONT' field missing" )
FT_ERRORDEF_( Missing_Font_Field, 0xB1, "`FONT' field missing" )
FT_ERRORDEF_( Missing_Size_Field, 0xB2, "`SIZE' field missing" )
FT_ERRORDEF_( Missing_Chars_Field, 0xB3, "`CHARS' field missing" )
FT_ERRORDEF_( Missing_Startchar_Field, 0xB4, "`STARTCHAR' field missing" )
FT_ERRORDEF_( Missing_Encoding_Field, 0xB5, "`ENCODING' field missing" )
FT_ERRORDEF_( Missing_Bbx_Field, 0xB6, "`BBX' field missing" )
/* END */
/* END */

View File

@ -155,12 +155,10 @@
/* this macro is used to define an error */
#define FT_ERRORDEF_( e, v, s ) \
FT_ERRORDEF( FT_ERR_CAT( FT_ERR_PREFIX, e ), v + FT_ERR_BASE, s )
#define FT_ERRORDEF_( e, v, s ) FT_ERRORDEF( FT_ERR_CAT( FT_ERR_PREFIX, e ), v + FT_ERR_BASE, s )
/* this is only used for FT_Err_Ok, which must be 0! */
#define FT_NOERRORDEF_( e, v, s ) \
FT_ERRORDEF( FT_ERR_CAT( FT_ERR_PREFIX, e ), v, s )
#define FT_NOERRORDEF_( e, v, s ) FT_ERRORDEF( FT_ERR_CAT( FT_ERR_PREFIX, e ), v, s )
#ifdef FT_ERROR_START_LIST
@ -204,4 +202,4 @@
#endif /* __FTERRORS_H__ */
/* END */
/* END */

View File

@ -483,7 +483,7 @@ FT_BEGIN_HEADER
/* The result is undefined if either `a' or `b' is zero. */
/* */
FT_EXPORT( void )
FT_Matrix_Multiply( FT_Matrix* a,
FT_Matrix_Multiply( const FT_Matrix* a,
FT_Matrix* b );
@ -514,4 +514,4 @@ FT_END_HEADER
#endif /* __FTGLYPH_H__ */
/* END */
/* END */

View File

@ -16,8 +16,8 @@
/***************************************************************************/
#ifndef __FTXF86_H__
#define __FTXF86_H__
#ifndef __FTGZIP_H__
#define __FTGZIP_H__
#include <ft2build.h>
#include FT_FREETYPE_H
@ -83,4 +83,4 @@ FT_BEGIN_HEADER
FT_END_HEADER
#endif /* __FTXF86_H__ */
#endif /* __FTGZIP_H__ */

View File

@ -1238,4 +1238,4 @@ FT_END_HEADER
#endif /* __FTIMAGE_H__ */
/* END */
/* END */

View File

@ -174,21 +174,22 @@ FT_BEGIN_HEADER
* vertical ::
* If true, return vertical metrics.
*
* ametrics ::
* This parameter is used for both input and output.
* The original glyph metrics, if any, in font units. If metrics are
* not available all the values must be set to zero.
*
* @output:
* ametrics ::
* The glyph metrics in font units.
*
* afound ::
* True if there are metrics at all.
* The replacement glyph metrics in font units.
*
*/
typedef FT_Error
(*FT_Incremental_GetGlyphMetricsFunc)
( FT_Incremental incremental,
FT_UInt glyph_index,
FT_Bool vertical,
FT_Incremental_MetricsRec *ametrics,
FT_Bool *afound );
( FT_Incremental incremental,
FT_UInt glyph_index,
FT_Bool vertical,
FT_Incremental_MetricsRec *ametrics );
/**************************************************************************
@ -283,4 +284,4 @@ FT_END_HEADER
#endif /* __FTINCREM_H__ */
/* END */
/* END */

View File

@ -265,4 +265,4 @@ FT_END_HEADER
#endif /* __FTLIST_H__ */
/* END */
/* END */

View File

@ -125,4 +125,4 @@ FT_END_HEADER
#endif /* __FTMAC_H__ */
/* END */
/* END */

View File

@ -200,4 +200,4 @@ FT_END_HEADER
#endif /* __FTMM_H__ */
/* END */
/* END */

View File

@ -146,4 +146,4 @@
#endif /* __FTMODERR_H__ */
/* END */
/* END */

View File

@ -304,4 +304,4 @@ FT_END_HEADER
#endif /* __FTMODULE_H__ */
/* END */
/* END */

View File

@ -397,4 +397,4 @@ FT_END_HEADER
#endif /* __FTOUTLN_H__ */
/* END */
/* END */

View File

@ -153,4 +153,4 @@ FT_END_HEADER
#endif /* __FTBDF_H__ */
/* END */
/* END */

View File

@ -226,4 +226,4 @@ FT_END_HEADER
#endif /* __FTRENDER_H__ */
/* END */
/* END */

View File

@ -148,4 +148,4 @@ FT_END_HEADER
#endif /* __FTSIZES_H__ */
/* END */
/* END */

View File

@ -158,4 +158,4 @@ FT_END_HEADER
#endif /* __FT_SFNT_NAMES_H__ */
/* END */
/* END */

View File

@ -136,4 +136,4 @@ FT_BEGIN_HEADER
FT_END_HEADER
#endif /* __FT_STROKER_H__ */
#endif /* __FT_STROKER_H__ */

View File

@ -62,4 +62,4 @@ FT_END_HEADER
#endif /* __FTSYNTH_H__ */
/* END */
/* END */

View File

@ -192,4 +192,4 @@ FT_BEGIN_HEADER
FT_END_HEADER
#endif /* __FT_SYSTEM_STREAM_H__ */
#endif /* __FT_SYSTEM_STREAM_H__ */

View File

@ -199,4 +199,4 @@ FT_BEGIN_HEADER
FT_END_HEADER
#endif /* __FT_SYSTEM_MEMORY_H__ */
#endif /* __FT_SYSTEM_MEMORY_H__ */

View File

@ -306,4 +306,4 @@ FT_END_HEADER
#endif /* __FTSYSTEM_H__ */
/* END */
/* END */

View File

@ -322,4 +322,4 @@ FT_END_HEADER
#endif /* __FTTRIGON_H__ */
/* END */
/* END */

View File

@ -555,4 +555,4 @@ FT_END_HEADER
#endif /* __FTTYPES_H__ */
/* END */
/* END */

View File

@ -50,4 +50,4 @@ FT_BEGIN_HEADER
FT_END_HEADER
#endif /* __FTXF86_H__ */
#endif /* __FTXF86_H__ */

View File

@ -202,4 +202,4 @@ FT_END_HEADER
#endif /* __AUTOHINT_H__ */
/* END */
/* END */

View File

@ -29,6 +29,7 @@ THE SOFTWARE.
#include <ft2build.h>
#include FT_FREETYPE_H
#include FT_BDF_H
FT_BEGIN_HEADER
@ -44,10 +45,14 @@ FT_BEGIN_HEADER
} BDF_Public_FaceRec, *BDF_Public_Face;
typedef FT_Error (*BDF_GetPropertyFunc)( FT_Face face,
const char* prop_name,
BDF_PropertyRec *aproperty );
FT_END_HEADER
#endif /* __BDFTYPES_H__ */
/* END */
/* END */

View File

@ -253,4 +253,4 @@ FT_END_HEADER
#endif /* __CFFTYPES_H__ */
/* END */
/* END */

View File

@ -23,6 +23,7 @@
#include <ft2build.h>
#include FT_FREETYPE_H
#include FT_WINFONTS_H
FT_BEGIN_HEADER
@ -71,57 +72,15 @@ FT_BEGIN_HEADER
#define WINFNT_NE_MAGIC 0x454E
typedef struct WinFNT_HeaderRec_
{
FT_UShort version;
FT_ULong file_size;
FT_Byte copyright[60];
FT_UShort file_type;
FT_UShort nominal_point_size;
FT_UShort vertical_resolution;
FT_UShort horizontal_resolution;
FT_UShort ascent;
FT_UShort internal_leading;
FT_UShort external_leading;
FT_Byte italic;
FT_Byte underline;
FT_Byte strike_out;
FT_UShort weight;
FT_Byte charset;
FT_UShort pixel_width;
FT_UShort pixel_height;
FT_Byte pitch_and_family;
FT_UShort avg_width;
FT_UShort max_width;
FT_Byte first_char;
FT_Byte last_char;
FT_Byte default_char;
FT_Byte break_char;
FT_UShort bytes_per_row;
FT_ULong device_offset;
FT_ULong face_name_offset;
FT_ULong bits_pointer;
FT_ULong bits_offset;
FT_Byte reserved;
FT_ULong flags;
FT_UShort A_space;
FT_UShort B_space;
FT_UShort C_space;
FT_UShort color_table_offset;
FT_Byte reserved2[4];
} WinFNT_HeaderRec, *WinFNT_Header;
typedef struct FNT_FontRec_
{
FT_ULong offset;
FT_Int size_shift;
FT_ULong offset;
FT_Int size_shift;
WinFNT_HeaderRec header;
FT_WinFNT_HeaderRec header;
FT_Byte* fnt_frame;
FT_ULong fnt_size;
FT_Byte* fnt_frame;
FT_ULong fnt_size;
} FNT_FontRec, *FNT_Font;
@ -152,4 +111,4 @@ FT_END_HEADER
#endif /* __FNTTYPES_H__ */
/* END */
/* END */

View File

@ -74,4 +74,4 @@ FT_END_HEADER
#endif /* __FTCALC_H__ */
/* END */
/* END */

View File

@ -182,4 +182,4 @@ FT_BEGIN_HEADER
FT_END_HEADER
#endif /* __FT_CORE_H__ */
#endif /* __FT_CORE_H__ */

View File

@ -193,4 +193,4 @@ FT_END_HEADER
#endif /* __FTDEBUG_H__ */
/* END */
/* END */

View File

@ -199,4 +199,4 @@ FT_END_HEADER
#endif /* __FTDRIVER_H__ */
/* END */
/* END */

View File

@ -79,4 +79,4 @@ FT_BEGIN_HEADER
>>>>>>> 1.2
FT_END_HEADER
#endif /* __FT_EXCEPT_H__ */
#endif /* __FT_EXCEPT_H__ */

View File

@ -150,4 +150,4 @@ FT_END_HEADER
#endif /* __FTGLOADR_H__ */
/* END */
/* END */

View File

@ -499,4 +499,4 @@ FT_BEGIN_HEADER
FT_END_HEADER
#endif /* __FT_HASH_H__ */
#endif /* __FT_HASH_H__ */

View File

@ -293,4 +293,4 @@ FT_END_HEADER
#endif /* __FTMEMORY_H__ */
/* END */
/* END */

View File

@ -530,4 +530,4 @@ FT_BEGIN_HEADER
FT_END_HEADER
#endif /* __FT_OBJECT_H__ */
#endif /* __FT_OBJECT_H__ */

View File

@ -321,15 +321,6 @@ FT_BEGIN_HEADER
FT_UInt32 hint_flags;
const char* postscript_name;
FT_F26Dot6 orig_width;
FT_F26Dot6 orig_height;
FT_UInt orig_horz_res;
FT_UInt orig_vert_res;
FT_Fixed orig_x_scale;
FT_Fixed orig_y_scale;
#ifdef FT_CONFIG_OPTION_INCREMENTAL
FT_Incremental_InterfaceRec* incremental_interface;
@ -471,6 +462,8 @@ FT_BEGIN_HEADER
FT_Get_Module_Interface( FT_Library library,
const char* mod_name );
/* */
/*************************************************************************/
/*************************************************************************/
@ -543,6 +536,30 @@ FT_BEGIN_HEADER
FT_BASE( void )
FT_Done_GlyphSlot( FT_GlyphSlot slot );
/* */
/*
* free the bitmap of a given glyphslot when needed
* (i.e. only when it was allocated with ft_glyphslot_alloc_bitmap)
*/
FT_BASE( void )
ft_glyphslot_free_bitmap( FT_GlyphSlot slot );
/*
* allocate a new bitmap buffer in a glyph slot
*/
FT_BASE( FT_Error )
ft_glyphslot_alloc_bitmap( FT_GlyphSlot slot,
FT_ULong size );
/*
* set the bitmap buffer in a glyph slot to a given pointer.
* the buffer will not be freed by a later call to ft_glyphslot_free_bitmap
*/
FT_BASE( void )
ft_glyphslot_set_bitmap( FT_GlyphSlot slot,
FT_Pointer buffer );
/*************************************************************************/
/*************************************************************************/
@ -800,4 +817,4 @@ FT_END_HEADER
#endif /* __FTOBJS_H__ */
/* END */
/* END */

View File

@ -495,4 +495,4 @@ FT_END_HEADER
#endif /* __FTSTREAM_H__ */
/* END */
/* END */

View File

@ -103,4 +103,4 @@ FT_TRACE_DEF( bdflib )
FT_TRACE_DEF( pfr )
/* END */
/* END */

View File

@ -54,4 +54,4 @@
#define FT_INTERNAL_AUTOHINT_H <freetype/internal/autohint.h>
/* END */
/* END */

View File

@ -53,4 +53,4 @@ FT_END_HEADER
#endif /* __PCFTYPES_H__ */
/* END */
/* END */

View File

@ -33,4 +33,4 @@ FT_BEGIN_HEADER
FT_END_HEADER
#endif /* __FT_INTERNAL_PFR_H__ */
#endif /* __FT_INTERNAL_PFR_H__ */

View File

@ -714,4 +714,4 @@ FT_END_HEADER
#endif /* __PSAUX_H__ */
/* END */
/* END */

View File

@ -623,4 +623,4 @@ FT_END_HEADER
#endif /* __PSHINTS_H__ */
/* END */
/* END */

View File

@ -238,4 +238,4 @@ FT_END_HEADER
#endif /* __PSNAMES_H__ */
/* END */
/* END */

View File

@ -457,6 +457,21 @@ FT_BEGIN_HEADER
(*TT_Free_Table_Func)( TT_Face face );
/*************************************************************************/
/* */
/* <FuncType> */
/* SFNT_Load_Table_Func */
/* */
/* <Description> */
/* Loads a given SFNT table in memory */
/* */
typedef FT_Error
(*SFNT_Load_Table_Func)( FT_Face face,
FT_ULong tag,
FT_Long offset,
FT_Byte* buffer,
FT_ULong* length );
/*************************************************************************/
/* */
/* <Struct> */
@ -531,4 +546,4 @@ FT_END_HEADER
#endif /* __SFNT_H__ */
/* END */
/* END */

View File

@ -196,4 +196,4 @@ FT_END_HEADER
#endif /* __T1TYPES_H__ */
/* END */
/* END */

View File

@ -52,4 +52,4 @@ FT_END_HEADER
#endif /* __T1TYPES_H__ */
/* END */
/* END */

View File

@ -1666,4 +1666,4 @@ FT_END_HEADER
#endif /* __TTTYPES_H__ */
/* END */
/* END */

View File

@ -388,4 +388,4 @@ FT_END_HEADER
#endif /* __T1TABLES_H__ */
/* END */
/* END */

View File

@ -99,18 +99,18 @@ FT_BEGIN_HEADER
* TT_APPLE_ID_UNICODE_1_1 ::
* Unicode 1.1; specifies Hangul characters starting at U+34xx.
* TT_APPLE_ID_ISO_10646 ::
* Deprecated.
* Deprecated (identical to preceding.)
* TT_APPLE_ID_UNICODE_2_0 ::
* Unicode 2.0 and beyond (UTF-16 BMP only).
* Unicode 2.0 and beyond (UTF-16 BMP only.)
* TT_APPLE_ID_UNICODE_32 ::
* UTF-32 (Adobe proposal for OpenType).
* Unicode 3.1 and beyond, using UTF-32
*/
#define TT_APPLE_ID_DEFAULT 0 /* Unicode 1.0 */
#define TT_APPLE_ID_UNICODE_1_1 1 /* specify Hangul at U+34xx */
#define TT_APPLE_ID_ISO_10646 2 /* deprecated */
#define TT_APPLE_ID_UNICODE_2_0 3 /* or later */
#define TT_APPLE_ID_UNICODE_32 4 /* Adobe proposal */
#define TT_APPLE_ID_UNICODE_32 4 /* 2.0 or later, full repertoire */
/***********************************************************************
@ -257,8 +257,8 @@ FT_BEGIN_HEADER
* Corresponds to Microsoft Johab encoding. See @FT_ENCODING_MS_JOHAB.
*
* TT_MS_ID_UCS_4 ::
* Corresponds to UCS-4 or UTF-32 charmaps. This is a recent Adobe
* proposal for OpenType.
* Corresponds to UCS-4 or UTF-32 charmaps. This has been added into
* OpenType specification as of version 1.4 (mid-2001.)
*/
#define TT_MS_ID_SYMBOL_CS 0
@ -443,10 +443,15 @@ FT_BEGIN_HEADER
/* of the TTF `name' table if the `platform' identifier code is */
/* TT_PLATFORM_MICROSOFT. */
/* */
/* The canonical source for the MS assigned LCID's is at */
/* The canonical source for the MS assigned LCID's used to be at */
/* */
/* http://www.microsoft.com/typography/OTSPEC/lcid-cp.txt */
/* */
/* Now (2002-11-15), the Microsoft site directs to */
/* */
/* http://www.microsoft.com/globaldev/reference/loclanghome.asp */
/* http://support.microsoft.com/support/kb/articles/Q224/8/04.ASP */
/* */
#define TT_MS_LANGID_ARABIC_SAUDI_ARABIA 0x0401
#define TT_MS_LANGID_ARABIC_IRAQ 0x0801
#define TT_MS_LANGID_ARABIC_EGYPT 0x0c01
@ -787,8 +792,10 @@ FT_BEGIN_HEADER
/* Bit 7 Greek and Coptic */
#define TT_UCR_GREEK (1L << 7) /* U+0370-U+03FF */
/* Bit 8 is reserved (was: Greek Symbols and Coptic) */
/* Bit 9 Cyrillic */
/* Bit 9 Cyrillic + */
/* Cyrillic Supplementary */
#define TT_UCR_CYRILLIC (1L << 9) /* U+0400-U+04FF */
/* U+0500-U+052F */
/* Bit 10 Armenian */
#define TT_UCR_ARMENIAN (1L << 10) /* U+0530-U+058F */
/* Bit 11 Hebrew */
@ -843,10 +850,20 @@ FT_BEGIN_HEADER
#define TT_UCR_LETTERLIKE_SYMBOLS (1L << 3) /* U+2100-U+214F */
/* Bit 36 Number Forms */
#define TT_UCR_NUMBER_FORMS (1L << 4) /* U+2150-U+218F */
/* Bit 37 Arrows */
/* Bit 37 Arrows + */
/* Supplemental Arrows-A + */
/* Supplemental Arrows-B */
#define TT_UCR_ARROWS (1L << 5) /* U+2190-U+21FF */
/* Bit 38 Mathematical Operators */
/* U+27F0-U+27FF */
/* U+2900-U+297F */
/* Bit 38 Mathematical Operators + */
/* Supplemental Mathematical Operators + */
/* Miscellaneous Mathematical Symbols-A + */
/* Miscellaneous Mathematical Symbols-B */
#define TT_UCR_MATHEMATICAL_OPERATORS (1L << 6) /* U+2200-U+22FF */
/* U+2A00-U+2AFF */
/* U+27C0-U+27EF */
/* U+2980-U+29FF */
/* Bit 39 Miscellaneous Technical */
#define TT_UCR_MISCELLANEOUS_TECHNICAL (1L << 7) /* U+2300-U+23FF */
/* Bit 40 Control Pictures */
@ -872,8 +889,10 @@ FT_BEGIN_HEADER
#define TT_UCR_CJK_SYMBOLS (1L << 16) /* U+3000-U+303F */
/* Bit 49 Hiragana */
#define TT_UCR_HIRAGANA (1L << 17) /* U+3040-U+309F */
/* Bit 50 Katakana */
/* Bit 50 Katakana + */
/* Katakana Phonetic Extensions */
#define TT_UCR_KATAKANA (1L << 18) /* U+30A0-U+30FF */
/* U+31F0-U+31FF */
/* Bit 51 Bopomofo + */
/* Bopomofo Extended */
#define TT_UCR_BOPOMOFO (1L << 19) /* U+3100-U+312F */
@ -914,11 +933,16 @@ FT_BEGIN_HEADER
/* Kangxi Radicals + */
/* Ideographic Description Characters + */
/* CJK Unified Ideographs Extension A */
/* CJK Unified Ideographs Extension A + */
/* CJK Unified Ideographs Extension B + */
/* Kanbun */
#define TT_UCR_CJK_UNIFIED_IDEOGRAPHS (1L << 27) /* U+4E00-U+9FFF */
/* U+2E80-U+2EFF */
/* U+2F00-U+2FDF */
/* U+2FF0-U+2FFF */
/* U+3400-U+4DB5 */
/*U+20000-U+2A6DF*/
/* U+3190-U+319F */
/* Private Use Area */
@ -927,8 +951,10 @@ FT_BEGIN_HEADER
/* Compatibility Area and Specials */
/* Bit 61 CJK Compatibility Ideographs */
/* Bit 61 CJK Compatibility Ideographs + */
/* CJK Compatibility Ideographs Supplement */
#define TT_UCR_CJK_COMPATIBILITY_IDEOGRAPHS (1L << 29) /* U+F900-U+FAFF */
/*U+2F800-U+2FA1F*/
/* Bit 62 Alphabetic Presentation Forms */
#define TT_UCR_ALPHABETIC_PRESENTATION_FORMS (1L << 30) /* U+FB00-U+FB4F */
/* Bit 63 Arabic Presentation Forms-A */
@ -975,6 +1001,34 @@ FT_BEGIN_HEADER
/* Yi Radicals */
#define TT_UCR_YI (1L << 19) /* U+A000-U+A48F */
/* U+A490-U+A4CF */
/* Bit 84 Tagalog + */
/* Hanunoo + */
/* Buhid + */
/* Tagbanwa */
#define TT_UCR_PHILIPPINE (1L << 20) /* U+1700-U+171F */
/* U+1720-U+173F */
/* U+1740-U+175F */
/* U+1760-U+177F */
/* Bit 85 Old Italic */
#define TT_UCR_OLD_ITALIC (1L << 21) /*U+10300-U+1032F*/
/* Bit 86 Gothic */
#define TT_UCR_GOTHIC (1L << 22) /*U+10330-U+1034F*/
/* Bit 87 Deseret */
#define TT_UCR_DESERET (1L << 23) /*U+10400-U+1044F*/
/* Bit 88 Byzantine Musical Symbols + */
/* Musical Symbols */
#define TT_UCR_MUSICAL_SYMBOLS (1L << 24) /*U+1D000-U+1D0FF*/
/*U+1D100-U+1D1FF*/
/* Bit 89 Mathematical Alphanumeric Symbols */
#define TT_UCR_MATH_ALPHANUMERIC_SYMBOLS (1L << 25) /*U+1D400-U+1D7FF*/
/* Bit 90 Private Use (plane 15) + */
/* Private Use (plane 16) */
#define TT_UCR_PRIVATE_USE_SUPPLEMENTARY (1L << 26) /*U+F0000-U+FFFFD*/
/*U+100000-U+10FFFD*/
/* Bit 91 Variation Selectors */
#define TT_UCR_VARIATION_SELECTORS (1L << 27) /* U+FE00-U+FE0F */
/* Bit 92 Tags */
#define TT_UCR_TAGS (1L << 28) /*U+E0000-U+E007F*/
/*************************************************************************/
@ -1019,4 +1073,4 @@ FT_END_HEADER
#endif /* __TTNAMEID_H__ */
/* END */
/* END */

View File

@ -593,6 +593,63 @@ FT_BEGIN_HEADER
FT_Get_Sfnt_Table( FT_Face face,
FT_Sfnt_Tag tag );
/**************************************************************************
*
* <Function>
* FT_Load_Sfnt_Table
*
* <Description>
* Loads any font table into client memory.
*
* <Input>
* face :: handle to source face.
* tag :: the 4-byte tag of the table to load. Use the value 0 if
* you want to access the whole font file. Else, you can use
* one of the definitions found in the @FT_TRUETYPE_TAGS_H
* file, or forge a new one with @FT_MAKE_TAG
*
* offset :: the starting offset in the table (or file if tag == 0)
*
* <Output>
* buffer :: target buffer address. client must ensure that there are
* enough bytes in it.
*
* <InOut>
* length :: if the 'length' parameter is NULL, then try to load the whole
* table, and return an error code if it fails.
*
* else, if '*length' is 0, then exit immediately while returning
* the table's (or file) full size in it.
*
* else, the number of bytes to read from the table or file,
* from the starting offset.
*
* <Return>
* error code. 0 means success
*
* <Note>
* if you need to determine the table's length you should first call this
* function with "*length" set to 0, as in the following example:
*
* {
* FT_ULong length = 0;
*
* error = FT_Load_Sfnt_Table( face, tag, 0, NULL, &length );
* if ( error ) { ... table does not exist ... }
*
* buffer = malloc( length );
* if ( buffer == NULL ) { ... not enough memory ... }
*
* error = FT_Load_Sfnt_Table( face,tag, 0, buffer, &length );
* if ( error ) { ... could not load table ... }
* }
*/
FT_EXPORT( FT_Error )
FT_Load_Sfnt_Table( FT_Face face,
FT_ULong tag,
FT_Long offset,
FT_Byte* buffer,
FT_ULong* length );
/* */
@ -602,4 +659,4 @@ FT_END_HEADER
#endif /* __TTTABLES_H__ */
/* END */
/* END */

View File

@ -71,4 +71,4 @@ FT_END_HEADER
#endif /* __TTAGS_H__ */
/* END */
/* END */

View File

@ -1,39 +1,39 @@
/***************************************************************************/
/* */
/* ft2build.h */
/* */
/* FreeType 2 build and setup macros. */
/* (Generic version) */
/* */
/* Copyright 1996-2001 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
/* modified, and distributed under the terms of the FreeType project */
/* license, LICENSE.TXT. By continuing to use, modify, or distribute */
/* this file you indicate that you have read the license and */
/* understand and accept it fully. */
/* */
/***************************************************************************/
/*************************************************************************/
/* */
/* This file corresponds to the default "ft2build.h" file for */
/* FreeType 2. It uses the "freetype" include root. */
/* */
/* Note that specific platforms might use a different configuration. */
/* See builds/unix/ft2unix.h for an example. */
/* */
/*************************************************************************/
#ifndef __FT2_BUILD_GENERIC_H__
#define __FT2_BUILD_GENERIC_H__
#include <freetype/config/ftheader.h>
#endif /* __FT2_BUILD_GENERIC_H__ */
/* END */
/***************************************************************************/
/* */
/* ft2build.h */
/* */
/* FreeType 2 build and setup macros. */
/* (Generic version) */
/* */
/* Copyright 1996-2001 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
/* modified, and distributed under the terms of the FreeType project */
/* license, LICENSE.TXT. By continuing to use, modify, or distribute */
/* this file you indicate that you have read the license and */
/* understand and accept it fully. */
/* */
/***************************************************************************/
/*************************************************************************/
/* */
/* This file corresponds to the default "ft2build.h" file for */
/* FreeType 2. It uses the "freetype" include root. */
/* */
/* Note that specific platforms might use a different configuration. */
/* See builds/unix/ft2unix.h for an example. */
/* */
/*************************************************************************/
#ifndef __FT2_BUILD_GENERIC_H__
#define __FT2_BUILD_GENERIC_H__
#include <freetype/config/ftheader.h>
#endif /* __FT2_BUILD_GENERIC_H__ */
/* END */