/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. /* gxvalid is derived from both gxlayout module and otvalid module. */
  20. /* Development of gxlayout is supported by the Information-technology */
  21. /* Promotion Agency(IPA), Japan. */
  22. /* */
  23. /***************************************************************************/
  24. #ifndef __GXVFEAT_H__
  25. #define __GXVFEAT_H__
  26. #include "gxvalid.h"
  27. #include "gxvcommn.h"
  28. /*************************************************************************/
  29. /*************************************************************************/
  30. /***** *****/
  31. /***** Registry predefined by Apple *****/
  32. /***** *****/
  33. /*************************************************************************/
  34. /*************************************************************************/
  35. /* TODO: More compact format */
  36. typedef struct GXV_Feature_RegistryRec_
  37. {
  38. FT_Bool existence;
  39. FT_Bool apple_reserved;
  40. FT_Bool exclusive;
  41. FT_Byte nSettings;
  42. } GX_Feature_RegistryRec;
  43. #define gxv_feat_registry_length \
  44. ( sizeof ( gxv_feat_registry ) / \
  45. sizeof ( GX_Feature_RegistryRec ) )
  46. static GX_Feature_RegistryRec gxv_feat_registry[] =
  47. {
  48. /* Generated from gxvfgen.c */
  49. {1, 0, 0, 1}, /* All Typographic Features */
  50. {1, 0, 0, 8}, /* Ligatures */
  51. {1, 0, 1, 3}, /* Cursive Connection */
  52. {1, 0, 1, 6}, /* Letter Case */
  53. {1, 0, 0, 1}, /* Vertical Substitution */
  54. {1, 0, 0, 1}, /* Linguistic Rearrangement */
  55. {1, 0, 1, 2}, /* Number Spacing */
  56. {1, 1, 0, 0}, /* Apple Reserved 1 */
  57. {1, 0, 0, 5}, /* Smart Swashes */
  58. {1, 0, 1, 3}, /* Diacritics */
  59. {1, 0, 1, 4}, /* Vertical Position */
  60. {1, 0, 1, 3}, /* Fractions */
  61. {1, 1, 0, 0}, /* Apple Reserved 2 */
  62. {1, 0, 0, 1}, /* Overlapping Characters */
  63. {1, 0, 0, 6}, /* Typographic Extras */
  64. {1, 0, 0, 5}, /* Mathematical Extras */
  65. {1, 0, 1, 7}, /* Ornament Sets */
  66. {1, 0, 1, 1}, /* Character Alternatives */
  67. {1, 0, 1, 5}, /* Design Complexity */
  68. {1, 0, 1, 6}, /* Style Options */
  69. {1, 0, 1, 11}, /* Character Shape */
  70. {1, 0, 1, 2}, /* Number Case */
  71. {1, 0, 1, 4}, /* Text Spacing */
  72. {1, 0, 1, 10}, /* Transliteration */
  73. {1, 0, 1, 9}, /* Annotation */
  74. {1, 0, 1, 2}, /* Kana Spacing */
  75. {1, 0, 1, 2}, /* Ideographic Spacing */
  76. {0, 0, 0, 0}, /* __EMPTY__ */
  77. {0, 0, 0, 0}, /* __EMPTY__ */
  78. {0, 0, 0, 0}, /* __EMPTY__ */
  79. {0, 0, 0, 0}, /* __EMPTY__ */
  80. {0, 0, 0, 0}, /* __EMPTY__ */
  81. {0, 0, 0, 0}, /* __EMPTY__ */
  82. {0, 0, 0, 0}, /* __EMPTY__ */
  83. {0, 0, 0, 0}, /* __EMPTY__ */
  84. {0, 0, 0, 0}, /* __EMPTY__ */
  85. {0, 0, 0, 0}, /* __EMPTY__ */
  86. {0, 0, 0, 0}, /* __EMPTY__ */
  87. {0, 0, 0, 0}, /* __EMPTY__ */
  88. {0, 0, 0, 0}, /* __EMPTY__ */
  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. {1, 0, 1, 4}, /* Text Spacing */
  150. {1, 0, 1, 2}, /* Kana Spacing */
  151. {1, 0, 1, 2}, /* Ideographic Spacing */
  152. {1, 0, 1, 4}, /* CJK Roman Spacing */
  153. };
  154. #endif /* __GXVFEAT_H__ */
  155. /* END */