1 /**************************************************************************** 2 * 3 * gxvmort.h 4 * 5 * TrueTypeGX/AAT common definition for mort table (specification). 6 * 7 * Copyright (C) 2004-2019 by 8 * suzuki toshiya, Masatake YAMATO, Red Hat K.K., 9 * David Turner, Robert Wilhelm, and Werner Lemberg. 10 * 11 * This file is part of the FreeType project, and may only be used, 12 * modified, and distributed under the terms of the FreeType project 13 * license, LICENSE.TXT. By continuing to use, modify, or distribute 14 * this file you indicate that you have read the license and 15 * understand and accept it fully. 16 * 17 */ 18 19 /**************************************************************************** 20 * 21 * gxvalid is derived from both gxlayout module and otvalid module. 22 * Development of gxlayout is supported by the Information-technology 23 * Promotion Agency(IPA), Japan. 24 * 25 */ 26 27 28 #ifndef GXVMORT_H_ 29 #define GXVMORT_H_ 30 31 #include "gxvalid.h" 32 #include "gxvcommn.h" 33 34 #include FT_SFNT_NAMES_H 35 36 37 typedef struct GXV_mort_featureRec_ 38 { 39 FT_UShort featureType; 40 FT_UShort featureSetting; 41 FT_ULong enableFlags; 42 FT_ULong disableFlags; 43 44 } GXV_mort_featureRec, *GXV_mort_feature; 45 46 #define GXV_MORT_FEATURE_OFF {0, 1, 0x00000000UL, 0x00000000UL} 47 48 #define IS_GXV_MORT_FEATURE_OFF( f ) \ 49 ( (f).featureType == 0 || \ 50 (f).featureSetting == 1 || \ 51 (f).enableFlags == 0x00000000UL || \ 52 (f).disableFlags == 0x00000000UL ) 53 54 55 FT_LOCAL( void ) 56 gxv_mort_featurearray_validate( FT_Bytes table, 57 FT_Bytes limit, 58 FT_ULong nFeatureFlags, 59 GXV_Validator gxvalid ); 60 61 FT_LOCAL( void ) 62 gxv_mort_coverage_validate( FT_UShort coverage, 63 GXV_Validator gxvalid ); 64 65 FT_LOCAL( void ) 66 gxv_mort_subtable_type0_validate( FT_Bytes table, 67 FT_Bytes limit, 68 GXV_Validator gxvalid ); 69 70 FT_LOCAL( void ) 71 gxv_mort_subtable_type1_validate( FT_Bytes table, 72 FT_Bytes limit, 73 GXV_Validator gxvalid ); 74 75 FT_LOCAL( void ) 76 gxv_mort_subtable_type2_validate( FT_Bytes table, 77 FT_Bytes limit, 78 GXV_Validator gxvalid ); 79 80 FT_LOCAL( void ) 81 gxv_mort_subtable_type4_validate( FT_Bytes table, 82 FT_Bytes limit, 83 GXV_Validator gxvalid ); 84 85 FT_LOCAL( void ) 86 gxv_mort_subtable_type5_validate( FT_Bytes table, 87 FT_Bytes limit, 88 GXV_Validator gxvalid ); 89 90 91 #endif /* GXVMORT_H_ */ 92 93 94 /* END */ 95