Edit

kc3-lang/freetype/src/gxvalid/gxvfeat.h

Branch :

  • Show log

    Commit

  • Author : Werner Lemberg
    Date : 2005-09-05 19:31:27
    Hash : 99aa14c2
    Message : Fixes for `make multi' and using C++ compiler. * gxvalid/gxvcommn.c (gxv_set_length_by_ushort_offset, gxv_set_length_by_ulong_offset, gxv_array_getlimits_byte, gxv_array_getlimits_ushort): Declare with FT_LOCAL_DEF. (gxv_compare_ranges): Make it static. (gxv_LookupTable_fmt0_validate, gxv_LookupTable_fmt2_validate, gxv_LookupTable_fmt4_validate, gxv_LookupTable_fmt6_validate, gxv_LookupTable_fmt8_validate, gxv_LookupTable_validate): Improve trace messages. (gxv_StateArray_validate, gxv_XStateArray_validate): s/class/clazz/. (GXV_STATETABLE_HEADER_SIZE, GXV_STATEHEADER_SIZE, GXV_XSTATETABLE_HEADER_SIZE, GXV_XSTATEHEADER_SIZE): Move to gxvcommn.h. * gxvalid/gxvcommn.h: Add prototypes for gxv_StateTable_subtable_setup, gxv_XStateTable_subtable_setup, gxv_XStateTable_validate, gxv_array_getlimits_byte, gxv_array_getlimits_ushort, gxv_set_length_by_ushort_offset, gxv_set_length_by_ulong_offset, gxv_odtect_add_range, gxv_odtect_validate. (GXV_STATETABLE_HEADER_SIZE, GXV_STATEHEADER_SIZE, GXV_XSTATETABLE_HEADER_SIZE, GXV_XSTATEHEADER_SIZE): Moved from gxvcommn.c. * src/gxvalid/gxvbsln.c (gxv_bsln_LookupValue_validate, gxv_bsln_parts_fmt1_validate): Improve trace messages. * gxvalid/gxvfeat.c: Split off predefined registry stuff to... * gxvalid/gxvfeat.h: New file. * gxvalid/gxvjust.c (gxv_just_wdc_entry_validate): Improve trace message. * gxvalid/gxvkern.c (GXV_kern_Dialect): Add KERN_DIALECT_UNKNOWN. (gxv_kern_subtable_fmt1_valueTable_load, gxv_kern_subtable_fmt1_subtable_setup, gxv_kern_subtable_fmt1_entry_validate): Fix C++ compiler errors. (gxv_kern_coverage_validate): Use KERN_DIALECT_UNKWOWN. Improve trace message. (gxv_kern_validate_generic): Fix C++ compiler error. Improve trace message. (gxv_kern_validate_classic): Fix C++ compiler error. * gxvalid/gxvmort0.c (gxv_mort_subtable_type0_validate): Declare with FT_LOCAL_DEF. * gxvalid/gxvmort1.c (gxv_mort_subtable_type1_substitutionTable_load, gxv_mort_subtable_type1_subtable_setup): Fix C++ compiler errors. (gxv_mort_subtable_type1_substTable_validate): Improve trace message. (gxv_mort_subtable_type1_validate): Declare with FT_LOCAL_DEF. * gxvalid/gxvmort2.c (gxv_mort_subtable_type2_opttable_load, gxv_mort_subtable_type2_subtable_setup, gxv_mort_subtable_type2_ligActionOffset_validate, gxv_mort_subtable_type2_ligatureTable_validate): Fix C++ compiler errors. (gxv_mort_subtable_type2_validate): Declare with FT_LOCAL_DEF. * gxvalid/gxvmort4.c (gxv_mort_subtable_type4_validate): Declare with FT_LOCAL_DEF. * gxvalid/gxvmort5.c (gxv_mort_subtable_type5_subtable_setup, gxv_mort_subtable_type5_InsertList_validate): Fix C++ compiler errors. (gxv_mort_subtable_type5_validate): Declare with FT_LOCAL_DEF. * gxvalid/gxvmort.c: Include gxvfeat.h. (gxv_mort_featurearray_validate, gxv_mort_coverage_validate): Declare with FT_LOCAL_DEF. (gxv_mort_subtables_validate, gxv_mort_validate): Improve trace messages. * gxvalid/gxvmort.h (gxv_mort_feature_validate): Remove. * gxvalid/gxvmorx0.c (gxv_morx_subtable_type0_validate): Declare with FT_LOCAL_DEF. * gxvalid/gxvmorx1.c (gxv_morx_subtable_type1_substitutionTable_load, gxv_morx_subtable_type1_subtable_setup, gxv_morx_subtable_type1_entry_validate, gxv_morx_subtable_type1_substitutionTable_validate): Fix C++ compiler errors. (gxv_morx_subtable_type1_validate): Declare with FT_LOCAL_DEF. * gxvalid/gxvmorx2.c (gxv_morx_subtable_type2_opttable_load, gxv_morx_subtable_type2_subtable_setup, gxv_morx_subtable_type2_ligActionIndex_validate, gxv_morx_subtable_type2_ligatureTable_validate): Fix C++ compiler errors. (gxv_morx_subtable_type2_validate): Declare with FT_LOCAL_DEF. Fix typo. * gxvalid/gxvmorx4.c (gxv_morx_subtable_type4_validate): Declare with FT_LOCAL_DEF. * gxvalid/gxvmorx5.c (gxv_morx_subtable_type5_insertionGlyph_load, gxv_morx_subtable_type5_subtable_setup): Fix C++ compiler error. (gxv_morx_subtable_type5_validate): Declare with FT_LOCAL_DEF. * gxvalid/gxvmorx.c (gxv_morx_subtables_validate, gxv_morx_validate): Improve trace message. * gxvalid/gxvopbd.c (gxv_opbd_LookupFmt4_transit): Fix compiler warnings. (gxv_opbd_validate): Improve trace message. * gxvalid/gxvprop.c: Decorate constants with `U' and `L' where appropriate. (gxv_prop_zero_advance_validate, gxv_prop_validate): Improve trace message. * gxvalid/gxvtrak.c (gxv_trak_trackTable_validate): Remove unused parameter. Update all callers. (gxv_trak_validate): Improve trace message. * rules.mk (GXV_DRV_H): Add gxvfeat.h.

  • src/gxvalid/gxvfeat.h
  • /***************************************************************************/
    /*                                                                         */
    /*  gxvfeat.h                                                              */
    /*                                                                         */
    /*    TrueTypeGX/AAT feat table validation (specification).                */
    /*                                                                         */
    /*  Copyright 2004, 2005 by suzuki toshiya, Masatake YAMATO, Red Hat K.K., */
    /*  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.                                        */
    /*                                                                         */
    /***************************************************************************/
    
    /***************************************************************************/
    /*                                                                         */
    /* gxvalid is derived from both gxlayout module and otvalid module.        */
    /* Development of gxlayout is supported by the Information-technology      */
    /* Promotion Agency(IPA), Japan.                                           */
    /*                                                                         */
    /***************************************************************************/
    
    
    #ifndef __GXVFEAT_H__
    #define __GXVFEAT_H__
    
    
    #include "gxvalid.h"
    #include "gxvcommn.h"
    
    
      /*************************************************************************/
      /*************************************************************************/
      /*****                                                               *****/
      /*****                Registry predefined by Apple                   *****/
      /*****                                                               *****/
      /*************************************************************************/
      /*************************************************************************/
    
      /* TODO: More compact format */
      typedef struct  GXV_Feature_RegistryRec_
      {
        FT_Bool  existence;
        FT_Bool  apple_reserved;
        FT_Bool  exclusive;
        FT_Byte  nSettings;
    
      } GX_Feature_RegistryRec;
    
    
    #define gxv_feat_registry_length                  \
              ( sizeof ( gxv_feat_registry ) /        \
                  sizeof ( GX_Feature_RegistryRec ) )
    
    
      static GX_Feature_RegistryRec  gxv_feat_registry[] =
      {
        /* Generated from gxvfgen.c */
        {1, 0, 0,  1},   /* All Typographic Features */
        {1, 0, 0,  8},   /* Ligatures */
        {1, 0, 1,  3},   /* Cursive Connection */
        {1, 0, 1,  6},   /* Letter Case */
        {1, 0, 0,  1},   /* Vertical Substitution */
        {1, 0, 0,  1},   /* Linguistic Rearrangement */
        {1, 0, 1,  2},   /* Number Spacing */
        {1, 1, 0,  0},   /* Apple Reserved 1 */
        {1, 0, 0,  5},   /* Smart Swashes */
        {1, 0, 1,  3},   /* Diacritics */
        {1, 0, 1,  4},   /* Vertical Position */
        {1, 0, 1,  3},   /* Fractions */
        {1, 1, 0,  0},   /* Apple Reserved 2 */
        {1, 0, 0,  1},   /* Overlapping Characters */
        {1, 0, 0,  6},   /* Typographic Extras */
        {1, 0, 0,  5},   /* Mathematical Extras */
        {1, 0, 1,  7},   /* Ornament Sets */
        {1, 0, 1,  1},   /* Character Alternatives */
        {1, 0, 1,  5},   /* Design Complexity */
        {1, 0, 1,  6},   /* Style Options */
        {1, 0, 1, 11},   /* Character Shape */
        {1, 0, 1,  2},   /* Number Case */
        {1, 0, 1,  4},   /* Text Spacing */
        {1, 0, 1, 10},   /* Transliteration */
        {1, 0, 1,  9},   /* Annotation */
        {1, 0, 1,  2},   /* Kana Spacing */
        {1, 0, 1,  2},   /* Ideographic Spacing */
        {0, 0, 0,  0},   /* __EMPTY__ */
        {0, 0, 0,  0},   /* __EMPTY__ */
        {0, 0, 0,  0},   /* __EMPTY__ */
        {0, 0, 0,  0},   /* __EMPTY__ */
        {0, 0, 0,  0},   /* __EMPTY__ */
        {0, 0, 0,  0},   /* __EMPTY__ */
        {0, 0, 0,  0},   /* __EMPTY__ */
        {0, 0, 0,  0},   /* __EMPTY__ */
        {0, 0, 0,  0},   /* __EMPTY__ */
        {0, 0, 0,  0},   /* __EMPTY__ */
        {0, 0, 0,  0},   /* __EMPTY__ */
        {0, 0, 0,  0},   /* __EMPTY__ */
        {0, 0, 0,  0},   /* __EMPTY__ */
        {0, 0, 0,  0},   /* __EMPTY__ */
        {0, 0, 0,  0},   /* __EMPTY__ */
        {0, 0, 0,  0},   /* __EMPTY__ */
        {0, 0, 0,  0},   /* __EMPTY__ */
        {0, 0, 0,  0},   /* __EMPTY__ */
        {0, 0, 0,  0},   /* __EMPTY__ */
        {0, 0, 0,  0},   /* __EMPTY__ */
        {0, 0, 0,  0},   /* __EMPTY__ */
        {0, 0, 0,  0},   /* __EMPTY__ */
        {0, 0, 0,  0},   /* __EMPTY__ */
        {0, 0, 0,  0},   /* __EMPTY__ */
        {0, 0, 0,  0},   /* __EMPTY__ */
        {0, 0, 0,  0},   /* __EMPTY__ */
        {0, 0, 0,  0},   /* __EMPTY__ */
        {0, 0, 0,  0},   /* __EMPTY__ */
        {0, 0, 0,  0},   /* __EMPTY__ */
        {0, 0, 0,  0},   /* __EMPTY__ */
        {0, 0, 0,  0},   /* __EMPTY__ */
        {0, 0, 0,  0},   /* __EMPTY__ */
        {0, 0, 0,  0},   /* __EMPTY__ */
        {0, 0, 0,  0},   /* __EMPTY__ */
        {0, 0, 0,  0},   /* __EMPTY__ */
        {0, 0, 0,  0},   /* __EMPTY__ */
        {0, 0, 0,  0},   /* __EMPTY__ */
        {0, 0, 0,  0},   /* __EMPTY__ */
        {0, 0, 0,  0},   /* __EMPTY__ */
        {0, 0, 0,  0},   /* __EMPTY__ */
        {0, 0, 0,  0},   /* __EMPTY__ */
        {0, 0, 0,  0},   /* __EMPTY__ */
        {0, 0, 0,  0},   /* __EMPTY__ */
        {0, 0, 0,  0},   /* __EMPTY__ */
        {0, 0, 0,  0},   /* __EMPTY__ */
        {0, 0, 0,  0},   /* __EMPTY__ */
        {0, 0, 0,  0},   /* __EMPTY__ */
        {0, 0, 0,  0},   /* __EMPTY__ */
        {0, 0, 0,  0},   /* __EMPTY__ */
        {0, 0, 0,  0},   /* __EMPTY__ */
        {0, 0, 0,  0},   /* __EMPTY__ */
        {0, 0, 0,  0},   /* __EMPTY__ */
        {0, 0, 0,  0},   /* __EMPTY__ */
        {0, 0, 0,  0},   /* __EMPTY__ */
        {0, 0, 0,  0},   /* __EMPTY__ */
        {0, 0, 0,  0},   /* __EMPTY__ */
        {0, 0, 0,  0},   /* __EMPTY__ */
        {0, 0, 0,  0},   /* __EMPTY__ */
        {0, 0, 0,  0},   /* __EMPTY__ */
        {0, 0, 0,  0},   /* __EMPTY__ */
        {0, 0, 0,  0},   /* __EMPTY__ */
        {0, 0, 0,  0},   /* __EMPTY__ */
        {0, 0, 0,  0},   /* __EMPTY__ */
        {0, 0, 0,  0},   /* __EMPTY__ */
        {0, 0, 0,  0},   /* __EMPTY__ */
        {0, 0, 0,  0},   /* __EMPTY__ */
        {0, 0, 0,  0},   /* __EMPTY__ */
        {0, 0, 0,  0},   /* __EMPTY__ */
        {0, 0, 0,  0},   /* __EMPTY__ */
        {0, 0, 0,  0},   /* __EMPTY__ */
        {0, 0, 0,  0},   /* __EMPTY__ */
        {0, 0, 0,  0},   /* __EMPTY__ */
        {0, 0, 0,  0},   /* __EMPTY__ */
        {1, 0, 1,  4},   /* Text Spacing */
        {1, 0, 1,  2},   /* Kana Spacing */
        {1, 0, 1,  2},   /* Ideographic Spacing */
        {1, 0, 1,  4},   /* CJK Roman Spacing */
      };
    
    
    #endif /* __GXVFEAT_H__ */
    
    
    /* END */