Home | History | Annotate | Download | only in gxvalid
      1 /***************************************************************************/
      2 /*                                                                         */
      3 /*  gxvmort.h                                                              */
      4 /*                                                                         */
      5 /*    TrueTypeGX/AAT common definition for mort table (specification).     */
      6 /*                                                                         */
      7 /*  Copyright 2004-2018 by                                                 */
      8 /*  suzuki toshiya, Masatake YAMATO, Red Hat K.K.,                         */
      9 /*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
     10 /*                                                                         */
     11 /*  This file is part of the FreeType project, and may only be used,       */
     12 /*  modified, and distributed under the terms of the FreeType project      */
     13 /*  license, LICENSE.TXT.  By continuing to use, modify, or distribute     */
     14 /*  this file you indicate that you have read the license and              */
     15 /*  understand and accept it fully.                                        */
     16 /*                                                                         */
     17 /***************************************************************************/
     18 
     19 /***************************************************************************/
     20 /*                                                                         */
     21 /* gxvalid is derived from both gxlayout module and otvalid module.        */
     22 /* Development of gxlayout is supported by the Information-technology      */
     23 /* Promotion Agency(IPA), Japan.                                           */
     24 /*                                                                         */
     25 /***************************************************************************/
     26 
     27 
     28 #ifndef GXVMORT_H_
     29 #define GXVMORT_H_
     30 
     31 #include "gxvalid.h"
     32 #include "gxvcommn.h"
     33 
     34 #include FT_SFNT_NAMES_H
     35 
     36 
     37   typedef struct  GXV_mort_featureRec_
     38   {
     39     FT_UShort  featureType;
     40     FT_UShort  featureSetting;
     41     FT_ULong   enableFlags;
     42     FT_ULong   disableFlags;
     43 
     44   } GXV_mort_featureRec, *GXV_mort_feature;
     45 
     46 #define GXV_MORT_FEATURE_OFF  {0, 1, 0x00000000UL, 0x00000000UL}
     47 
     48 #define IS_GXV_MORT_FEATURE_OFF( f )              \
     49           ( (f).featureType    == 0            || \
     50             (f).featureSetting == 1            || \
     51             (f).enableFlags    == 0x00000000UL || \
     52             (f).disableFlags   == 0x00000000UL )
     53 
     54 
     55   FT_LOCAL( void )
     56   gxv_mort_featurearray_validate( FT_Bytes       table,
     57                                   FT_Bytes       limit,
     58                                   FT_ULong       nFeatureFlags,
     59                                   GXV_Validator  gxvalid );
     60 
     61   FT_LOCAL( void )
     62   gxv_mort_coverage_validate( FT_UShort      coverage,
     63                               GXV_Validator  gxvalid );
     64 
     65   FT_LOCAL( void )
     66   gxv_mort_subtable_type0_validate( FT_Bytes       table,
     67                                     FT_Bytes       limit,
     68                                     GXV_Validator  gxvalid );
     69 
     70   FT_LOCAL( void )
     71   gxv_mort_subtable_type1_validate( FT_Bytes       table,
     72                                     FT_Bytes       limit,
     73                                     GXV_Validator  gxvalid );
     74 
     75   FT_LOCAL( void )
     76   gxv_mort_subtable_type2_validate( FT_Bytes       table,
     77                                     FT_Bytes       limit,
     78                                     GXV_Validator  gxvalid );
     79 
     80   FT_LOCAL( void )
     81   gxv_mort_subtable_type4_validate( FT_Bytes       table,
     82                                     FT_Bytes       limit,
     83                                     GXV_Validator  gxvalid );
     84 
     85   FT_LOCAL( void )
     86   gxv_mort_subtable_type5_validate( FT_Bytes       table,
     87                                     FT_Bytes       limit,
     88                                     GXV_Validator  gxvalid );
     89 
     90 
     91 #endif /* GXVMORT_H_ */
     92 
     93 
     94 /* END */
     95