/*******************************************************************
 *
 *  t1errors.h
 *
 *    Type1 Error ID definitions
 *
 *  Copyright 1996-1998 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.
 *
 ******************************************************************/

#ifndef T1ERRORS_H
#define T1ERRORS_H

#include <fterrors.h>

  /************************ error codes declaration **************/

  /* The error codes are grouped in 'classes' used to indicate the */
  /* 'level' at which the error happened.                          */
  /* The class is given by an error code's high byte.              */


/* ------------- Success is always 0 -------- */

#define  T1_Err_Ok                       FT_Err_Ok

/* ----------- high level API errors -------- */
  
#define  T1_Err_Invalid_File_Format      FT_Err_Invalid_File_Format
#define  T1_Err_Invalid_Argument         FT_Err_Invalid_Argument
#define  T1_Err_Invalid_Driver_Handle    FT_Err_Invalid_Driver_Handle
#define  T1_Err_Invalid_Face_Handle      FT_Err_Invalid_Face_Handle
#define  T1_Err_Invalid_Size_Handle      FT_Err_Invalid_Size_Handle
#define  T1_Err_Invalid_Glyph_Handle     FT_Err_Invalid_Slot_Handle
#define  T1_Err_Invalid_CharMap_Handle   FT_Err_Invalid_CharMap_Handle
#define  T1_Err_Invalid_Glyph_Index      FT_Err_Invalid_Glyph_Index

#define  T1_Err_Unimplemented_Feature    FT_Err_Unimplemented_Feature
#define  T1_Err_Unavailable_Outline      FT_Err_Unavailable_Outline
#define  T1_Err_Unavailable_Bitmap       FT_Err_Unavailable_Bitmap
#define  T1_Err_Unavailable_Pixmap       FT_Err_Unavailable_Pixmap
#define  T1_Err_File_Is_Not_Collection   FT_Err_File_Is_Not_Collection

#define  T1_Err_Invalid_Engine           FT_Err_Invalid_Driver_Handle

/* ------------- internal errors ------------ */
  
#define  T1_Err_Out_Of_Memory            FT_Err_Out_Of_Memory
#define  T1_Err_Unlisted_Object          FT_Err_Unlisted_Object

/* ------------ general glyph outline errors ------ */

#define  T1_Err_Too_Many_Points          FT_Err_Too_Many_Points
#define  T1_Err_Too_Many_Contours        FT_Err_Too_Many_Contours
#define  T1_Err_Too_Many_Hints           FT_Err_Too_Many_Hints
#define  T1_Err_Invalid_Composite        FT_Err_Invalid_Composite
#define  T1_Err_Too_Many_Edges           FT_Err_Too_Many_Edges
#define  T1_Err_Too_Many_Strokes         FT_Err_Too_Many_Strokes


#define  T1_Err_Syntax_Error             FT_Err_Invalid_File_Format
#define  T1_Err_Stack_Underflow          FT_Err_Invalid_File_Format
#define  T1_Err_Stack_Overflow           FT_Err_Invalid_File_Format

#endif /* TDERRORS_H */


/* END */
