/***************************************************************************/ /* */ /* gxvfeat.h */ /* */ /* TrueTypeGX/AAT feat table validation (specification). */ /* */ /* Copyright 2004-2015 by */ /* suzuki toshiya, Masatake YAMATO, Red Hat K.K., */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* */ /* This file is part of the FreeType project, and may only be used, */ /* modified, and distributed under the terms of the FreeType project */ /* license, LICENSE.TXT. By continuing to use, modify, or distribute */ /* this file you indicate that you have read the license and */ /* understand and accept it fully. */ /* */ /***************************************************************************/ /***************************************************************************/ /* */ /* gxvalid is derived from both gxlayout module and otvalid module. */ /* Development of gxlayout is supported by the Information-technology */ /* Promotion Agency(IPA), Japan. */ /* */ /***************************************************************************/ #ifndef __GXVFEAT_H__ #define __GXVFEAT_H__ #include "gxvalid.h" #include "gxvcommn.h" /*************************************************************************/ /*************************************************************************/ /***** *****/ /***** Registry predefined by Apple *****/ /***** *****/ /*************************************************************************/ /*************************************************************************/ /* TODO: More compact format */ typedef struct GXV_Feature_RegistryRec_ { FT_Bool existence; FT_Bool apple_reserved; FT_Bool exclusive; FT_Byte nSettings; } GX_Feature_RegistryRec; #define gxv_feat_registry_length \ ( sizeof ( gxv_feat_registry ) / \ sizeof ( GX_Feature_RegistryRec ) ) static GX_Feature_RegistryRec gxv_feat_registry[] = { /* Generated from gxvfgen.c */ {1, 0, 0, 1}, /* All Typographic Features */ {1, 0, 0, 8}, /* Ligatures */ {1, 0, 1, 3}, /* Cursive Connection */ {1, 0, 1, 6}, /* Letter Case */ {1, 0, 0, 1}, /* Vertical Substitution */ {1, 0, 0, 1}, /* Linguistic Rearrangement */ {1, 0, 1, 2}, /* Number Spacing */ {1, 1, 0, 0}, /* Apple Reserved 1 */ {1, 0, 0, 5}, /* Smart Swashes */ {1, 0, 1, 3}, /* Diacritics */ {1, 0, 1, 4}, /* Vertical Position */ {1, 0, 1, 3}, /* Fractions */ {1, 1, 0, 0}, /* Apple Reserved 2 */ {1, 0, 0, 1}, /* Overlapping Characters */ {1, 0, 0, 6}, /* Typographic Extras */ {1, 0, 0, 5}, /* Mathematical Extras */ {1, 0, 1, 7}, /* Ornament Sets */ {1, 0, 1, 1}, /* Character Alternatives */ {1, 0, 1, 5}, /* Design Complexity */ {1, 0, 1, 6}, /* Style Options */ {1, 0, 1, 11}, /* Character Shape */ {1, 0, 1, 2}, /* Number Case */ {1, 0, 1, 4}, /* Text Spacing */ {1, 0, 1, 10}, /* Transliteration */ {1, 0, 1, 9}, /* Annotation */ {1, 0, 1, 2}, /* Kana Spacing */ {1, 0, 1, 2}, /* Ideographic Spacing */ {0, 0, 0, 0}, /* __EMPTY__ */ {0, 0, 0, 0}, /* __EMPTY__ */ {0, 0, 0, 0}, /* __EMPTY__ */ {0, 0, 0, 0}, /* __EMPTY__ */ {0, 0, 0, 0}, /* __EMPTY__ */ {0, 0, 0, 0}, /* __EMPTY__ */ {0, 0, 0, 0}, /* __EMPTY__ */ {0, 0, 0, 0}, /* __EMPTY__ */ {0, 0, 0, 0}, /* __EMPTY__ */ {0, 0, 0, 0}, /* __EMPTY__ */ {0, 0, 0, 0}, /* __EMPTY__ */ {0, 0, 0, 0}, /* __EMPTY__ */ {0, 0, 0, 0}, /* __EMPTY__ */ {0, 0, 0, 0}, /* __EMPTY__ */ {0, 0, 0, 0}, /* __EMPTY__ */ {0, 0, 0, 0}, /* __EMPTY__ */ {0, 0, 0, 0}, /* __EMPTY__ */ {0, 0, 0, 0}, /* __EMPTY__ */ {0, 0, 0, 0}, /* __EMPTY__ */ {0, 0, 0, 0}, /* __EMPTY__ */ {0, 0, 0, 0}, /* __EMPTY__ */ {0, 0, 0, 0}, /* __EMPTY__ */ {0, 0, 0, 0}, /* __EMPTY__ */ {0, 0, 0, 0}, /* __EMPTY__ */ {0, 0, 0, 0}, /* __EMPTY__ */ {0, 0, 0, 0}, /* __EMPTY__ */ {0, 0, 0, 0}, /* __EMPTY__ */ {0, 0, 0, 0}, /* __EMPTY__ */ {0, 0, 0, 0}, /* __EMPTY__ */ {0, 0, 0, 0}, /* __EMPTY__ */ {0, 0, 0, 0}, /* __EMPTY__ */ {0, 0, 0, 0}, /* __EMPTY__ */ {0, 0, 0, 0}, /* __EMPTY__ */ {0, 0, 0, 0}, /* __EMPTY__ */ {0, 0, 0, 0}, /* __EMPTY__ */ {0, 0, 0, 0}, /* __EMPTY__ */ {0, 0, 0, 0}, /* __EMPTY__ */ {0, 0, 0, 0}, /* __EMPTY__ */ {0, 0, 0, 0}, /* __EMPTY__ */ {0, 0, 0, 0}, /* __EMPTY__ */ {0, 0, 0, 0}, /* __EMPTY__ */ {0, 0, 0, 0}, /* __EMPTY__ */ {0, 0, 0, 0}, /* __EMPTY__ */ {0, 0, 0, 0}, /* __EMPTY__ */ {0, 0, 0, 0}, /* __EMPTY__ */ {0, 0, 0, 0}, /* __EMPTY__ */ {0, 0, 0, 0}, /* __EMPTY__ */ {0, 0, 0, 0}, /* __EMPTY__ */ {0, 0, 0, 0}, /* __EMPTY__ */ {0, 0, 0, 0}, /* __EMPTY__ */ {0, 0, 0, 0}, /* __EMPTY__ */ {0, 0, 0, 0}, /* __EMPTY__ */ {0, 0, 0, 0}, /* __EMPTY__ */ {0, 0, 0, 0}, /* __EMPTY__ */ {0, 0, 0, 0}, /* __EMPTY__ */ {0, 0, 0, 0}, /* __EMPTY__ */ {0, 0, 0, 0}, /* __EMPTY__ */ {0, 0, 0, 0}, /* __EMPTY__ */ {0, 0, 0, 0}, /* __EMPTY__ */ {0, 0, 0, 0}, /* __EMPTY__ */ {0, 0, 0, 0}, /* __EMPTY__ */ {0, 0, 0, 0}, /* __EMPTY__ */ {0, 0, 0, 0}, /* __EMPTY__ */ {0, 0, 0, 0}, /* __EMPTY__ */ {0, 0, 0, 0}, /* __EMPTY__ */ {0, 0, 0, 0}, /* __EMPTY__ */ {0, 0, 0, 0}, /* __EMPTY__ */ {0, 0, 0, 0}, /* __EMPTY__ */ {0, 0, 0, 0}, /* __EMPTY__ */ {0, 0, 0, 0}, /* __EMPTY__ */ {0, 0, 0, 0}, /* __EMPTY__ */ {0, 0, 0, 0}, /* __EMPTY__ */ {0, 0, 0, 0}, /* __EMPTY__ */ {1, 0, 1, 4}, /* Text Spacing */ {1, 0, 1, 2}, /* Kana Spacing */ {1, 0, 1, 2}, /* Ideographic Spacing */ {1, 0, 1, 4}, /* CJK Roman Spacing */ }; #endif /* __GXVFEAT_H__ */ /* END */