2005-03-03 18:09:08 +01:00
|
|
|
/***************************************************************************/
|
|
|
|
/* */
|
|
|
|
/* afglobal.h */
|
|
|
|
/* */
|
|
|
|
/* Auto-fitter routines to compute global hinting values */
|
|
|
|
/* (specification). */
|
|
|
|
/* */
|
2012-09-01 22:31:43 +02:00
|
|
|
/* Copyright 2003-2005, 2007, 2009, 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 __AFGLOBAL_H__
|
|
|
|
#define __AFGLOBAL_H__
|
2003-11-23 22:39:51 +01:00
|
|
|
|
2005-03-03 18:09:08 +01:00
|
|
|
|
2003-11-23 22:39:51 +01:00
|
|
|
#include "aftypes.h"
|
|
|
|
|
2005-03-03 18:09:08 +01:00
|
|
|
|
2003-11-23 22:39:51 +01:00
|
|
|
FT_BEGIN_HEADER
|
|
|
|
|
|
|
|
|
2005-03-03 18:09:08 +01:00
|
|
|
/************************************************************************/
|
|
|
|
/************************************************************************/
|
|
|
|
/***** *****/
|
|
|
|
/***** F A C E G L O B A L S *****/
|
|
|
|
/***** *****/
|
|
|
|
/************************************************************************/
|
|
|
|
/************************************************************************/
|
2003-11-23 22:39:51 +01:00
|
|
|
|
2005-03-03 18:09:08 +01:00
|
|
|
|
2012-09-15 18:26:28 +02:00
|
|
|
/* index of fallback script in `af_script_classes' */
|
|
|
|
#define AF_SCRIPT_FALLBACK 2
|
|
|
|
/* a bit mask indicating an uncovered glyph */
|
|
|
|
#define AF_SCRIPT_NONE 0x7F
|
|
|
|
/* if this flag is set, we have an ASCII digit */
|
|
|
|
#define AF_DIGIT 0x80
|
2012-09-12 17:45:39 +02:00
|
|
|
|
|
|
|
|
2012-09-01 22:31:43 +02:00
|
|
|
/*
|
|
|
|
* Note that glyph_scripts[] is used to map each glyph into
|
|
|
|
* an index into the `af_script_classes' array.
|
|
|
|
*
|
|
|
|
*/
|
|
|
|
typedef struct AF_FaceGlobalsRec_
|
|
|
|
{
|
|
|
|
FT_Face face;
|
|
|
|
FT_Long glyph_count; /* same as face->num_glyphs */
|
|
|
|
FT_Byte* glyph_scripts;
|
|
|
|
|
|
|
|
AF_ScriptMetrics metrics[AF_SCRIPT_MAX];
|
|
|
|
|
|
|
|
} AF_FaceGlobalsRec;
|
|
|
|
|
|
|
|
|
2005-03-03 18:09:08 +01:00
|
|
|
/*
|
|
|
|
* model the global hints data for a given face, decomposed into
|
|
|
|
* script-specific items
|
|
|
|
*/
|
2012-09-01 22:31:43 +02:00
|
|
|
typedef struct AF_FaceGlobalsRec_* AF_FaceGlobals;
|
2004-01-16 10:51:00 +01:00
|
|
|
|
2003-11-23 22:39:51 +01:00
|
|
|
|
|
|
|
FT_LOCAL( FT_Error )
|
|
|
|
af_face_globals_new( FT_Face face,
|
2012-09-15 10:33:43 +02:00
|
|
|
AF_FaceGlobals *aglobals,
|
2012-09-15 18:26:28 +02:00
|
|
|
FT_UInt fallback_script );
|
2003-11-23 22:39:51 +01:00
|
|
|
|
|
|
|
FT_LOCAL( FT_Error )
|
|
|
|
af_face_globals_get_metrics( AF_FaceGlobals globals,
|
|
|
|
FT_UInt gindex,
|
2007-06-11 07:37:35 +02:00
|
|
|
FT_UInt options,
|
2003-11-23 22:39:51 +01:00
|
|
|
AF_ScriptMetrics *ametrics );
|
|
|
|
|
|
|
|
FT_LOCAL( void )
|
|
|
|
af_face_globals_free( AF_FaceGlobals globals );
|
|
|
|
|
2009-04-27 19:40:35 +02:00
|
|
|
FT_LOCAL_DEF( FT_Bool )
|
|
|
|
af_face_globals_is_digit( AF_FaceGlobals globals,
|
|
|
|
FT_UInt gindex );
|
|
|
|
|
|
|
|
/* */
|
2004-01-16 10:51:00 +01:00
|
|
|
|
2005-03-03 18:09:08 +01:00
|
|
|
|
2003-11-23 22:39:51 +01:00
|
|
|
FT_END_HEADER
|
|
|
|
|
2011-03-28 15:41:49 +02:00
|
|
|
#endif /* __AFGLOBAL_H__ */
|
2005-03-03 18:09:08 +01:00
|
|
|
|
|
|
|
|
|
|
|
/* END */
|