92 lines
2.2 KiB
C
92 lines
2.2 KiB
C
/****************************************************************************
|
|
*
|
|
* afloader.h
|
|
*
|
|
* Auto-fitter glyph loading routines (specification).
|
|
*
|
|
* Copyright (C) 2003-2023 by
|
|
* 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.
|
|
*
|
|
*/
|
|
|
|
|
|
#ifndef AFLOADER_H_
|
|
#define AFLOADER_H_
|
|
|
|
#include "afhints.h"
|
|
#include "afmodule.h"
|
|
#include "afglobal.h"
|
|
|
|
|
|
FT_BEGIN_HEADER
|
|
|
|
/*
|
|
* The autofitter module's (global) data structure to communicate with
|
|
* actual fonts. 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_
|
|
{
|
|
/* current face data */
|
|
FT_Face face;
|
|
AF_FaceGlobals globals;
|
|
|
|
/* current glyph data */
|
|
AF_GlyphHints hints;
|
|
AF_StyleMetrics metrics;
|
|
FT_Bool transformed;
|
|
FT_Matrix trans_matrix;
|
|
FT_Vector trans_delta;
|
|
FT_Vector pp1;
|
|
FT_Vector pp2;
|
|
/* we don't handle vertical phantom points */
|
|
|
|
} AF_LoaderRec, *AF_Loader;
|
|
|
|
|
|
FT_LOCAL( void )
|
|
af_loader_init( AF_Loader loader,
|
|
AF_GlyphHints hints );
|
|
|
|
|
|
FT_LOCAL( FT_Error )
|
|
af_loader_reset( AF_Loader loader,
|
|
AF_Module module,
|
|
FT_Face face );
|
|
|
|
|
|
FT_LOCAL( void )
|
|
af_loader_done( AF_Loader loader );
|
|
|
|
|
|
FT_LOCAL( FT_Error )
|
|
af_loader_load_glyph( AF_Loader loader,
|
|
AF_Module module,
|
|
FT_Face face,
|
|
FT_UInt gindex,
|
|
FT_Int32 load_flags );
|
|
|
|
FT_LOCAL( FT_Fixed )
|
|
af_loader_compute_darkening( AF_Loader loader,
|
|
FT_Face face,
|
|
FT_Pos standard_width );
|
|
|
|
/* */
|
|
|
|
|
|
FT_END_HEADER
|
|
|
|
#endif /* AFLOADER_H_ */
|
|
|
|
|
|
/* END */
|