blob: 56f0dc3cb01550449d49931f148b8d58d14ab6ee [file] [log] [blame]
/***************************************************************************/
/* */
/* svlayout.h */
/* */
/* The FreeType Layout services (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 __SVLAYOUT_H__
#define __SVLAYOUT_H__
#include FT_INTERNAL_SERVICE_H
#include FT_LAYOUT_H
#include FT_INTERNAL_FTL_TYPES_H
FT_BEGIN_HEADER
#define FT_SERVICE_ID_LAYOUT "layout"
typedef FT_Error
(*FTL_Get_Font_Func)( FT_Face face,
FTL_Font* font );
typedef FTL_EngineType
(*FTL_Get_EngineType_Func) ( FT_Face face );
typedef FT_Error
(*FTL_New_FeaturesRequest_Func)( FT_Face face,
FTL_FeaturesRequest* request );
typedef FT_Error
(*FTL_Done_FeaturesRequest_Func)( FTL_FeaturesRequest request );
typedef FT_Error
(*FTL_Copy_FeaturesRequest_Func)( FTL_FeaturesRequest from,
FTL_FeaturesRequest to );
typedef FT_UShort
(*FTL_Get_LigatureCaret_Count_Func) ( FT_Face face, FT_UShort glyphID );
typedef FT_UShort
(*FTL_Get_LigatureCaret_Division_Func) ( FT_Face face,
FT_UShort glyphID,
FT_UShort nth );
typedef FT_Error
(*FTL_Substitute_Glyphs_Func) ( FT_Face face,
FTL_FeaturesRequest request,
FTL_GlyphArray in,
FTL_GlyphArray out );
FT_DEFINE_SERVICE( Layout )
{
FTL_Get_Font_Func get_font;
FTL_Get_EngineType_Func get_engine_type;
FTL_New_FeaturesRequest_Func new_features_request;
FTL_Done_FeaturesRequest_Func done_features_request;
FTL_Copy_FeaturesRequest_Func copy_features_request;
FTL_Get_LigatureCaret_Count_Func get_ligature_caret_count;
FTL_Get_LigatureCaret_Division_Func get_ligature_caret_division;
FTL_Substitute_Glyphs_Func substitute_glyphs;
};
/* */
FT_END_HEADER
#endif /* __SVLAYOUT_H__ */
/* END */