| /**************************************************************************** |
| * |
| * gxvmort.h |
| * |
| * TrueTypeGX/AAT common definition for mort table (specification). |
| * |
| * Copyright (C) 2004-2022 by |
| * suzuki toshiya, Masatake YAMATO, Red Hat K.K., |
| * David Turner, Robert Wilhelm, and Werner Lemberg. |
| * |
| * This file is part of the FreeType project, and may only be used, |
| * modified, and distributed under the terms of the FreeType project |
| * license, LICENSE.TXT. By continuing to use, modify, or distribute |
| * this file you indicate that you have read the license and |
| * understand and accept it fully. |
| * |
| */ |
| |
| /**************************************************************************** |
| * |
| * gxvalid is derived from both gxlayout module and otvalid module. |
| * Development of gxlayout is supported by the Information-technology |
| * Promotion Agency(IPA), Japan. |
| * |
| */ |
| |
| |
| #ifndef GXVMORT_H_ |
| #define GXVMORT_H_ |
| |
| #include "gxvalid.h" |
| #include "gxvcommn.h" |
| |
| #include <freetype/ftsnames.h> |
| |
| |
| FT_BEGIN_HEADER |
| |
| |
| typedef struct GXV_mort_featureRec_ |
| { |
| FT_UShort featureType; |
| FT_UShort featureSetting; |
| FT_ULong enableFlags; |
| FT_ULong disableFlags; |
| |
| } GXV_mort_featureRec, *GXV_mort_feature; |
| |
| #define GXV_MORT_FEATURE_OFF {0, 1, 0x00000000UL, 0x00000000UL} |
| |
| #define IS_GXV_MORT_FEATURE_OFF( f ) \ |
| ( (f).featureType == 0 || \ |
| (f).featureSetting == 1 || \ |
| (f).enableFlags == 0x00000000UL || \ |
| (f).disableFlags == 0x00000000UL ) |
| |
| |
| FT_LOCAL( void ) |
| gxv_mort_featurearray_validate( FT_Bytes table, |
| FT_Bytes limit, |
| FT_ULong nFeatureFlags, |
| GXV_Validator gxvalid ); |
| |
| FT_LOCAL( void ) |
| gxv_mort_coverage_validate( FT_UShort coverage, |
| GXV_Validator gxvalid ); |
| |
| FT_LOCAL( void ) |
| gxv_mort_subtable_type0_validate( FT_Bytes table, |
| FT_Bytes limit, |
| GXV_Validator gxvalid ); |
| |
| FT_LOCAL( void ) |
| gxv_mort_subtable_type1_validate( FT_Bytes table, |
| FT_Bytes limit, |
| GXV_Validator gxvalid ); |
| |
| FT_LOCAL( void ) |
| gxv_mort_subtable_type2_validate( FT_Bytes table, |
| FT_Bytes limit, |
| GXV_Validator gxvalid ); |
| |
| FT_LOCAL( void ) |
| gxv_mort_subtable_type4_validate( FT_Bytes table, |
| FT_Bytes limit, |
| GXV_Validator gxvalid ); |
| |
| FT_LOCAL( void ) |
| gxv_mort_subtable_type5_validate( FT_Bytes table, |
| FT_Bytes limit, |
| GXV_Validator gxvalid ); |
| |
| |
| FT_END_HEADER |
| |
| #endif /* GXVMORT_H_ */ |
| |
| |
| /* END */ |