tizen 2.3.1 release
[framework/graphics/freetype.git] / src / gxvalid / gxvmort.h
1 /***************************************************************************/
2 /*                                                                         */
3 /*  gxvmort.h                                                              */
4 /*                                                                         */
5 /*    TrueTypeGX/AAT common definition for mort table (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 __GXVMORT_H__
28 #define __GXVMORT_H__
29
30 #include "gxvalid.h"
31 #include "gxvcommn.h"
32
33 #include FT_SFNT_NAMES_H
34
35
36   typedef struct  GXV_mort_featureRec_
37   {
38     FT_UShort  featureType;
39     FT_UShort  featureSetting;
40     FT_ULong   enableFlags;
41     FT_ULong   disableFlags;
42
43   } GXV_mort_featureRec, *GXV_mort_feature;
44
45 #define GXV_MORT_FEATURE_OFF  {0, 1, 0x00000000UL, 0x00000000UL}
46
47 #define IS_GXV_MORT_FEATURE_OFF( f )              \
48           ( (f).featureType    == 0            || \
49             (f).featureSetting == 1            || \
50             (f).enableFlags    == 0x00000000UL || \
51             (f).disableFlags   == 0x00000000UL )
52
53
54   FT_LOCAL( void )
55   gxv_mort_featurearray_validate( FT_Bytes       table,
56                                   FT_Bytes       limit,
57                                   FT_ULong       nFeatureFlags,
58                                   GXV_Validator  gxvalid );
59
60   FT_LOCAL( void )
61   gxv_mort_coverage_validate( FT_UShort      coverage,
62                               GXV_Validator  gxvalid );
63
64   FT_LOCAL( void )
65   gxv_mort_subtable_type0_validate( FT_Bytes       table,
66                                     FT_Bytes       limit,
67                                     GXV_Validator  gxvalid );
68
69   FT_LOCAL( void )
70   gxv_mort_subtable_type1_validate( FT_Bytes       table,
71                                     FT_Bytes       limit,
72                                     GXV_Validator  gxvalid );
73
74   FT_LOCAL( void )
75   gxv_mort_subtable_type2_validate( FT_Bytes       table,
76                                     FT_Bytes       limit,
77                                     GXV_Validator  gxvalid );
78
79   FT_LOCAL( void )
80   gxv_mort_subtable_type4_validate( FT_Bytes       table,
81                                     FT_Bytes       limit,
82                                     GXV_Validator  gxvalid );
83
84   FT_LOCAL( void )
85   gxv_mort_subtable_type5_validate( FT_Bytes       table,
86                                     FT_Bytes       limit,
87                                     GXV_Validator  gxvalid );
88
89
90 #endif /* __GXVMORT_H__ */
91
92
93 /* END */