The OpenD Programming Language

1 /*
2 
3 Boost Software License - Version 1.0 - August 17th, 2003
4 
5 Permission is hereby granted, free of charge, to any person or organization
6 obtaining a copy of the software and accompanying documentation covered by
7 this license (the "Software") to use, reproduce, display, distribute,
8 execute, and transmit the Software, and to prepare derivative works of the
9 Software, and to permit third-parties to whom the Software is furnished to
10 do so, all subject to the following:
11 
12 The copyright notices in the Software and this entire statement, including
13 the above license grant, this restriction and the following disclaimer,
14 must be included in all copies of the Software, in whole or in part, and
15 all derivative works of the Software, unless such copies or derivative
16 works are solely in the form of machine-executable object code generated by
17 a source language processor.
18 
19 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21 FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
22 SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
23 FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
24 ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
25 DEALINGS IN THE SOFTWARE.
26 
27 */
28 module derelict.freetype.functions;
29 
30 private {
31     import derelict.util.system;
32     import derelict.freetype.types;
33 }
34 
35 extern(C) @nogc nothrow {
36     // freetype.h
37     alias da_FT_Init_FreeType = FT_Error function(FT_Library*);
38     alias da_FT_Done_FreeType = FT_Error function(FT_Library);
39     alias da_FT_New_Face = FT_Error function(FT_Library,const(char)*,FT_Long,FT_Face*);
40     alias da_FT_New_Memory_Face = FT_Error function(FT_Library,const(FT_Byte)*,FT_Long,FT_Long,FT_Face*);
41     alias da_FT_Open_Face = FT_Error function(FT_Library,const(FT_Open_Args)*,FT_Long,FT_Face*);
42     alias da_FT_Attach_File = FT_Error function(FT_Face,const(char)*);
43     alias da_FT_Attach_Stream = FT_Error function(FT_Face,FT_Open_Args*);
44     alias da_FT_Reference_Face = FT_Error function(FT_Face);
45     alias da_FT_Done_Face = FT_Error function(FT_Face);
46     alias da_FT_Select_Size = FT_Error function(FT_Face,FT_Int);
47     alias da_FT_Request_Size = FT_Error function(FT_Face,FT_Size_Request);
48     alias da_FT_Set_Char_Size = FT_Error function(FT_Face,FT_F26Dot6,FT_F26Dot6,FT_UInt,FT_UInt);
49     alias da_FT_Set_Pixel_Sizes = FT_Error function(FT_Face,FT_UInt,FT_UInt);
50     alias da_FT_Load_Glyph = FT_Error function(FT_Face,FT_UInt,FT_Int32);
51     alias da_FT_Load_Char = FT_Error function(FT_Face,FT_ULong,FT_Int32);
52     alias da_FT_Set_Transform = void function(FT_Face,FT_Matrix*,FT_Vector*);
53     alias da_FT_Render_Glyph = FT_Error function(FT_GlyphSlot,FT_Render_Mode);
54     alias da_FT_Get_Kerning = FT_Error function(FT_Face,FT_UInt,FT_UInt,FT_UInt,FT_Vector*);
55     alias da_FT_Get_Track_Kerning = FT_Error function(FT_Face,FT_Fixed,FT_Int,FT_Fixed*);
56     alias da_FT_Get_Glyph_Name = FT_Error function(FT_Face,FT_UInt,FT_Pointer,FT_UInt);
57     alias da_FT_Get_Postscript_Name = const(char)* function(FT_Face);
58     alias da_FT_Select_Charmap = FT_Error function(FT_Face,FT_Encoding);
59     alias da_FT_Set_Charmap = FT_Error function(FT_Face,FT_CharMap);
60     alias da_FT_Get_Charmap_Index = FT_Int function(FT_CharMap);
61     alias da_FT_Get_Char_Index = FT_UInt function(FT_Face,FT_ULong);
62     alias da_FT_Get_First_Char = FT_ULong function(FT_Face,FT_UInt*);
63     alias da_FT_Get_Next_Char = FT_ULong function(FT_Face,FT_ULong,FT_UInt*);
64     alias da_FT_Get_Name_Index = FT_UInt function(FT_Face,FT_String*);
65     alias da_FT_Get_SubGlyph_Info = FT_Error function(FT_GlyphSlot,FT_UInt,FT_Int*,FT_UInt*,FT_Int*,FT_Int*,FT_Matrix*);
66     alias da_FT_Get_FSType_Flags = FT_UShort function(FT_Face);
67     alias da_FT_Face_GetCharVariantIndex = FT_UInt function(FT_Face,FT_ULong,FT_ULong);
68     alias da_FT_Face_GetCharVariantIsDefault = FT_Int function(FT_Face,FT_ULong,FT_ULong);
69     alias da_FT_Face_GetVariantSelectors = FT_UInt32* function(FT_Face);
70     alias da_FT_Face_GetVariantsOfChar = FT_UInt32* function(FT_Face,FT_ULong);
71     alias da_FT_Face_GetCharsOfVariant = FT_UInt32* function(FT_Face,FT_ULong);
72     alias da_FT_MulDiv = FT_Long function(FT_Long,FT_Long,FT_Long);
73     alias da_FT_MulFix = FT_Long function(FT_Long,FT_Long);
74     alias da_FT_DivFix = FT_Long function(FT_Long,FT_Long);
75     alias da_FT_RoundFix = FT_Fixed function(FT_Fixed);
76     alias da_FT_CeilFix = FT_Fixed function(FT_Fixed);
77     alias da_FT_FloorFix = FT_Fixed function(FT_Fixed);
78     alias da_FT_Vector_Transform = void function(FT_Vector*,FT_Matrix*);
79     alias da_FT_Library_Version = void function(FT_Library,FT_Int*,FT_Int*,FT_Int*);
80     alias da_FT_Face_CheckTrueTypePatents = FT_Bool function(FT_Face);
81     alias da_FT_Face_SetUnpatentedHinting = FT_Bool function(FT_Face,FT_Bool);
82 
83     // ftadvanc.h
84     alias da_FT_Get_Advance = FT_Error function(FT_Face,FT_UInt,FT_Int32,FT_Fixed*);
85     alias da_FT_Get_Advances = FT_Error function(FT_Face,FT_UInt,FT_UInt,FT_Int32,FT_Fixed*);
86 
87     // ftbbox.h
88     alias da_FT_Outline_Get_BBox = FT_Error function(FT_Outline*,FT_BBox);
89 
90     // ftbdf.h
91     version(linux) {
92         alias da_FT_Get_BDF_Charset_ID = FT_Error function(FT_Face,const(char)** acharset_encoding,const(char)** acharset_registry);
93         alias da_FT_Get_BDF_Property = FT_Error function(FT_Face,const(char)*,BDF_PropertyRec*);
94     }
95 
96     // ftbitmap.h
97     alias da_FT_Bitmap_Init = void function(FT_Bitmap*);
98     alias da_FT_Bitmap_Copy = FT_Error function(FT_Library,const(FT_Bitmap)*,FT_Bitmap*);
99     alias da_FT_Bitmap_Embolden = FT_Error function(FT_Library,FT_Bitmap*,FT_Pos,FT_Pos);
100     alias da_FT_Bitmap_Convert = FT_Error function(FT_Library,const(FT_Bitmap)*,FT_Bitmap*,FT_Int);
101     alias da_FT_GlyphSlot_Own_Bitmap = FT_Error function(FT_GlyphSlot);
102     alias da_FT_Bitmap_Done = FT_Error function(FT_Library,FT_Bitmap*);
103 
104     // ftbzip2.h
105     alias da_FT_Stream_OpenBzip2 = FT_Error function(FT_Stream,FT_Stream);
106 
107     // ftcache.h
108     alias da_FTC_Manager_New = FT_Error function(FT_Library,FT_UInt,FT_UInt,FT_ULong,FTC_Face_Requester,FT_Pointer,FTC_Manager*);
109     alias da_FTC_Manager_Reset = void function(FTC_Manager);
110     alias da_FTC_Manager_Done = void function(FTC_Manager);
111     alias da_FTC_Manager_LookupFace = FT_Error function(FTC_Manager,FTC_FaceID,FT_Face*);
112     alias da_FTC_Manager_LookupSize = FT_Error function(FTC_Manager,FTC_Scaler,FT_Size*);
113     alias da_FTC_Node_Unref = void function(FTC_Node,FTC_Manager);
114     alias da_FTC_Manager_RemoveFaceID = void function(FTC_Manager,FTC_FaceID);
115     alias da_FTC_CMapCache_New = FT_Error function(FTC_Manager,FTC_CMapCache*);
116     alias da_FTC_CMapCache_Lookup = FT_UInt function(FTC_CMapCache,FTC_FaceID,FT_Int,FT_UInt32);
117     alias da_FTC_ImageCache_New = FT_Error function(FTC_Manager,FTC_ImageCache*);
118     alias da_FTC_ImageCache_Lookup = FT_Error function(FTC_ImageCache,FTC_ImageType,FT_UInt,FT_Glyph*,FTC_Node*);
119     alias da_FTC_ImageCache_LookupScaler = FT_Error function(FTC_ImageCache,FTC_Scaler,FT_ULong,FT_UInt,FT_Glyph*,FTC_Node*);
120     alias da_FTC_SBitCache_New = FT_Error function(FTC_Manager,FTC_SBitCache*);
121     alias da_FTC_SBitCache_Lookup = FT_Error function(FTC_SBitCache,FTC_ImageType,FT_UInt,FTC_SBit*,FTC_Node*);
122     alias da_FTC_SBitCache_LookupScaler = FT_Error function(FTC_SBitCache,FTC_Scaler,FT_ULong,FT_UInt,FTC_SBit*,FTC_Node*);
123 
124     // ftcid.h
125     alias da_FT_Get_CID_Registry_Ordering_Supplement = FT_Error function(FT_Face,const(char*)*,const(char*)*,FT_Int*);
126     alias da_FT_Get_CID_Is_Internally_CID_Keyed = FT_Error function(FT_Face,FT_Bool*);
127     alias da_FT_Get_CID_From_Glyph_Index = FT_Error function(FT_Face,FT_UInt,FT_UInt*);
128 
129     // ftgasp.h
130     alias da_FT_Get_Gasp = FT_Int function(FT_Face,FT_UInt);
131 
132     // ftglyph.h
133     alias da_FT_Get_Glyph = FT_Error function(FT_GlyphSlot,FT_Glyph*);
134     alias da_FT_Glyph_Copy = FT_Error function(FT_Glyph,FT_Glyph*);
135     alias da_FT_Glyph_Transform = FT_Error function(FT_Glyph,FT_Matrix*,FT_Vector*);
136     alias da_FT_Glyph_Get_CBox = void function(FT_Glyph,FT_UInt,FT_BBox*);
137     alias da_FT_Glyph_To_Bitmap = FT_Error function(FT_Glyph*,FT_Render_Mode,FT_Vector*,FT_Bool);
138     alias da_FT_Done_Glyph = void function(FT_Glyph);
139     alias da_FT_Matrix_Multiply = void function(const(FT_Matrix)*,FT_Matrix*);
140     alias da_FT_Matrix_Invert = FT_Error function(FT_Matrix*);
141 
142     // ftgxval.h
143     alias da_FT_TrueTypeGX_Validate = FT_Error function(FT_Face,FT_UInt,FT_Bytes,FT_UInt);
144     alias da_FT_TrueTypeGX_Free = void function(FT_Face,FT_Bytes);
145     alias da_FT_ClassicKern_Validate = FT_Error function(FT_Face,FT_UInt,FT_Bytes*);
146     alias da_FT_ClassicKern_Free = void function(FT_Face,FT_Bytes);
147 
148     // ftgzip.h
149     alias da_FT_Stream_OpenGzip = FT_Error function(FT_Stream,FT_Stream);
150     alias da_FT_Gzip_Uncompress = FT_Error function(FT_Memory,FT_Byte*,FT_ULong*,const(FT_Byte)*,FT_ULong);
151 
152     // ftlcdfil.h
153     alias da_FT_Library_SetLcdFilter = FT_Error function(FT_Library,FT_LcdFilter);
154     alias da_FT_Library_SetLcdFilterWeights = FT_Error function(FT_Library,ubyte*);
155 
156     alias da_FT_List_Find = FT_ListNode function(FT_List,void*);
157     alias da_FT_List_Add = void function(FT_List,FT_ListNode);
158     alias da_FT_List_Insert = void function(FT_List,FT_ListNode);
159     alias da_FT_List_Remove = void function(FT_List,FT_ListNode);
160     alias da_FT_List_Up = void function(FT_List,FT_ListNode);
161     alias da_FT_List_Iterate = FT_Error function(FT_List,FT_List_Iterator,void*);
162     alias da_FT_List_Finalize = void function(FT_List,FT_List_Destructor,FT_Memory,void*);
163 
164     // ftlzw.h
165     alias da_FT_Stream_OpenLZW = FT_Error function(FT_Stream,FT_Stream);
166 
167     // ftmm.h
168     alias da_FT_Get_Multi_Master = FT_Error function(FT_Face,FT_Multi_Master*);
169     alias da_FT_Get_MM_Var = FT_Error function(FT_Face,FT_MM_Var**);
170     alias da_FT_Set_MM_Design_Coordinates = FT_Error function(FT_Face,FT_UInt,FT_Long*);
171     alias da_FT_Set_Var_Design_Coordinates = FT_Error function(FT_Face,FT_UInt,FT_Fixed*);
172     alias da_FT_Set_MM_Blend_Coordinates = FT_Error function(FT_Face,FT_UInt,FT_Fixed*);
173     alias da_FT_Set_Var_Blend_Coordinates = FT_Error function(FT_Face,FT_UInt,FT_Fixed*);
174 
175     // ftmodapi.h
176     alias da_FT_Add_Module = FT_Error function(FT_Library,const(FT_Module_Class)*);
177     alias da_FT_Get_Module = FT_Module function(FT_Library,const(char)*);
178     alias da_FT_Remove_Module = FT_Error function(FT_Library,FT_Module);
179     alias da_FT_Property_Set = FT_Error function(FT_Library,const(FT_String)*,const(FT_String)*,const(void)*);
180     alias da_FT_Property_Get = FT_Error function(FT_Library,const(FT_String)*,const(FT_String)*,void*);
181     alias da_FT_Reference_Library = FT_Error function(FT_Library);
182     alias da_FT_New_Library = FT_Error function(FT_Memory,FT_Library*);
183     alias da_FT_Done_Library = FT_Error function(FT_Library);
184     alias da_FT_Set_Debug_Hook = void function(FT_Library,FT_UInt,FT_DebugHook_Func);
185     alias da_FT_Add_Default_Modules = void function(FT_Library);
186     alias da_FT_Get_TrueType_Engine_Type = FT_TrueTypeEngineType function(FT_Library);
187 
188     // ftotval.h
189     alias da_FT_OpenType_Validate = FT_Error function(FT_Face,FT_UInt,FT_Bytes*,FT_Bytes*,FT_Bytes*,FT_Bytes*,FT_Bytes*);
190     alias da_FT_OpenType_Free = void function (FT_Face face,FT_Bytes table);
191 
192     // ftoutln.h
193     alias da_FT_Outline_Decompose = FT_Error function(FT_Outline*,const(FT_Outline_Funcs)*,void*);
194     alias da_FT_Outline_New = FT_Error function(FT_Library,FT_UInt,FT_Int,FT_Outline*);
195     alias da_FT_Outline_Done = FT_Error function(FT_Library,FT_Outline*);
196     alias da_FT_Outline_Check = FT_Error function(FT_Outline*);
197     alias da_FT_Outline_Get_CBox = void function(const(FT_Outline)*,FT_BBox*);
198     alias da_FT_Outline_Translate = void function(const(FT_Outline)*,FT_Pos,FT_Pos);
199     alias da_FT_Outline_Copy = FT_Error function(const(FT_Outline)*,FT_Outline*);
200     alias da_FT_Outline_Transform = void function(const(FT_Outline)*,const(FT_Matrix)*);
201     alias da_FT_Outline_Embolden = FT_Error function(FT_Outline*,FT_Pos);
202     alias da_FT_Outline_EmboldenXY = FT_Error function(FT_Outline*,FT_Pos,FT_Pos);
203     alias da_FT_Outline_Reverse = void function(FT_Outline*);
204     alias da_FT_Outline_Get_Bitmap = FT_Error function(FT_Library,FT_Outline*,const(FT_Bitmap)*);
205     alias da_FT_Outline_Render = FT_Error function(FT_Library,FT_Outline*,FT_Raster_Params*);
206     alias da_FT_Outline_Get_Orientation = FT_Orientation function(FT_Outline*);
207 
208     // ftpfr.h
209     alias da_FT_Get_PFR_Metrics = FT_Error function(FT_Face,FT_UInt*,FT_UInt*,FT_Fixed*,FT_Fixed*);
210     alias da_FT_Get_PFR_Kerning = FT_Error function(FT_Face,FT_UInt,FT_UInt,FT_Vector*);
211     alias da_FT_Get_PFR_Advance = FT_Error function(FT_Face,FT_UInt,FT_Pos*);
212 
213     // ftrender.h
214     alias da_FT_Get_Renderer = FT_Renderer function(FT_Library,FT_Glyph_Format);
215     alias da_FT_Set_Renderer = FT_Error function(FT_Library,FT_Renderer,FT_UInt,FT_Parameter*);
216 
217     // ftsizes.h
218     alias da_FT_New_Size = FT_Error function(FT_Face,FT_Size*);
219     alias da_FT_Done_Size = FT_Error function(FT_Size);
220     alias da_FT_Activate_Size = FT_Error function(FT_Size);
221 
222     // ftsnames.h
223     alias da_FT_Get_Sfnt_Name_Count = FT_UInt function(FT_Face);
224 
225     // ftstroke.h
226     alias da_FT_Outline_GetInsideBorder = FT_StrokerBorder function(FT_Outline*);
227     alias da_FT_Outline_GetOutsideBorder = FT_StrokerBorder function(FT_Outline*);
228     alias da_FT_Stroker_New = FT_Error function(FT_Memory,FT_Stroker*);
229     alias da_FT_Stroker_Set = void function(FT_Stroker,FT_Fixed,FT_Stroker_LineCap,FT_Stroker_LineJoin,FT_Fixed);
230     alias da_FT_Stroker_Rewind = void function(FT_Stroker);
231     alias da_FT_Stroker_ParseOutline = FT_Error function(FT_Stroker,FT_Outline*,FT_Bool);
232     alias da_FT_Stroker_BeginSubPath = FT_Error function(FT_Stroker,FT_Vector*,FT_Bool);
233     alias da_FT_Stroker_EndSubPath = FT_Error function(FT_Stroker);
234     alias da_FT_Stroker_LineTo = FT_Error function(FT_Stroker,FT_Vector*);
235     alias da_FT_Stroker_ConicTo = FT_Error function(FT_Stroker,FT_Vector*,FT_Vector*);
236     alias da_FT_Stroker_CubicTo = FT_Error function(FT_Stroker,FT_Vector*,FT_Vector*,FT_Vector*);
237     alias da_FT_Stroker_GetBorderCounts = FT_Error function(FT_Stroker,FT_StrokerBorder,FT_UInt*,FT_UInt*);
238     alias da_FT_Stroker_ExportBorder = void function(FT_Stroker,FT_StrokerBorder,FT_Outline*);
239     alias da_FT_Stroker_GetCounts = FT_Error function(FT_Stroker,FT_UInt*,FT_UInt*);
240     alias da_FT_Stroker_Export = void function(FT_Stroker,FT_Outline*);
241     alias da_FT_Stroker_Done = void function(FT_Stroker);
242     alias da_FT_Glyph_Stroke = FT_Error function(FT_Glyph*,FT_Stroker,FT_Bool);
243     alias da_FT_Glyph_StrokeBorder = FT_Error function(FT_Glyph*,FT_Stroker,FT_Bool,FT_Bool);
244 
245     // ftsynth.h
246     alias da_FT_GlyphSlot_Embolden = void function(FT_GlyphSlot);
247     alias da_FT_GlyphSlot_Oblique = void function(FT_GlyphSlot);
248 
249     // fttrigon.h
250     alias da_FT_Sin = FT_Fixed function(FT_Angle);
251     alias da_FT_Cos = FT_Fixed function(FT_Angle);
252     alias da_FT_Tan = FT_Fixed function(FT_Angle);
253     alias da_FT_Atan2 = FT_Angle function(FT_Fixed,FT_Fixed);
254     alias da_FT_Angle_Diff = FT_Angle function(FT_Angle,FT_Angle);
255     alias da_FT_Vector_Unit = void function(FT_Vector*,FT_Angle);
256     alias da_FT_Vector_Rotate = void function(FT_Vector*,FT_Angle);
257     alias da_FT_Vector_Length = FT_Fixed function(FT_Vector*);
258     alias da_FT_Vector_Polarize = void function(FT_Vector*,FT_Fixed*,FT_Angle*);
259     alias da_FT_Vector_From_Polar = void function(FT_Vector*,FT_Fixed,FT_Angle);
260 
261     // ftwinfnt.h
262     alias da_FT_Get_WinFNT_Header = FT_Error function(FT_Face,FT_WinFNT_HeaderRec*);
263 
264     // ftxf86.h
265     alias da_FT_Get_X11_Font_Format = const(char)* function(FT_Face);
266 
267     // t1tables.h
268     alias da_FT_Has_PS_Glyph_Names = FT_Int function(FT_Face);
269     alias da_FT_Get_PS_Font_Info = FT_Error function(FT_Face,PS_FontInfoRec*);
270     alias da_FT_Get_PS_Font_Private = FT_Error function(FT_Face,PS_PrivateRec*);
271     alias da_FT_Get_PS_Font_Value = FT_Long function(FT_Face,PS_Dict_Keys*,FT_UInt,FT_Long);
272 
273     // tttables.h
274     alias da_FT_Get_Sfnt_Table = void* function(FT_Face,FT_Sfnt_Tag);
275     alias da_FT_Load_Sfnt_Table = FT_Error function(FT_Face,FT_ULong,FT_Long,FT_Byte*,FT_ULong*);
276     alias da_FT_Sfnt_Table_Info = FT_Error function(FT_Face,FT_UInt,FT_ULong*,FT_ULong*);
277     alias da_FT_Get_CMap_Language_ID = FT_ULong function(FT_CharMap);
278     alias da_FT_Get_CMap_Format = FT_ULong function(FT_CharMap);
279     alias da_FT_Get_Sfnt_Name = FT_Error function(FT_Face,FT_UInt,FT_SfntName*);
280 }
281 
282 __gshared {
283     da_FT_Init_FreeType FT_Init_FreeType;
284     da_FT_Done_FreeType FT_Done_FreeType;
285     da_FT_New_Face FT_New_Face;
286     da_FT_New_Memory_Face FT_New_Memory_Face;
287     da_FT_Open_Face FT_Open_Face;
288     da_FT_Attach_File FT_Attach_File;
289     da_FT_Attach_Stream FT_Attach_Stream;
290     da_FT_Reference_Face FT_Reference_Face;
291     da_FT_Done_Face FT_Done_Face;
292     da_FT_Select_Size FT_Select_Size;
293     da_FT_Request_Size FT_Request_Size;
294     da_FT_Set_Char_Size FT_Set_Char_Size;
295     da_FT_Set_Pixel_Sizes FT_Set_Pixel_Sizes;
296     da_FT_Load_Glyph FT_Load_Glyph;
297     da_FT_Load_Char FT_Load_Char;
298     da_FT_Set_Transform FT_Set_Transform;
299     da_FT_Render_Glyph FT_Render_Glyph;
300     da_FT_Get_Kerning FT_Get_Kerning;
301     da_FT_Get_Track_Kerning FT_Get_Track_Kerning;
302     da_FT_Get_Glyph_Name FT_Get_Glyph_Name;
303     da_FT_Get_Postscript_Name FT_Get_Postscript_Name;
304     da_FT_Select_Charmap FT_Select_Charmap;
305     da_FT_Set_Charmap FT_Set_Charmap;
306     da_FT_Get_Charmap_Index FT_Get_Charmap_Index;
307     da_FT_Get_Char_Index FT_Get_Char_Index;
308     da_FT_Get_First_Char FT_Get_First_Char;
309     da_FT_Get_Next_Char FT_Get_Next_Char;
310     da_FT_Get_Name_Index FT_Get_Name_Index;
311     da_FT_Get_SubGlyph_Info FT_Get_SubGlyph_Info;
312     da_FT_Get_FSType_Flags FT_Get_FSType_Flags;
313     da_FT_Face_GetCharVariantIndex FT_Face_GetCharVariantIndex;
314     da_FT_Face_GetCharVariantIsDefault FT_Face_GetCharVariantIsDefault;
315     da_FT_Face_GetVariantSelectors FT_Face_GetVariantSelectors;
316     da_FT_Face_GetVariantsOfChar FT_Face_GetVariantsOfChar;
317     da_FT_Face_GetCharsOfVariant FT_Face_GetCharsOfVariant;
318     da_FT_MulDiv FT_MulDiv;
319     da_FT_MulFix FT_MulFix;
320     da_FT_DivFix FT_DivFix;
321     da_FT_RoundFix FT_RoundFix;
322     da_FT_CeilFix FT_CeilFix;
323     da_FT_FloorFix FT_FloorFix;
324     da_FT_Vector_Transform FT_Vector_Transform;
325     da_FT_Library_Version FT_Library_Version;
326     da_FT_Face_CheckTrueTypePatents FT_Face_CheckTrueTypePatents;
327     da_FT_Face_SetUnpatentedHinting FT_Face_SetUnpatentedHinting;
328 
329     da_FT_Get_Advance FT_Get_Advance;
330     da_FT_Get_Advances FT_Get_Advances;
331 
332     da_FT_Outline_Get_BBox FT_Outline_Get_BBox;
333 
334     version(linux) {
335         da_FT_Get_BDF_Charset_ID FT_Get_BDF_Charset_ID;
336         da_FT_Get_BDF_Property FT_Get_BDF_Property;
337     }
338 
339     da_FT_Bitmap_Init FT_Bitmap_Init;
340     da_FT_Bitmap_Copy FT_Bitmap_Copy;
341     da_FT_Bitmap_Embolden FT_Bitmap_Embolden;
342     da_FT_Bitmap_Convert FT_Bitmap_Convert;
343     da_FT_GlyphSlot_Own_Bitmap FT_GlyphSlot_Own_Bitmap;
344     da_FT_Bitmap_Done FT_Bitmap_Done;
345 
346     da_FT_Stream_OpenBzip2 FT_Stream_OpenBzip2;
347 
348     da_FTC_Manager_New FTC_Manager_New;
349     da_FTC_Manager_Reset FTC_Manager_Reset;
350     da_FTC_Manager_Done FTC_Manager_Done;
351     da_FTC_Manager_LookupFace FTC_Manager_LookupFace;
352     da_FTC_Manager_LookupSize FTC_Manager_LookupSize;
353     da_FTC_Node_Unref FTC_Node_Unref;
354     da_FTC_Manager_RemoveFaceID FTC_Manager_RemoveFaceID;
355     da_FTC_CMapCache_New FTC_CMapCache_New;
356     da_FTC_CMapCache_Lookup FTC_CMapCache_Lookup;
357     da_FTC_ImageCache_New FTC_ImageCache_New;
358     da_FTC_ImageCache_Lookup FTC_ImageCache_Lookup;
359     da_FTC_ImageCache_LookupScaler FTC_ImageCache_LookupScaler;
360     da_FTC_SBitCache_New FTC_SBitCache_New;
361     da_FTC_SBitCache_Lookup FTC_SBitCache_Lookup;
362     da_FTC_SBitCache_LookupScaler FTC_SBitCache_LookupScaler;
363 
364     da_FT_Get_CID_Registry_Ordering_Supplement FT_Get_CID_Registry_Ordering_Supplement;
365     da_FT_Get_CID_Is_Internally_CID_Keyed FT_Get_CID_Is_Internally_CID_Keyed;
366     da_FT_Get_CID_From_Glyph_Index FT_Get_CID_From_Glyph_Index;
367 
368     da_FT_Get_Gasp FT_Get_Gasp;
369 
370     da_FT_Get_Glyph FT_Get_Glyph;
371     da_FT_Glyph_Copy FT_Glyph_Copy;
372     da_FT_Glyph_Transform FT_Glyph_Transform;
373     da_FT_Glyph_Get_CBox FT_Glyph_Get_CBox;
374     da_FT_Glyph_To_Bitmap FT_Glyph_To_Bitmap;
375     da_FT_Done_Glyph FT_Done_Glyph;
376     da_FT_Matrix_Multiply FT_Matrix_Multiply;
377     da_FT_Matrix_Invert FT_Matrix_Invert;
378 
379     da_FT_TrueTypeGX_Validate FT_TrueTypeGX_Validate;
380     da_FT_TrueTypeGX_Free FT_TrueTypeGX_Free;
381     da_FT_ClassicKern_Validate FT_ClassicKern_Validate;
382     da_FT_ClassicKern_Free FT_ClassicKern_Free;
383 
384     da_FT_Stream_OpenGzip FT_Stream_OpenGzip;
385     da_FT_Gzip_Uncompress FT_Gzip_Uncompress;
386 
387     da_FT_Library_SetLcdFilter FT_Library_SetLcdFilter;
388     da_FT_Library_SetLcdFilterWeights FT_Library_SetLcdFilterWeights;
389 
390     da_FT_List_Find FT_List_Find;
391     da_FT_List_Add FT_List_Add;
392     da_FT_List_Insert FT_List_Insert;
393     da_FT_List_Remove FT_List_Remove;
394     da_FT_List_Up FT_List_Up;
395     da_FT_List_Iterate FT_List_Iterate;
396     da_FT_List_Finalize FT_List_Finalize;
397 
398     da_FT_Stream_OpenLZW FT_Stream_OpenLZW;
399 
400     da_FT_Get_Multi_Master FT_Get_Multi_Master;
401     da_FT_Get_MM_Var FT_Get_MM_Var;
402     da_FT_Set_MM_Design_Coordinates FT_Set_MM_Design_Coordinates;
403     da_FT_Set_Var_Design_Coordinates FT_Set_Var_Design_Coordinates;
404     da_FT_Set_MM_Blend_Coordinates FT_Set_MM_Blend_Coordinates;
405     da_FT_Set_Var_Blend_Coordinates FT_Set_Var_Blend_Coordinates;
406 
407     da_FT_Add_Module FT_Add_Module;
408     da_FT_Get_Module FT_Get_Module;
409     da_FT_Remove_Module FT_Remove_Module;
410     da_FT_Property_Set FT_Property_Set;
411     da_FT_Property_Get FT_Property_Get;
412     da_FT_Reference_Library FT_Reference_Library;
413     da_FT_New_Library FT_New_Library;
414     da_FT_Done_Library FT_Done_Library;
415     da_FT_Set_Debug_Hook FT_Set_Debug_Hook;
416     da_FT_Add_Default_Modules FT_Add_Default_Modules;
417     da_FT_Get_TrueType_Engine_Type FT_Get_TrueType_Engine_Type;
418 
419     da_FT_OpenType_Validate FT_OpenType_Validate;
420     da_FT_OpenType_Free FT_OpenType_Free;
421 
422     da_FT_Outline_Decompose FT_Outline_Decompose;
423     da_FT_Outline_New FT_Outline_New;
424     da_FT_Outline_Done FT_Outline_Done;
425     da_FT_Outline_Check FT_Outline_Check;
426     da_FT_Outline_Get_CBox FT_Outline_Get_CBox;
427     da_FT_Outline_Translate FT_Outline_Translate;
428     da_FT_Outline_Copy FT_Outline_Copy;
429     da_FT_Outline_Transform FT_Outline_Transform;
430     da_FT_Outline_Embolden FT_Outline_Embolden;
431     da_FT_Outline_EmboldenXY FT_Outline_EmboldenXY;
432     da_FT_Outline_Reverse FT_Outline_Reverse;
433     da_FT_Outline_Get_Bitmap FT_Outline_Get_Bitmap;
434     da_FT_Outline_Render FT_Outline_Render;
435     da_FT_Outline_Get_Orientation FT_Outline_Get_Orientation;
436 
437     da_FT_Get_PFR_Metrics FT_Get_PFR_Metrics;
438     da_FT_Get_PFR_Kerning FT_Get_PFR_Kerning;
439     da_FT_Get_PFR_Advance FT_Get_PFR_Advance;
440 
441     da_FT_Get_Renderer FT_Get_Renderer;
442     da_FT_Set_Renderer FT_Set_Renderer;
443 
444     da_FT_New_Size FT_New_Size;
445     da_FT_Done_Size FT_Done_Size;
446     da_FT_Activate_Size FT_Activate_Size;
447 
448     da_FT_Get_Sfnt_Name_Count FT_Get_Sfnt_Name_Count;
449     da_FT_Get_Sfnt_Name FT_Get_Sfnt_Name;
450 
451     da_FT_Outline_GetInsideBorder FT_Outline_GetInsideBorder;
452     da_FT_Outline_GetOutsideBorder FT_Outline_GetOutsideBorder;
453     da_FT_Stroker_New FT_Stroker_New;
454     da_FT_Stroker_Set FT_Stroker_Set;
455     da_FT_Stroker_Rewind FT_Stroker_Rewind;
456     da_FT_Stroker_ParseOutline FT_Stroker_ParseOutline;
457     da_FT_Stroker_BeginSubPath FT_Stroker_BeginSubPath;
458     da_FT_Stroker_EndSubPath FT_Stroker_EndSubPath;
459     da_FT_Stroker_LineTo FT_Stroker_LineTo;
460     da_FT_Stroker_ConicTo FT_Stroker_ConicTo;
461     da_FT_Stroker_CubicTo FT_Stroker_CubicTo;
462     da_FT_Stroker_GetBorderCounts FT_Stroker_GetBorderCounts;
463     da_FT_Stroker_ExportBorder FT_Stroker_ExportBorder;
464     da_FT_Stroker_GetCounts FT_Stroker_GetCounts;
465     da_FT_Stroker_Export FT_Stroker_Export;
466     da_FT_Stroker_Done FT_Stroker_Done;
467     da_FT_Glyph_Stroke FT_Glyph_Stroke;
468     da_FT_Glyph_StrokeBorder FT_Glyph_StrokeBorder;
469 
470     da_FT_GlyphSlot_Embolden FT_GlyphSlot_Embolden;
471     da_FT_GlyphSlot_Oblique FT_GlyphSlot_Oblique;
472 
473     da_FT_Sin FT_Sin;
474     da_FT_Cos FT_Cos;
475     da_FT_Tan FT_Tan;
476     da_FT_Atan2 FT_Atan2;
477     da_FT_Angle_Diff FT_Angle_Diff;
478     da_FT_Vector_Unit FT_Vector_Unit;
479     da_FT_Vector_Rotate FT_Vector_Rotate;
480     da_FT_Vector_Length FT_Vector_Length;
481     da_FT_Vector_Polarize FT_Vector_Polarize;
482     da_FT_Vector_From_Polar FT_Vector_From_Polar;
483 
484     da_FT_Get_WinFNT_Header FT_Get_WinFNT_Header;
485 
486     da_FT_Get_X11_Font_Format FT_Get_X11_Font_Format;
487 
488     da_FT_Has_PS_Glyph_Names FT_Has_PS_Glyph_Names;
489     da_FT_Get_PS_Font_Info FT_Get_PS_Font_Info;
490     da_FT_Get_PS_Font_Private FT_Get_PS_Font_Private;
491     da_FT_Get_PS_Font_Value FT_Get_PS_Font_Value;
492 
493     da_FT_Get_Sfnt_Table FT_Get_Sfnt_Table;
494     da_FT_Load_Sfnt_Table FT_Load_Sfnt_Table;
495     da_FT_Sfnt_Table_Info FT_Sfnt_Table_Info;
496     da_FT_Get_CMap_Language_ID FT_Get_CMap_Language_ID;
497     da_FT_Get_CMap_Format FT_Get_CMap_Format;
498 }