PageRenderTime 61ms CodeModel.GetById 35ms app.highlight 21ms RepoModel.GetById 2ms app.codeStats 0ms

/src/freetype/src/gxvalid/gxvfeat.h

https://bitbucket.org/cabalistic/ogredeps/
C++ Header | 172 lines | 122 code | 17 blank | 33 comment | 0 complexity | 44b7d4b635c8d89dc855aacb4b8317df MD5 | raw file
  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 */