misc/libfreetype/src/gxvalid/gxvmort.h
changeset 9372 915436ff64ab
parent 9371 f3840de881bd
child 9373 b769a8e38cbd
equal deleted inserted replaced
9371:f3840de881bd 9372:915436ff64ab
     1 /***************************************************************************/
       
     2 /*                                                                         */
       
     3 /*  gxvmort.h                                                              */
       
     4 /*                                                                         */
       
     5 /*    TrueTypeGX/AAT common definition for mort table (specification).     */
       
     6 /*                                                                         */
       
     7 /*  Copyright 2004, 2005 by suzuki toshiya, Masatake YAMATO, Red Hat K.K., */
       
     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 /*                                                                         */
       
    20 /* gxvalid is derived from both gxlayout module and otvalid module.        */
       
    21 /* Development of gxlayout is supported by the Information-technology      */
       
    22 /* Promotion Agency(IPA), Japan.                                           */
       
    23 /*                                                                         */
       
    24 /***************************************************************************/
       
    25 
       
    26 
       
    27 #ifndef __GXVMORT_H__
       
    28 #define __GXVMORT_H__
       
    29 
       
    30 #include "gxvalid.h"
       
    31 #include "gxvcommn.h"
       
    32 
       
    33 #include FT_SFNT_NAMES_H
       
    34 
       
    35 
       
    36   typedef struct  GXV_mort_featureRec_
       
    37   {
       
    38     FT_UShort  featureType;
       
    39     FT_UShort  featureSetting;
       
    40     FT_ULong   enableFlags;
       
    41     FT_ULong   disableFlags;
       
    42 
       
    43   } GXV_mort_featureRec, *GXV_mort_feature;
       
    44 
       
    45 #define GXV_MORT_FEATURE_OFF  {0, 1, 0x00000000UL, 0x00000000UL}
       
    46 
       
    47 #define IS_GXV_MORT_FEATURE_OFF( f )              \
       
    48           ( (f).featureType    == 0            || \
       
    49             (f).featureSetting == 1            || \
       
    50             (f).enableFlags    == 0x00000000UL || \
       
    51             (f).disableFlags   == 0x00000000UL )
       
    52 
       
    53 
       
    54   FT_LOCAL( void )
       
    55   gxv_mort_featurearray_validate( FT_Bytes       table,
       
    56                                   FT_Bytes       limit,
       
    57                                   FT_ULong       nFeatureFlags,
       
    58                                   GXV_Validator  valid );
       
    59 
       
    60   FT_LOCAL( void )
       
    61   gxv_mort_coverage_validate( FT_UShort      coverage,
       
    62                               GXV_Validator  valid );
       
    63 
       
    64   FT_LOCAL( void )
       
    65   gxv_mort_subtable_type0_validate( FT_Bytes       table,
       
    66                                     FT_Bytes       limit,
       
    67                                     GXV_Validator  valid );
       
    68 
       
    69   FT_LOCAL( void )
       
    70   gxv_mort_subtable_type1_validate( FT_Bytes       table,
       
    71                                     FT_Bytes       limit,
       
    72                                     GXV_Validator  valid );
       
    73 
       
    74   FT_LOCAL( void )
       
    75   gxv_mort_subtable_type2_validate( FT_Bytes       table,
       
    76                                     FT_Bytes       limit,
       
    77                                     GXV_Validator  valid );
       
    78 
       
    79   FT_LOCAL( void )
       
    80   gxv_mort_subtable_type4_validate( FT_Bytes       table,
       
    81                                     FT_Bytes       limit,
       
    82                                     GXV_Validator  valid );
       
    83 
       
    84   FT_LOCAL( void )
       
    85   gxv_mort_subtable_type5_validate( FT_Bytes       table,
       
    86                                     FT_Bytes       limit,
       
    87                                     GXV_Validator  valid );
       
    88 
       
    89 
       
    90 #endif /* __GXVMORT_H__ */
       
    91 
       
    92 
       
    93 /* END */