Subversion Repositories Kolibri OS

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
4349 Serge 1
/***************************************************************************/
2
/*                                                                         */
3
/*  afloader.h                                                             */
4
/*                                                                         */
5
/*    Auto-fitter glyph loading routines (specification).                  */
6
/*                                                                         */
7
/*  Copyright 2003-2005, 2011-2012 by                                      */
8
/*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
9
/*                                                                         */
10
/*  This file is part of the FreeType project, and may only be used,       */
11
/*  modified, and distributed under the terms of the FreeType project      */
12
/*  license, LICENSE.TXT.  By continuing to use, modify, or distribute     */
13
/*  this file you indicate that you have read the license and              */
14
/*  understand and accept it fully.                                        */
15
/*                                                                         */
16
/***************************************************************************/
17
 
18
 
19
#ifndef __AFLOADER_H__
20
#define __AFLOADER_H__
21
 
22
#include "afhints.h"
23
#include "afglobal.h"
24
 
25
 
26
FT_BEGIN_HEADER
27
 
28
  typedef struct AF_ModuleRec_*  AF_Module;
29
 
30
  /*
31
   *  The autofitter module's (global) data structure to communicate with
32
   *  actual fonts.  If necessary, `local' data like the current face, the
33
   *  current face's auto-hint data, or the current glyph's parameters
34
   *  relevant to auto-hinting are `swapped in'.  Cf. functions like
35
   *  `af_loader_reset' and `af_loader_load_g'.
36
   */
37
 
38
  typedef struct  AF_LoaderRec_
39
  {
40
    /* current face data */
41
    FT_Face           face;
42
    AF_FaceGlobals    globals;
43
 
44
    /* current glyph data */
45
    FT_GlyphLoader    gloader;
46
    AF_GlyphHintsRec  hints;
47
    AF_ScriptMetrics  metrics;
48
    FT_Bool           transformed;
49
    FT_Matrix         trans_matrix;
50
    FT_Vector         trans_delta;
51
    FT_Vector         pp1;
52
    FT_Vector         pp2;
53
    /* we don't handle vertical phantom points */
54
 
55
  } AF_LoaderRec, *AF_Loader;
56
 
57
 
58
  FT_LOCAL( FT_Error )
59
  af_loader_init( AF_Module  module );
60
 
61
 
62
  FT_LOCAL( FT_Error )
63
  af_loader_reset( AF_Module  module,
64
                   FT_Face    face );
65
 
66
 
67
  FT_LOCAL( void )
68
  af_loader_done( AF_Module  module );
69
 
70
 
71
  FT_LOCAL( FT_Error )
72
  af_loader_load_glyph( AF_Module  module,
73
                        FT_Face    face,
74
                        FT_UInt    gindex,
75
                        FT_Int32   load_flags );
76
 
77
/* */
78
 
79
 
80
FT_END_HEADER
81
 
82
#endif /* __AFLOADER_H__ */
83
 
84
 
85
/* END */