1 /**************************************************************************** 2 * 3 * gxvmort.h 4 * 5 * TrueTypeGX/AAT common definition for mort table (specification). 6 * 7 * Copyright (C) 2004-2020 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 <freetype/ftsnames.h> 35 36 37 FT_BEGIN_HEADER 38 39 40 typedef struct GXV_mort_featureRec_ 41 { 42 FT_UShort featureType; 43 FT_UShort featureSetting; 44 FT_ULong enableFlags; 45 FT_ULong disableFlags; 46 47 } GXV_mort_featureRec, *GXV_mort_feature; 48 49 #define GXV_MORT_FEATURE_OFF {0, 1, 0x00000000UL, 0x00000000UL} 50 51 #define IS_GXV_MORT_FEATURE_OFF( f ) \ 52 ( (f).featureType == 0 || \ 53 (f).featureSetting == 1 || \ 54 (f).enableFlags == 0x00000000UL || \ 55 (f).disableFlags == 0x00000000UL ) 56 57 58 FT_LOCAL( void ) 59 gxv_mort_featurearray_validate( FT_Bytes table, 60 FT_Bytes limit, 61 FT_ULong nFeatureFlags, 62 GXV_Validator gxvalid ); 63 64 FT_LOCAL( void ) 65 gxv_mort_coverage_validate( FT_UShort coverage, 66 GXV_Validator gxvalid ); 67 68 FT_LOCAL( void ) 69 gxv_mort_subtable_type0_validate( FT_Bytes table, 70 FT_Bytes limit, 71 GXV_Validator gxvalid ); 72 73 FT_LOCAL( void ) 74 gxv_mort_subtable_type1_validate( FT_Bytes table, 75 FT_Bytes limit, 76 GXV_Validator gxvalid ); 77 78 FT_LOCAL( void ) 79 gxv_mort_subtable_type2_validate( FT_Bytes table, 80 FT_Bytes limit, 81 GXV_Validator gxvalid ); 82 83 FT_LOCAL( void ) 84 gxv_mort_subtable_type4_validate( FT_Bytes table, 85 FT_Bytes limit, 86 GXV_Validator gxvalid ); 87 88 FT_LOCAL( void ) 89 gxv_mort_subtable_type5_validate( FT_Bytes table, 90 FT_Bytes limit, 91 GXV_Validator gxvalid ); 92 93 94 FT_END_HEADER 95 96 #endif /* GXVMORT_H_ */ 97 98 99 /* END */ 100