summaryrefslogtreecommitdiffstats
path: root/src/3rdparty/opentype/ftxopenf.h
blob: 4c5998ef165e34ddb4c1bce3f2b6b2d83894f6b8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
/*******************************************************************
 *
 *  ftxopenf.h
 *
 *    internal TrueType Open functions
 *
 *  Copyright 1996-2000 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 FTXOPENF_H
#define FTXOPENF_H

#include "ftxopen.h"

#ifdef __cplusplus
extern "C" {
#endif

  /* functions from ftxopen.c */

  FT_Error  Load_ScriptList( TTO_ScriptList*  sl,
			     FT_Stream     stream );
  FT_Error  Load_FeatureList( TTO_FeatureList*  fl,
                              FT_Stream         input );
  FT_Error  Load_LookupList( TTO_LookupList*  ll,
                             FT_Stream        input,
                             TTO_Type         type );

  FT_Error  Load_Coverage( TTO_Coverage*  c,
                           FT_Stream      input );
  FT_Error  Load_ClassDefinition( TTO_ClassDefinition*  cd,
                                  FT_UShort             limit,
                                  FT_Stream             input );
  FT_Error  Load_EmptyClassDefinition( TTO_ClassDefinition*  cd,
                                       FT_Stream             input );
  FT_Error  Load_Device( TTO_Device*  d,
                         FT_Stream    input );

  void  Free_ScriptList( TTO_ScriptList*  sl, 
                         FT_Memory        memory );
  void  Free_FeatureList( TTO_FeatureList*  fl,
			  FT_Memory         memory );
  void  Free_LookupList( TTO_LookupList*  ll,
                         TTO_Type         type,
			 FT_Memory        memory );

  void  Free_Coverage( TTO_Coverage*  c,
		       FT_Memory      memory );
  void  Free_ClassDefinition( TTO_ClassDefinition*  cd,
			      FT_Memory             memory );
  void  Free_Device( TTO_Device*  d,
		     FT_Memory    memory );


  /* functions from ftxgsub.c */

  FT_Error  Load_SingleSubst( TTO_SingleSubst*  ss,
                              FT_Stream         input );
  FT_Error  Load_MultipleSubst( TTO_MultipleSubst*  ms,
                                FT_Stream           input );
  FT_Error  Load_AlternateSubst( TTO_AlternateSubst*  as,
                                 FT_Stream            input );
  FT_Error  Load_LigatureSubst( TTO_LigatureSubst*  ls,
                                FT_Stream           input );
  FT_Error  Load_ContextSubst( TTO_ContextSubst*  cs,
                               FT_Stream          input );
  FT_Error  Load_ChainContextSubst( TTO_ChainContextSubst*  ccs,
                                    FT_Stream               input );

  void  Free_SingleSubst( TTO_SingleSubst*  ss,
			  FT_Memory         memory );
  void  Free_MultipleSubst( TTO_MultipleSubst*  ms,
			    FT_Memory         memory );
  void  Free_AlternateSubst( TTO_AlternateSubst*  as,
			     FT_Memory            memory );
  void  Free_LigatureSubst( TTO_LigatureSubst*  ls,
			    FT_Memory           memory );
  void  Free_ContextSubst( TTO_ContextSubst*  cs,
			   FT_Memory         memory );
  void  Free_ChainContextSubst( TTO_ChainContextSubst*  ccs,
				FT_Memory               memory );


  /* functions from ftxgpos.c */

  FT_Error  Load_SinglePos( TTO_SinglePos*  sp,
                            FT_Stream       input );
  FT_Error  Load_PairPos( TTO_PairPos*  pp,
                          FT_Stream     input );
  FT_Error  Load_CursivePos( TTO_CursivePos*  cp,
                             FT_Stream        input );
  FT_Error  Load_MarkBasePos( TTO_MarkBasePos*  mbp,
                              FT_Stream         input );
  FT_Error  Load_MarkLigPos( TTO_MarkLigPos*  mlp,
                             FT_Stream        input );
  FT_Error  Load_MarkMarkPos( TTO_MarkMarkPos*  mmp,
                              FT_Stream         input );
  FT_Error  Load_ContextPos( TTO_ContextPos*  cp,
                             FT_Stream        input );
  FT_Error  Load_ChainContextPos( TTO_ChainContextPos*  ccp,
                                  FT_Stream             input );

  void  Free_SinglePos( TTO_SinglePos*  sp,
			FT_Memory       memory );
  void  Free_PairPos( TTO_PairPos*  pp,
		      FT_Memory     memory );
  void  Free_CursivePos( TTO_CursivePos*  cp,
   		         FT_Memory     memory );
  void  Free_MarkBasePos( TTO_MarkBasePos*  mbp,
			  FT_Memory         memory );
  void  Free_MarkLigPos( TTO_MarkLigPos*  mlp,
			 FT_Memory        memory );
  void  Free_MarkMarkPos( TTO_MarkMarkPos*  mmp,
			  FT_Memory         memory );
  void  Free_ContextPos( TTO_ContextPos*  cp,
			 FT_Memory         memory );
  void  Free_ChainContextPos( TTO_ChainContextPos*  ccp,
			      FT_Memory             memory );
  /* query functions */

  FT_Error  Coverage_Index( TTO_Coverage*  c,
                            FT_UShort      glyphID,
                            FT_UShort*     index );
  FT_Error  Get_Class( TTO_ClassDefinition*  cd,
                       FT_UShort             glyphID,
                       FT_UShort*            class,
                       FT_UShort*            index );
  FT_Error  Get_Device( TTO_Device*  d,
                        FT_UShort    size,
                        FT_Short*    value );


  /* functions from ftxgdef.c */

  FT_Error  Add_Glyph_Property( TTO_GDEFHeader*  gdef,
                                FT_UShort        glyphID,
                                FT_UShort        property );

  FT_Error  Check_Property( TTO_GDEFHeader*  gdef,
                            OTL_GlyphItem    item,
                            FT_UShort        flags,
                            FT_UShort*       property );

#define CHECK_Property( gdef, index, flags, property )              \
          ( ( error = Check_Property( (gdef), (index), (flags),     \
                                      (property) ) ) != TT_Err_Ok )

#ifdef __cplusplus
}
#endif

#endif /* FTXOPENF_H */


/* END */