"Fossies" - the Fresh Open Source Software Archive

Member "SDL2_ttf-2.20.2/external/freetype/src/psaux/afmparse.h" (25 May 2022, 1825 Bytes) of package /linux/misc/SDL2_ttf-2.20.2.tar.gz:


As a special service "Fossies" has tried to format the requested source page into HTML format using (guessed) C and C++ source code syntax highlighting (style: standard) with prefixed line numbers and code folding option. Alternatively you can here view or download the uninterpreted source code file. For more information about "afmparse.h" see the Fossies "Dox" file reference documentation.

    1 /****************************************************************************
    2  *
    3  * afmparse.h
    4  *
    5  *   AFM parser (specification).
    6  *
    7  * Copyright (C) 2006-2022 by
    8  * David Turner, Robert Wilhelm, and Werner Lemberg.
    9  *
   10  * This file is part of the FreeType project, and may only be used,
   11  * modified, and distributed under the terms of the FreeType project
   12  * license, LICENSE.TXT.  By continuing to use, modify, or distribute
   13  * this file you indicate that you have read the license and
   14  * understand and accept it fully.
   15  *
   16  */
   17 
   18 
   19 #ifndef AFMPARSE_H_
   20 #define AFMPARSE_H_
   21 
   22 
   23 #include <freetype/internal/psaux.h>
   24 
   25 
   26 FT_BEGIN_HEADER
   27 
   28 
   29   FT_LOCAL( FT_Error )
   30   afm_parser_init( AFM_Parser  parser,
   31                    FT_Memory   memory,
   32                    FT_Byte*    base,
   33                    FT_Byte*    limit );
   34 
   35 
   36   FT_LOCAL( void )
   37   afm_parser_done( AFM_Parser  parser );
   38 
   39 
   40   FT_LOCAL( FT_Error )
   41   afm_parser_parse( AFM_Parser  parser );
   42 
   43 
   44   enum  AFM_ValueType_
   45   {
   46     AFM_VALUE_TYPE_STRING,
   47     AFM_VALUE_TYPE_NAME,
   48     AFM_VALUE_TYPE_FIXED,   /* real number */
   49     AFM_VALUE_TYPE_INTEGER,
   50     AFM_VALUE_TYPE_BOOL,
   51     AFM_VALUE_TYPE_INDEX    /* glyph index */
   52   };
   53 
   54 
   55   typedef struct  AFM_ValueRec_
   56   {
   57     enum AFM_ValueType_  type;
   58     union
   59     {
   60       char*     s;
   61       FT_Fixed  f;
   62       FT_Int    i;
   63       FT_UInt   u;
   64       FT_Bool   b;
   65 
   66     } u;
   67 
   68   } AFM_ValueRec, *AFM_Value;
   69 
   70 #define  AFM_MAX_ARGUMENTS  5
   71 
   72   FT_LOCAL( FT_Int )
   73   afm_parser_read_vals( AFM_Parser  parser,
   74                         AFM_Value   vals,
   75                         FT_Int      n );
   76 
   77   /* read the next key from the next line or column */
   78   FT_LOCAL( char* )
   79   afm_parser_next_key( AFM_Parser  parser,
   80                        FT_Bool     line,
   81                        FT_Offset*  len );
   82 
   83 FT_END_HEADER
   84 
   85 #endif /* AFMPARSE_H_ */
   86 
   87 
   88 /* END */