misc/libfreetype/src/gxvalid/gxvfeat.h
changeset 9431 0f5961910e27
parent 9357 a501f5ec7b34
parent 9429 7a97a554ac80
child 9433 f0a8ac191839
equal deleted inserted replaced
9357:a501f5ec7b34 9431:0f5961910e27
     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 */