100 lines
2.9 KiB
C
100 lines
2.9 KiB
C
/****************************************************************************
|
|
*
|
|
* gxvmort.h
|
|
*
|
|
* TrueTypeGX/AAT common definition for mort table (specification).
|
|
*
|
|
* Copyright (C) 2004-2020 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 */
|