/***************************************************************************/ /* */ /* gxltypes.h */ /* */ /* Data types of AAT/TrueTypeGX based layout engine */ /* (specification) */ /* */ /* Copyright 2003 by */ /* Masatake YAMATO and Redhat K.K. */ /* */ /* This file 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. */ /* */ /***************************************************************************/ /***************************************************************************/ /* Development of the code in this file is support of */ /* Information-technology Promotion Agency, Japan. */ /***************************************************************************/ #ifndef __GXLTYPES_H__ #define __GXLTYPES_H__ #include #include FT_INTERNAL_TRUETYPE_TYPES_H #include FT_INTERNAL_FTL_TYPES_H #include FT_GXLAYOUT_H FT_BEGIN_HEADER typedef enum { GXL_ASCENDING = 0, GXL_DESCENDING = 1 } GXL_Order; typedef struct GXL_Feature_ExclusiveRec_ { FT_Bool exclusive; GXL_Setting setting; } GXL_Feature_ExclusiveRec, *GXL_Feature_Exclusive; typedef struct GXL_NameRec_ { const FT_String * string; FT_Short index; } GXL_NameRec, *GXL_Name; typedef struct GXL_SettingRec_ { FT_UShort value; GXL_NameRec name; GXL_Feature feature; } GXL_SettingRec; /* *GXL_Setting; */ typedef struct GXL_FeatureRec_ { GXL_FeaturesRequest request; FT_UShort value; GXL_Feature_ExclusiveRec exclusive; GXL_NameRec name; FT_UShort nSettings; GXL_Setting setting; } GXL_FeatureRec; /* , * GXL_Feature; */ typedef struct GXL_FeaturesRequestRec_ { FTL_FeaturesRequestRec root; GXL_Initial_State initial_state; FT_ULong nFeatures; GXL_Feature feature; } GXL_FeaturesRequestRec; /* , *GXL_FeaturesRequest; */ FT_LOCAL ( void ) gxl_features_request_free( GXL_FeaturesRequest request, FT_Memory memory ); FT_LOCAL ( GXL_Setting ) gxl_feature_get_setting_by_value (GXL_Feature feature, FT_UShort value); FT_LOCAL ( GXL_Feature ) gxl_features_request_get_feature_by_type ( GXL_FeaturesRequest request, FT_UShort featureType ); FT_LOCAL ( FT_Error ) gxl_get_font ( FT_Face face, FTL_Font * font); FT_LOCAL ( FTL_EngineType ) gxl_get_engine_type ( FT_Face face ); FT_LOCAL ( FT_Error ) gxl_new_features_request( FT_Face face, FTL_FeaturesRequest * request); FT_LOCAL ( FT_Error ) gxl_done_features_request( FTL_FeaturesRequest request); FT_LOCAL ( FT_Error ) gxl_copy_features_request( FTL_FeaturesRequest from, FTL_FeaturesRequest to); FT_LOCAL ( FT_UShort ) gxl_get_ligature_caret_count ( FT_Face face, FT_UShort glyphID ); FT_LOCAL ( FT_UShort ) gxl_get_ligature_caret_division( FT_Face face, FT_UShort glyphID, FT_UShort nth ); FT_LOCAL ( FT_Error ) gxl_substitute_glyphs ( FT_Face face, FTL_FeaturesRequest request, FTL_GlyphArray in, FTL_GlyphArray out ); FT_END_HEADER #endif /* Not def: __GXLTYPES_H__ */ /* END */