Subversion Repositories Kolibri OS

Rev

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

  1. /***************************************************************************/
  2. /*                                                                         */
  3. /*  gxvfeat.h                                                              */
  4. /*                                                                         */
  5. /*    TrueTypeGX/AAT feat table validation (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 __GXVFEAT_H__
  28. #define __GXVFEAT_H__
  29.  
  30.  
  31. #include "gxvalid.h"
  32. #include "gxvcommn.h"
  33.  
  34.  
  35.   /*************************************************************************/
  36.   /*************************************************************************/
  37.   /*****                                                               *****/
  38.   /*****                Registry predefined by Apple                   *****/
  39.   /*****                                                               *****/
  40.   /*************************************************************************/
  41.   /*************************************************************************/
  42.  
  43.   /* TODO: More compact format */
  44.   typedef struct  GXV_Feature_RegistryRec_
  45.   {
  46.     FT_Bool  existence;
  47.     FT_Bool  apple_reserved;
  48.     FT_Bool  exclusive;
  49.     FT_Byte  nSettings;
  50.  
  51.   } GX_Feature_RegistryRec;
  52.  
  53.  
  54. #define gxv_feat_registry_length                  \
  55.           ( sizeof ( gxv_feat_registry ) /        \
  56.               sizeof ( GX_Feature_RegistryRec ) )
  57.  
  58.  
  59.   static GX_Feature_RegistryRec  gxv_feat_registry[] =
  60.   {
  61.     /* Generated from gxvfgen.c */
  62.     {1, 0, 0,  1},   /* All Typographic Features */
  63.     {1, 0, 0,  8},   /* Ligatures */
  64.     {1, 0, 1,  3},   /* Cursive Connection */
  65.     {1, 0, 1,  6},   /* Letter Case */
  66.     {1, 0, 0,  1},   /* Vertical Substitution */
  67.     {1, 0, 0,  1},   /* Linguistic Rearrangement */
  68.     {1, 0, 1,  2},   /* Number Spacing */
  69.     {1, 1, 0,  0},   /* Apple Reserved 1 */
  70.     {1, 0, 0,  5},   /* Smart Swashes */
  71.     {1, 0, 1,  3},   /* Diacritics */
  72.     {1, 0, 1,  4},   /* Vertical Position */
  73.     {1, 0, 1,  3},   /* Fractions */
  74.     {1, 1, 0,  0},   /* Apple Reserved 2 */
  75.     {1, 0, 0,  1},   /* Overlapping Characters */
  76.     {1, 0, 0,  6},   /* Typographic Extras */
  77.     {1, 0, 0,  5},   /* Mathematical Extras */
  78.     {1, 0, 1,  7},   /* Ornament Sets */
  79.     {1, 0, 1,  1},   /* Character Alternatives */
  80.     {1, 0, 1,  5},   /* Design Complexity */
  81.     {1, 0, 1,  6},   /* Style Options */
  82.     {1, 0, 1, 11},   /* Character Shape */
  83.     {1, 0, 1,  2},   /* Number Case */
  84.     {1, 0, 1,  4},   /* Text Spacing */
  85.     {1, 0, 1, 10},   /* Transliteration */
  86.     {1, 0, 1,  9},   /* Annotation */
  87.     {1, 0, 1,  2},   /* Kana Spacing */
  88.     {1, 0, 1,  2},   /* Ideographic Spacing */
  89.     {0, 0, 0,  0},   /* __EMPTY__ */
  90.     {0, 0, 0,  0},   /* __EMPTY__ */
  91.     {0, 0, 0,  0},   /* __EMPTY__ */
  92.     {0, 0, 0,  0},   /* __EMPTY__ */
  93.     {0, 0, 0,  0},   /* __EMPTY__ */
  94.     {0, 0, 0,  0},   /* __EMPTY__ */
  95.     {0, 0, 0,  0},   /* __EMPTY__ */
  96.     {0, 0, 0,  0},   /* __EMPTY__ */
  97.     {0, 0, 0,  0},   /* __EMPTY__ */
  98.     {0, 0, 0,  0},   /* __EMPTY__ */
  99.     {0, 0, 0,  0},   /* __EMPTY__ */
  100.     {0, 0, 0,  0},   /* __EMPTY__ */
  101.     {0, 0, 0,  0},   /* __EMPTY__ */
  102.     {0, 0, 0,  0},   /* __EMPTY__ */
  103.     {0, 0, 0,  0},   /* __EMPTY__ */
  104.     {0, 0, 0,  0},   /* __EMPTY__ */
  105.     {0, 0, 0,  0},   /* __EMPTY__ */
  106.     {0, 0, 0,  0},   /* __EMPTY__ */
  107.     {0, 0, 0,  0},   /* __EMPTY__ */
  108.     {0, 0, 0,  0},   /* __EMPTY__ */
  109.     {0, 0, 0,  0},   /* __EMPTY__ */
  110.     {0, 0, 0,  0},   /* __EMPTY__ */
  111.     {0, 0, 0,  0},   /* __EMPTY__ */
  112.     {0, 0, 0,  0},   /* __EMPTY__ */
  113.     {0, 0, 0,  0},   /* __EMPTY__ */
  114.     {0, 0, 0,  0},   /* __EMPTY__ */
  115.     {0, 0, 0,  0},   /* __EMPTY__ */
  116.     {0, 0, 0,  0},   /* __EMPTY__ */
  117.     {0, 0, 0,  0},   /* __EMPTY__ */
  118.     {0, 0, 0,  0},   /* __EMPTY__ */
  119.     {0, 0, 0,  0},   /* __EMPTY__ */
  120.     {0, 0, 0,  0},   /* __EMPTY__ */
  121.     {0, 0, 0,  0},   /* __EMPTY__ */
  122.     {0, 0, 0,  0},   /* __EMPTY__ */
  123.     {0, 0, 0,  0},   /* __EMPTY__ */
  124.     {0, 0, 0,  0},   /* __EMPTY__ */
  125.     {0, 0, 0,  0},   /* __EMPTY__ */
  126.     {0, 0, 0,  0},   /* __EMPTY__ */
  127.     {0, 0, 0,  0},   /* __EMPTY__ */
  128.     {0, 0, 0,  0},   /* __EMPTY__ */
  129.     {0, 0, 0,  0},   /* __EMPTY__ */
  130.     {0, 0, 0,  0},   /* __EMPTY__ */
  131.     {0, 0, 0,  0},   /* __EMPTY__ */
  132.     {0, 0, 0,  0},   /* __EMPTY__ */
  133.     {0, 0, 0,  0},   /* __EMPTY__ */
  134.     {0, 0, 0,  0},   /* __EMPTY__ */
  135.     {0, 0, 0,  0},   /* __EMPTY__ */
  136.     {0, 0, 0,  0},   /* __EMPTY__ */
  137.     {0, 0, 0,  0},   /* __EMPTY__ */
  138.     {0, 0, 0,  0},   /* __EMPTY__ */
  139.     {0, 0, 0,  0},   /* __EMPTY__ */
  140.     {0, 0, 0,  0},   /* __EMPTY__ */
  141.     {0, 0, 0,  0},   /* __EMPTY__ */
  142.     {0, 0, 0,  0},   /* __EMPTY__ */
  143.     {0, 0, 0,  0},   /* __EMPTY__ */
  144.     {0, 0, 0,  0},   /* __EMPTY__ */
  145.     {0, 0, 0,  0},   /* __EMPTY__ */
  146.     {0, 0, 0,  0},   /* __EMPTY__ */
  147.     {0, 0, 0,  0},   /* __EMPTY__ */
  148.     {0, 0, 0,  0},   /* __EMPTY__ */
  149.     {0, 0, 0,  0},   /* __EMPTY__ */
  150.     {0, 0, 0,  0},   /* __EMPTY__ */
  151.     {0, 0, 0,  0},   /* __EMPTY__ */
  152.     {0, 0, 0,  0},   /* __EMPTY__ */
  153.     {0, 0, 0,  0},   /* __EMPTY__ */
  154.     {0, 0, 0,  0},   /* __EMPTY__ */
  155.     {0, 0, 0,  0},   /* __EMPTY__ */
  156.     {0, 0, 0,  0},   /* __EMPTY__ */
  157.     {0, 0, 0,  0},   /* __EMPTY__ */
  158.     {0, 0, 0,  0},   /* __EMPTY__ */
  159.     {0, 0, 0,  0},   /* __EMPTY__ */
  160.     {0, 0, 0,  0},   /* __EMPTY__ */
  161.     {0, 0, 0,  0},   /* __EMPTY__ */
  162.     {1, 0, 1,  4},   /* Text Spacing */
  163.     {1, 0, 1,  2},   /* Kana Spacing */
  164.     {1, 0, 1,  2},   /* Ideographic Spacing */
  165.     {1, 0, 1,  4},   /* CJK Roman Spacing */
  166.   };
  167.  
  168.  
  169. #endif /* __GXVFEAT_H__ */
  170.  
  171.  
  172. /* END */
  173.