Subversion Repositories Kolibri OS

Rev

Go to most recent revision | Blame | Last modification | View Log | Download | RSS feed

  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 */
  94.