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