2005-03-03 18:09:08 +01:00
|
|
|
/***************************************************************************/
|
|
|
|
/* */
|
|
|
|
/* afloader.h */
|
|
|
|
/* */
|
|
|
|
/* Auto-fitter glyph loading routines (specification). */
|
|
|
|
/* */
|
2012-02-07 09:40:11 +01:00
|
|
|
/* Copyright 2003-2005, 2011-2012 by */
|
2005-03-03 18:09:08 +01:00
|
|
|
/* 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. */
|
|
|
|
/* */
|
|
|
|
/***************************************************************************/
|
|
|
|
|
|
|
|
|
2011-03-28 15:41:49 +02:00
|
|
|
#ifndef __AFLOADER_H__
|
|
|
|
#define __AFLOADER_H__
|
2004-02-03 22:34:29 +01:00
|
|
|
|
|
|
|
#include "afhints.h"
|
|
|
|
#include "afglobal.h"
|
|
|
|
|
2005-03-03 18:09:08 +01:00
|
|
|
|
2004-02-03 22:34:29 +01:00
|
|
|
FT_BEGIN_HEADER
|
|
|
|
|
2012-09-11 19:45:36 +02:00
|
|
|
/*
|
|
|
|
* The autofitter module's global data structure. If necessary, `local'
|
|
|
|
* data like the current face, the current face's auto-hint data, or the
|
|
|
|
* current glyph's parameters relevant to auto-hinting are `swapped in'.
|
|
|
|
* Cf. functions like `af_loader_reset' and `af_loader_load_g'.
|
|
|
|
*/
|
|
|
|
|
|
|
|
typedef struct AF_LoaderRec_
|
2004-02-03 22:34:29 +01:00
|
|
|
{
|
2012-09-11 19:45:36 +02:00
|
|
|
/* current face data */
|
|
|
|
FT_Face face;
|
|
|
|
AF_FaceGlobals globals;
|
|
|
|
|
|
|
|
/* current glyph data */
|
|
|
|
FT_GlyphLoader gloader;
|
2004-02-03 22:34:29 +01:00
|
|
|
AF_GlyphHintsRec hints;
|
|
|
|
AF_ScriptMetrics metrics;
|
|
|
|
FT_Bool transformed;
|
|
|
|
FT_Matrix trans_matrix;
|
|
|
|
FT_Vector trans_delta;
|
|
|
|
FT_Vector pp1;
|
|
|
|
FT_Vector pp2;
|
2004-03-27 09:43:17 +01:00
|
|
|
/* we don't handle vertical phantom points */
|
2004-02-03 22:34:29 +01:00
|
|
|
|
|
|
|
} AF_LoaderRec, *AF_Loader;
|
|
|
|
|
|
|
|
|
|
|
|
FT_LOCAL( FT_Error )
|
|
|
|
af_loader_init( AF_Loader loader,
|
|
|
|
FT_Memory memory );
|
|
|
|
|
|
|
|
|
|
|
|
FT_LOCAL( FT_Error )
|
|
|
|
af_loader_reset( AF_Loader loader,
|
|
|
|
FT_Face face );
|
|
|
|
|
|
|
|
|
|
|
|
FT_LOCAL( void )
|
|
|
|
af_loader_done( AF_Loader loader );
|
|
|
|
|
|
|
|
|
|
|
|
FT_LOCAL( FT_Error )
|
|
|
|
af_loader_load_glyph( AF_Loader loader,
|
|
|
|
FT_Face face,
|
|
|
|
FT_UInt gindex,
|
2012-02-07 09:40:11 +01:00
|
|
|
FT_Int32 load_flags );
|
2004-02-03 22:34:29 +01:00
|
|
|
|
|
|
|
/* */
|
|
|
|
|
2005-03-03 18:09:08 +01:00
|
|
|
|
2004-02-03 22:34:29 +01:00
|
|
|
FT_END_HEADER
|
|
|
|
|
2011-03-28 15:41:49 +02:00
|
|
|
#endif /* __AFLOADER_H__ */
|
2005-03-03 18:09:08 +01:00
|
|
|
|
|
|
|
|
|
|
|
/* END */
|