00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027 #ifndef __GXVMORT_H__
00028 #define __GXVMORT_H__
00029
00030 #include "gxvalid.h"
00031 #include "gxvcommn.h"
00032
00033 #include FT_SFNT_NAMES_H
00034
00035
00036 typedef struct GXV_mort_featureRec_
00037 {
00038 FT_UShort featureType;
00039 FT_UShort featureSetting;
00040 FT_ULong enableFlags;
00041 FT_ULong disableFlags;
00042
00043 } GXV_mort_featureRec, *GXV_mort_feature;
00044
00045 #define GXV_MORT_FEATURE_OFF {0, 1, 0x00000000UL, 0x00000000UL}
00046
00047 #define IS_GXV_MORT_FEATURE_OFF( f ) \
00048 ( (f).featureType == 0 || \
00049 (f).featureSetting == 1 || \
00050 (f).enableFlags == 0x00000000UL || \
00051 (f).disableFlags == 0x00000000UL )
00052
00053
00054 FT_LOCAL( void )
00055 gxv_mort_featurearray_validate( FT_Bytes table,
00056 FT_Bytes limit,
00057 FT_ULong nFeatureFlags,
00058 GXV_Validator valid );
00059
00060 FT_LOCAL( void )
00061 gxv_mort_coverage_validate( FT_UShort coverage,
00062 GXV_Validator valid );
00063
00064 FT_LOCAL( void )
00065 gxv_mort_subtable_type0_validate( FT_Bytes table,
00066 FT_Bytes limit,
00067 GXV_Validator valid );
00068
00069 FT_LOCAL( void )
00070 gxv_mort_subtable_type1_validate( FT_Bytes table,
00071 FT_Bytes limit,
00072 GXV_Validator valid );
00073
00074 FT_LOCAL( void )
00075 gxv_mort_subtable_type2_validate( FT_Bytes table,
00076 FT_Bytes limit,
00077 GXV_Validator valid );
00078
00079 FT_LOCAL( void )
00080 gxv_mort_subtable_type4_validate( FT_Bytes table,
00081 FT_Bytes limit,
00082 GXV_Validator valid );
00083
00084 FT_LOCAL( void )
00085 gxv_mort_subtable_type5_validate( FT_Bytes table,
00086 FT_Bytes limit,
00087 GXV_Validator valid );
00088
00089
00090 #endif
00091
00092
00093