/src/freetype/src/gxvalid/gxvmort.h
C++ Header | 93 lines | 47 code | 22 blank | 24 comment | 7 complexity | 12c462bb736b4b255ea74342f0ebfa6a MD5 | raw file
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 */