[doc] Add contents of the `Real-Time Grid Fitting' paper.
[ttfautohint.git] / lib / taloader.h
blob31b7af67836cad53a22f8ada5f097a46762a374e
1 /* taloader.h */
3 /*
4 * Copyright (C) 2011-2012 by Werner Lemberg.
6 * This file is part of the ttfautohint library, and may only be used,
7 * modified, and distributed under the terms given in `COPYING'. By
8 * continuing to use, modify, or distribute this file you indicate that you
9 * have read `COPYING' and understand and accept it fully.
11 * The file `COPYING' mentioned in the previous paragraph is distributed
12 * with the ttfautohint library.
16 /* originally file `afloader.h' (2011-Mar-28) from FreeType */
18 /* heavily modified 2011 by Werner Lemberg <wl@gnu.org> */
20 #ifndef __TALOADER_H__
21 #define __TALOADER_H__
23 #include "tahints.h"
24 #include "taglobal.h"
25 #include "tagloadr.h"
28 typedef struct TA_LoaderRec_
30 FT_Face face; /* current face */
31 TA_FaceGlobals globals; /* current face globals */
32 TA_GlyphLoader gloader; /* glyph loader */
33 TA_GlyphHintsRec hints;
34 TA_ScriptMetrics metrics;
35 FT_Bool transformed;
36 FT_Matrix trans_matrix;
37 FT_Vector trans_delta;
38 FT_Vector pp1;
39 FT_Vector pp2;
40 /* we don't handle vertical phantom points */
41 } TA_LoaderRec, *TA_Loader;
44 FT_Error
45 ta_loader_init(TA_Loader loader);
48 FT_Error
49 ta_loader_reset(TA_Loader loader,
50 FT_Face face,
51 FT_UInt fallback_script);
53 void
54 ta_loader_done(TA_Loader loader);
57 FT_Error
58 ta_loader_load_glyph(TA_Loader loader,
59 FT_Face face,
60 FT_UInt gindex,
61 FT_Int32 load_flags);
64 void
65 ta_loader_register_hints_recorder(TA_Loader loader,
66 TA_Hints_Recorder hints_recorder,
67 void* user);
69 #endif /* __TALOADER_H__ */
71 /* end of taloader.h */