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 valid ); |
|
59 |
|
60 FT_LOCAL( void ) |
|
61 gxv_mort_coverage_validate( FT_UShort coverage, |
|
62 GXV_Validator valid ); |
|
63 |
|
64 FT_LOCAL( void ) |
|
65 gxv_mort_subtable_type0_validate( FT_Bytes table, |
|
66 FT_Bytes limit, |
|
67 GXV_Validator valid ); |
|
68 |
|
69 FT_LOCAL( void ) |
|
70 gxv_mort_subtable_type1_validate( FT_Bytes table, |
|
71 FT_Bytes limit, |
|
72 GXV_Validator valid ); |
|
73 |
|
74 FT_LOCAL( void ) |
|
75 gxv_mort_subtable_type2_validate( FT_Bytes table, |
|
76 FT_Bytes limit, |
|
77 GXV_Validator valid ); |
|
78 |
|
79 FT_LOCAL( void ) |
|
80 gxv_mort_subtable_type4_validate( FT_Bytes table, |
|
81 FT_Bytes limit, |
|
82 GXV_Validator valid ); |
|
83 |
|
84 FT_LOCAL( void ) |
|
85 gxv_mort_subtable_type5_validate( FT_Bytes table, |
|
86 FT_Bytes limit, |
|
87 GXV_Validator valid ); |
|
88 |
|
89 |
|
90 #endif /* __GXVMORT_H__ */ |
|
91 |
|
92 |
|
93 /* END */ |
|