281 lines
13 KiB
C
281 lines
13 KiB
C
/***************************************************************************/
|
|
/* */
|
|
/* fterrors.h */
|
|
/* */
|
|
/* FreeType error codes (specification). */
|
|
/* */
|
|
/* Copyright 1996-2000 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 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 ) { FT_Err_ ## e, s }, */
|
|
/* #define FT_NOERRORDEF( e, v, s ) { FT_Err_ ## 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__
|
|
|
|
#include FT_MODULE_ERRORS_H
|
|
|
|
#undef FT_NEED_EXTERN_C
|
|
|
|
|
|
#ifndef FT_ERRORDEF
|
|
|
|
#define FT_ERRORDEF( e, v, s ) FT_Err_ ## e = v + FT_Mod_Err_Base,
|
|
#define FT_NOERRORDEF( e, v, s ) FT_Err_ ## e = v,
|
|
|
|
#define FT_ERROR_START_LIST enum {
|
|
#define FT_ERROR_END_LIST FT_Err_Max };
|
|
|
|
#ifdef __cplusplus
|
|
#define FT_NEED_EXTERN_C
|
|
extern "C" {
|
|
#endif
|
|
|
|
#endif /* !FT_ERRORDEF */
|
|
|
|
|
|
#ifdef FT_ERROR_START_LIST
|
|
FT_ERROR_START_LIST
|
|
#endif
|
|
|
|
|
|
/* generic errors */
|
|
|
|
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" )
|
|
|
|
/* 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" )
|
|
|
|
/* 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" )
|
|
|
|
/* driver errors */
|
|
|
|
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" )
|
|
|
|
/* 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" )
|
|
|
|
/* 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" )
|
|
|
|
/* cache errors */
|
|
|
|
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" )
|
|
|
|
/* CFF, CID, and Type 1 errors */
|
|
|
|
FT_ERRORDEF( Syntax_Error, 0xA0, \
|
|
"opcode syntax error" )
|
|
FT_ERRORDEF( Stack_Underflow, 0xA1, \
|
|
"argument stack underflow" )
|
|
|
|
|
|
#ifdef FT_ERROR_END_LIST
|
|
FT_ERROR_END_LIST
|
|
#endif
|
|
|
|
|
|
#undef FT_ERROR_START_LIST
|
|
#undef FT_ERROR_END_LIST
|
|
#undef FT_ERRORDEF
|
|
#undef FT_NOERRORDEF
|
|
|
|
|
|
#ifdef FT_NEED_EXTERN_C
|
|
}
|
|
#endif
|
|
|
|
#endif /* __FTERRORS_H__ */
|
|
|
|
|
|
/* END */
|