freetype/src/gxvalid/gxvfeat.h
Werner Lemberg 99aa14c226 Fixes for `make multi' and using C++ compiler.
* gxvalid/gxvcommn.c (gxv_set_length_by_ushort_offset,
gxv_set_length_by_ulong_offset, gxv_array_getlimits_byte,
gxv_array_getlimits_ushort): Declare with FT_LOCAL_DEF.
(gxv_compare_ranges): Make it static.
(gxv_LookupTable_fmt0_validate, gxv_LookupTable_fmt2_validate,
gxv_LookupTable_fmt4_validate, gxv_LookupTable_fmt6_validate,
gxv_LookupTable_fmt8_validate, gxv_LookupTable_validate): Improve
trace messages.
(gxv_StateArray_validate, gxv_XStateArray_validate): s/class/clazz/.
(GXV_STATETABLE_HEADER_SIZE, GXV_STATEHEADER_SIZE,
GXV_XSTATETABLE_HEADER_SIZE, GXV_XSTATEHEADER_SIZE): Move to
gxvcommn.h.

* gxvalid/gxvcommn.h: Add prototypes for
gxv_StateTable_subtable_setup, gxv_XStateTable_subtable_setup,
gxv_XStateTable_validate, gxv_array_getlimits_byte,
gxv_array_getlimits_ushort, gxv_set_length_by_ushort_offset,
gxv_set_length_by_ulong_offset, gxv_odtect_add_range,
gxv_odtect_validate.
(GXV_STATETABLE_HEADER_SIZE, GXV_STATEHEADER_SIZE,
GXV_XSTATETABLE_HEADER_SIZE, GXV_XSTATEHEADER_SIZE): Moved from
gxvcommn.c.

* src/gxvalid/gxvbsln.c (gxv_bsln_LookupValue_validate,
gxv_bsln_parts_fmt1_validate): Improve trace messages.

* gxvalid/gxvfeat.c: Split off predefined registry stuff to...
* gxvalid/gxvfeat.h: New file.

* gxvalid/gxvjust.c (gxv_just_wdc_entry_validate): Improve trace
message.

* gxvalid/gxvkern.c (GXV_kern_Dialect): Add KERN_DIALECT_UNKNOWN.
(gxv_kern_subtable_fmt1_valueTable_load,
gxv_kern_subtable_fmt1_subtable_setup,
gxv_kern_subtable_fmt1_entry_validate): Fix C++ compiler errors.
(gxv_kern_coverage_validate): Use KERN_DIALECT_UNKWOWN.
Improve trace message.
(gxv_kern_validate_generic): Fix C++ compiler error.
Improve trace message.
(gxv_kern_validate_classic): Fix C++ compiler error.

* gxvalid/gxvmort0.c (gxv_mort_subtable_type0_validate): Declare
with FT_LOCAL_DEF.

* gxvalid/gxvmort1.c
(gxv_mort_subtable_type1_substitutionTable_load,
gxv_mort_subtable_type1_subtable_setup): Fix C++ compiler errors.
(gxv_mort_subtable_type1_substTable_validate): Improve trace
message.
(gxv_mort_subtable_type1_validate): Declare with FT_LOCAL_DEF.

* gxvalid/gxvmort2.c (gxv_mort_subtable_type2_opttable_load,
gxv_mort_subtable_type2_subtable_setup,
gxv_mort_subtable_type2_ligActionOffset_validate,
gxv_mort_subtable_type2_ligatureTable_validate): Fix C++ compiler
errors.
(gxv_mort_subtable_type2_validate): Declare with FT_LOCAL_DEF.

* gxvalid/gxvmort4.c (gxv_mort_subtable_type4_validate): Declare
with FT_LOCAL_DEF.

* gxvalid/gxvmort5.c (gxv_mort_subtable_type5_subtable_setup,
gxv_mort_subtable_type5_InsertList_validate): Fix C++ compiler
errors.
(gxv_mort_subtable_type5_validate): Declare with FT_LOCAL_DEF.

* gxvalid/gxvmort.c: Include gxvfeat.h.
(gxv_mort_featurearray_validate, gxv_mort_coverage_validate):
Declare with FT_LOCAL_DEF.
(gxv_mort_subtables_validate, gxv_mort_validate): Improve trace
messages.

* gxvalid/gxvmort.h (gxv_mort_feature_validate): Remove.

* gxvalid/gxvmorx0.c (gxv_morx_subtable_type0_validate): Declare
with FT_LOCAL_DEF.

* gxvalid/gxvmorx1.c
(gxv_morx_subtable_type1_substitutionTable_load,
gxv_morx_subtable_type1_subtable_setup,
gxv_morx_subtable_type1_entry_validate,
gxv_morx_subtable_type1_substitutionTable_validate): Fix C++
compiler errors.
(gxv_morx_subtable_type1_validate): Declare with FT_LOCAL_DEF.

* gxvalid/gxvmorx2.c (gxv_morx_subtable_type2_opttable_load,
gxv_morx_subtable_type2_subtable_setup,
gxv_morx_subtable_type2_ligActionIndex_validate,
gxv_morx_subtable_type2_ligatureTable_validate): Fix C++ compiler
errors.
(gxv_morx_subtable_type2_validate): Declare with FT_LOCAL_DEF.
Fix typo.

* gxvalid/gxvmorx4.c (gxv_morx_subtable_type4_validate): Declare
with FT_LOCAL_DEF.

* gxvalid/gxvmorx5.c (gxv_morx_subtable_type5_insertionGlyph_load,
gxv_morx_subtable_type5_subtable_setup): Fix C++ compiler error.
(gxv_morx_subtable_type5_validate): Declare with FT_LOCAL_DEF.

* gxvalid/gxvmorx.c (gxv_morx_subtables_validate,
gxv_morx_validate): Improve trace message.

* gxvalid/gxvopbd.c (gxv_opbd_LookupFmt4_transit): Fix compiler
warnings.
(gxv_opbd_validate): Improve trace message.

* gxvalid/gxvprop.c: Decorate constants with `U' and `L' where
appropriate.
(gxv_prop_zero_advance_validate, gxv_prop_validate): Improve trace
message.

* gxvalid/gxvtrak.c (gxv_trak_trackTable_validate): Remove unused
parameter.  Update all callers.
(gxv_trak_validate): Improve trace message.

* rules.mk (GXV_DRV_H): Add gxvfeat.h.
2005-09-05 19:31:27 +00:00

173 lines
6.8 KiB
C

/***************************************************************************/
/* */
/* gxvfeat.h */
/* */
/* TrueTypeGX/AAT feat table validation (specification). */
/* */
/* Copyright 2004, 2005 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 __GXVFEAT_H__
#define __GXVFEAT_H__
#include "gxvalid.h"
#include "gxvcommn.h"
/*************************************************************************/
/*************************************************************************/
/***** *****/
/***** Registry predefined by Apple *****/
/***** *****/
/*************************************************************************/
/*************************************************************************/
/* TODO: More compact format */
typedef struct GXV_Feature_RegistryRec_
{
FT_Bool existence;
FT_Bool apple_reserved;
FT_Bool exclusive;
FT_Byte nSettings;
} GX_Feature_RegistryRec;
#define gxv_feat_registry_length \
( sizeof ( gxv_feat_registry ) / \
sizeof ( GX_Feature_RegistryRec ) )
static GX_Feature_RegistryRec gxv_feat_registry[] =
{
/* Generated from gxvfgen.c */
{1, 0, 0, 1}, /* All Typographic Features */
{1, 0, 0, 8}, /* Ligatures */
{1, 0, 1, 3}, /* Cursive Connection */
{1, 0, 1, 6}, /* Letter Case */
{1, 0, 0, 1}, /* Vertical Substitution */
{1, 0, 0, 1}, /* Linguistic Rearrangement */
{1, 0, 1, 2}, /* Number Spacing */
{1, 1, 0, 0}, /* Apple Reserved 1 */
{1, 0, 0, 5}, /* Smart Swashes */
{1, 0, 1, 3}, /* Diacritics */
{1, 0, 1, 4}, /* Vertical Position */
{1, 0, 1, 3}, /* Fractions */
{1, 1, 0, 0}, /* Apple Reserved 2 */
{1, 0, 0, 1}, /* Overlapping Characters */
{1, 0, 0, 6}, /* Typographic Extras */
{1, 0, 0, 5}, /* Mathematical Extras */
{1, 0, 1, 7}, /* Ornament Sets */
{1, 0, 1, 1}, /* Character Alternatives */
{1, 0, 1, 5}, /* Design Complexity */
{1, 0, 1, 6}, /* Style Options */
{1, 0, 1, 11}, /* Character Shape */
{1, 0, 1, 2}, /* Number Case */
{1, 0, 1, 4}, /* Text Spacing */
{1, 0, 1, 10}, /* Transliteration */
{1, 0, 1, 9}, /* Annotation */
{1, 0, 1, 2}, /* Kana Spacing */
{1, 0, 1, 2}, /* Ideographic Spacing */
{0, 0, 0, 0}, /* __EMPTY__ */
{0, 0, 0, 0}, /* __EMPTY__ */
{0, 0, 0, 0}, /* __EMPTY__ */
{0, 0, 0, 0}, /* __EMPTY__ */
{0, 0, 0, 0}, /* __EMPTY__ */
{0, 0, 0, 0}, /* __EMPTY__ */
{0, 0, 0, 0}, /* __EMPTY__ */
{0, 0, 0, 0}, /* __EMPTY__ */
{0, 0, 0, 0}, /* __EMPTY__ */
{0, 0, 0, 0}, /* __EMPTY__ */
{0, 0, 0, 0}, /* __EMPTY__ */
{0, 0, 0, 0}, /* __EMPTY__ */
{0, 0, 0, 0}, /* __EMPTY__ */
{0, 0, 0, 0}, /* __EMPTY__ */
{0, 0, 0, 0}, /* __EMPTY__ */
{0, 0, 0, 0}, /* __EMPTY__ */
{0, 0, 0, 0}, /* __EMPTY__ */
{0, 0, 0, 0}, /* __EMPTY__ */
{0, 0, 0, 0}, /* __EMPTY__ */
{0, 0, 0, 0}, /* __EMPTY__ */
{0, 0, 0, 0}, /* __EMPTY__ */
{0, 0, 0, 0}, /* __EMPTY__ */
{0, 0, 0, 0}, /* __EMPTY__ */
{0, 0, 0, 0}, /* __EMPTY__ */
{0, 0, 0, 0}, /* __EMPTY__ */
{0, 0, 0, 0}, /* __EMPTY__ */
{0, 0, 0, 0}, /* __EMPTY__ */
{0, 0, 0, 0}, /* __EMPTY__ */
{0, 0, 0, 0}, /* __EMPTY__ */
{0, 0, 0, 0}, /* __EMPTY__ */
{0, 0, 0, 0}, /* __EMPTY__ */
{0, 0, 0, 0}, /* __EMPTY__ */
{0, 0, 0, 0}, /* __EMPTY__ */
{0, 0, 0, 0}, /* __EMPTY__ */
{0, 0, 0, 0}, /* __EMPTY__ */
{0, 0, 0, 0}, /* __EMPTY__ */
{0, 0, 0, 0}, /* __EMPTY__ */
{0, 0, 0, 0}, /* __EMPTY__ */
{0, 0, 0, 0}, /* __EMPTY__ */
{0, 0, 0, 0}, /* __EMPTY__ */
{0, 0, 0, 0}, /* __EMPTY__ */
{0, 0, 0, 0}, /* __EMPTY__ */
{0, 0, 0, 0}, /* __EMPTY__ */
{0, 0, 0, 0}, /* __EMPTY__ */
{0, 0, 0, 0}, /* __EMPTY__ */
{0, 0, 0, 0}, /* __EMPTY__ */
{0, 0, 0, 0}, /* __EMPTY__ */
{0, 0, 0, 0}, /* __EMPTY__ */
{0, 0, 0, 0}, /* __EMPTY__ */
{0, 0, 0, 0}, /* __EMPTY__ */
{0, 0, 0, 0}, /* __EMPTY__ */
{0, 0, 0, 0}, /* __EMPTY__ */
{0, 0, 0, 0}, /* __EMPTY__ */
{0, 0, 0, 0}, /* __EMPTY__ */
{0, 0, 0, 0}, /* __EMPTY__ */
{0, 0, 0, 0}, /* __EMPTY__ */
{0, 0, 0, 0}, /* __EMPTY__ */
{0, 0, 0, 0}, /* __EMPTY__ */
{0, 0, 0, 0}, /* __EMPTY__ */
{0, 0, 0, 0}, /* __EMPTY__ */
{0, 0, 0, 0}, /* __EMPTY__ */
{0, 0, 0, 0}, /* __EMPTY__ */
{0, 0, 0, 0}, /* __EMPTY__ */
{0, 0, 0, 0}, /* __EMPTY__ */
{0, 0, 0, 0}, /* __EMPTY__ */
{0, 0, 0, 0}, /* __EMPTY__ */
{0, 0, 0, 0}, /* __EMPTY__ */
{0, 0, 0, 0}, /* __EMPTY__ */
{0, 0, 0, 0}, /* __EMPTY__ */
{0, 0, 0, 0}, /* __EMPTY__ */
{0, 0, 0, 0}, /* __EMPTY__ */
{0, 0, 0, 0}, /* __EMPTY__ */
{0, 0, 0, 0}, /* __EMPTY__ */
{1, 0, 1, 4}, /* Text Spacing */
{1, 0, 1, 2}, /* Kana Spacing */
{1, 0, 1, 2}, /* Ideographic Spacing */
{1, 0, 1, 4}, /* CJK Roman Spacing */
};
#endif /* __GXVFEAT_H__ */
/* END */