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_New_Internal = FT_Error function(FT_Memory,FT_UInt,FT_Int,FT_Outline*);
196     alias da_FT_Outline_Done = FT_Error function(FT_Library,FT_Outline*);
197     alias da_FT_Outline_Done_Internal = FT_Error function(FT_Memory,FT_Outline*);
198     alias da_FT_Outline_Check = FT_Error function(FT_Outline*);
199     alias da_FT_Outline_Get_CBox = void function(const(FT_Outline)*,FT_BBox*);
200     alias da_FT_Outline_Translate = void function(const(FT_Outline)*,FT_Pos,FT_Pos);
201     alias da_FT_Outline_Copy = FT_Error function(const(FT_Outline)*,FT_Outline*);
202     alias da_FT_Outline_Transform = void function(const(FT_Outline)*,const(FT_Matrix)*);
203     alias da_FT_Outline_Embolden = FT_Error function(FT_Outline*,FT_Pos);
204     alias da_FT_Outline_EmboldenXY = FT_Error function(FT_Outline*,FT_Pos,FT_Pos);
205     alias da_FT_Outline_Reverse = void function(FT_Outline*);
206     alias da_FT_Outline_Get_Bitmap = FT_Error function(FT_Library,FT_Outline*,const(FT_Bitmap)*);
207     alias da_FT_Outline_Render = FT_Error function(FT_Library,FT_Outline*,FT_Raster_Params*);
208     alias da_FT_Outline_Get_Orientation = FT_Orientation function(FT_Outline*);
209 
210     // ftpfr.h
211     alias da_FT_Get_PFR_Metrics = FT_Error function(FT_Face,FT_UInt*,FT_UInt*,FT_Fixed*,FT_Fixed*);
212     alias da_FT_Get_PFR_Kerning = FT_Error function(FT_Face,FT_UInt,FT_UInt,FT_Vector*);
213     alias da_FT_Get_PFR_Advance = FT_Error function(FT_Face,FT_UInt,FT_Pos*);
214 
215     // ftrender.h
216     alias da_FT_Get_Renderer = FT_Renderer function(FT_Library,FT_Glyph_Format);
217     alias da_FT_Set_Renderer = FT_Error function(FT_Library,FT_Renderer,FT_UInt,FT_Parameter*);
218 
219     // ftsizes.h
220     alias da_FT_New_Size = FT_Error function(FT_Face,FT_Size*);
221     alias da_FT_Done_Size = FT_Error function(FT_Size);
222     alias da_FT_Activate_Size = FT_Error function(FT_Size);
223 
224     // ftsnames.h
225     alias da_FT_Get_Sfnt_Name_Count = FT_UInt function(FT_Face);
226 
227     // ftstroke.h
228     alias da_FT_Outline_GetInsideBorder = FT_StrokerBorder function(FT_Outline*);
229     alias da_FT_Outline_GetOutsideBorder = FT_StrokerBorder function(FT_Outline*);
230     alias da_FT_Stroker_New = FT_Error function(FT_Memory,FT_Stroker*);
231     alias da_FT_Stroker_Set = void function(FT_Stroker,FT_Fixed,FT_Stroker_LineCap,FT_Stroker_LineJoin,FT_Fixed);
232     alias da_FT_Stroker_Rewind = void function(FT_Stroker);
233     alias da_FT_Stroker_ParseOutline = FT_Error function(FT_Stroker,FT_Outline*,FT_Bool);
234     alias da_FT_Stroker_BeginSubPath = FT_Error function(FT_Stroker,FT_Vector*,FT_Bool);
235     alias da_FT_Stroker_EndSubPath = FT_Error function(FT_Stroker);
236     alias da_FT_Stroker_LineTo = FT_Error function(FT_Stroker,FT_Vector*);
237     alias da_FT_Stroker_ConicTo = FT_Error function(FT_Stroker,FT_Vector*,FT_Vector*);
238     alias da_FT_Stroker_CubicTo = FT_Error function(FT_Stroker,FT_Vector*,FT_Vector*,FT_Vector*);
239     alias da_FT_Stroker_GetBorderCounts = FT_Error function(FT_Stroker,FT_StrokerBorder,FT_UInt*,FT_UInt*);
240     alias da_FT_Stroker_ExportBorder = void function(FT_Stroker,FT_StrokerBorder,FT_Outline*);
241     alias da_FT_Stroker_GetCounts = FT_Error function(FT_Stroker,FT_UInt*,FT_UInt*);
242     alias da_FT_Stroker_Export = void function(FT_Stroker,FT_Outline*);
243     alias da_FT_Stroker_Done = void function(FT_Stroker);
244     alias da_FT_Glyph_Stroke = FT_Error function(FT_Glyph*,FT_Stroker,FT_Bool);
245     alias da_FT_Glyph_StrokeBorder = FT_Error function(FT_Glyph*,FT_Stroker,FT_Bool,FT_Bool);
246 
247     // ftsynth.h
248     alias da_FT_GlyphSlot_Embolden = void function(FT_GlyphSlot);
249     alias da_FT_GlyphSlot_Oblique = void function(FT_GlyphSlot);
250 
251     // fttrigon.h
252     alias da_FT_Sin = FT_Fixed function(FT_Angle);
253     alias da_FT_Cos = FT_Fixed function(FT_Angle);
254     alias da_FT_Tan = FT_Fixed function(FT_Angle);
255     alias da_FT_Atan2 = FT_Angle function(FT_Fixed,FT_Fixed);
256     alias da_FT_Angle_Diff = FT_Angle function(FT_Angle,FT_Angle);
257     alias da_FT_Vector_Unit = void function(FT_Vector*,FT_Angle);
258     alias da_FT_Vector_Rotate = void function(FT_Vector*,FT_Angle);
259     alias da_FT_Vector_Length = FT_Fixed function(FT_Vector*);
260     alias da_FT_Vector_Polarize = void function(FT_Vector*,FT_Fixed*,FT_Angle*);
261     alias da_FT_Vector_From_Polar = void function(FT_Vector*,FT_Fixed,FT_Angle);
262 
263     // ftwinfnt.h
264     alias da_FT_Get_WinFNT_Header = FT_Error function(FT_Face,FT_WinFNT_HeaderRec*);
265 
266     // ftxf86.h
267     alias da_FT_Get_X11_Font_Format = const(char)* function(FT_Face);
268 
269     // t1tables.h
270     alias da_FT_Has_PS_Glyph_Names = FT_Int function(FT_Face);
271     alias da_FT_Get_PS_Font_Info = FT_Error function(FT_Face,PS_FontInfoRec*);
272     alias da_FT_Get_PS_Font_Private = FT_Error function(FT_Face,PS_PrivateRec*);
273     alias da_FT_Get_PS_Font_Value = FT_Long function(FT_Face,PS_Dict_Keys*,FT_UInt,FT_Long);
274 
275     // tttables.h
276     alias da_FT_Get_Sfnt_Table = void* function(FT_Face,FT_Sfnt_Tag);
277     alias da_FT_Load_Sfnt_Table = FT_Error function(FT_Face,FT_ULong,FT_Long,FT_Byte*,FT_ULong*);
278     alias da_FT_Sfnt_Table_Info = FT_Error function(FT_Face,FT_UInt,FT_ULong*,FT_ULong*);
279     alias da_FT_Get_CMap_Language_ID = FT_ULong function(FT_CharMap);
280     alias da_FT_Get_CMap_Format = FT_ULong function(FT_CharMap);
281     alias da_FT_Get_Sfnt_Name = FT_Error function(FT_Face,FT_UInt,FT_SfntName*);
282 }
283 
284 __gshared {
285     da_FT_Init_FreeType FT_Init_FreeType;
286     da_FT_Done_FreeType FT_Done_FreeType;
287     da_FT_New_Face FT_New_Face;
288     da_FT_New_Memory_Face FT_New_Memory_Face;
289     da_FT_Open_Face FT_Open_Face;
290     da_FT_Attach_File FT_Attach_File;
291     da_FT_Attach_Stream FT_Attach_Stream;
292     da_FT_Reference_Face FT_Reference_Face;
293     da_FT_Done_Face FT_Done_Face;
294     da_FT_Select_Size FT_Select_Size;
295     da_FT_Request_Size FT_Request_Size;
296     da_FT_Set_Char_Size FT_Set_Char_Size;
297     da_FT_Set_Pixel_Sizes FT_Set_Pixel_Sizes;
298     da_FT_Load_Glyph FT_Load_Glyph;
299     da_FT_Load_Char FT_Load_Char;
300     da_FT_Set_Transform FT_Set_Transform;
301     da_FT_Render_Glyph FT_Render_Glyph;
302     da_FT_Get_Kerning FT_Get_Kerning;
303     da_FT_Get_Track_Kerning FT_Get_Track_Kerning;
304     da_FT_Get_Glyph_Name FT_Get_Glyph_Name;
305     da_FT_Get_Postscript_Name FT_Get_Postscript_Name;
306     da_FT_Select_Charmap FT_Select_Charmap;
307     da_FT_Set_Charmap FT_Set_Charmap;
308     da_FT_Get_Charmap_Index FT_Get_Charmap_Index;
309     da_FT_Get_Char_Index FT_Get_Char_Index;
310     da_FT_Get_First_Char FT_Get_First_Char;
311     da_FT_Get_Next_Char FT_Get_Next_Char;
312     da_FT_Get_Name_Index FT_Get_Name_Index;
313     da_FT_Get_SubGlyph_Info FT_Get_SubGlyph_Info;
314     da_FT_Get_FSType_Flags FT_Get_FSType_Flags;
315     da_FT_Face_GetCharVariantIndex FT_Face_GetCharVariantIndex;
316     da_FT_Face_GetCharVariantIsDefault FT_Face_GetCharVariantIsDefault;
317     da_FT_Face_GetVariantSelectors FT_Face_GetVariantSelectors;
318     da_FT_Face_GetVariantsOfChar FT_Face_GetVariantsOfChar;
319     da_FT_Face_GetCharsOfVariant FT_Face_GetCharsOfVariant;
320     da_FT_MulDiv FT_MulDiv;
321     da_FT_MulFix FT_MulFix;
322     da_FT_DivFix FT_DivFix;
323     da_FT_RoundFix FT_RoundFix;
324     da_FT_CeilFix FT_CeilFix;
325     da_FT_FloorFix FT_FloorFix;
326     da_FT_Vector_Transform FT_Vector_Transform;
327     da_FT_Library_Version FT_Library_Version;
328     da_FT_Face_CheckTrueTypePatents FT_Face_CheckTrueTypePatents;
329     da_FT_Face_SetUnpatentedHinting FT_Face_SetUnpatentedHinting;
330 
331     da_FT_Get_Advance FT_Get_Advance;
332     da_FT_Get_Advances FT_Get_Advances;
333 
334     da_FT_Outline_Get_BBox FT_Outline_Get_BBox;
335 
336     version(linux) {
337         da_FT_Get_BDF_Charset_ID FT_Get_BDF_Charset_ID;
338         da_FT_Get_BDF_Property FT_Get_BDF_Property;
339     }
340 
341     da_FT_Bitmap_Init FT_Bitmap_Init;
342     da_FT_Bitmap_Copy FT_Bitmap_Copy;
343     da_FT_Bitmap_Embolden FT_Bitmap_Embolden;
344     da_FT_Bitmap_Convert FT_Bitmap_Convert;
345     da_FT_GlyphSlot_Own_Bitmap FT_GlyphSlot_Own_Bitmap;
346     da_FT_Bitmap_Done FT_Bitmap_Done;
347 
348 //    da_FT_Stream_OpenBzip2 FT_Stream_OpenBzip2;
349 
350     da_FTC_Manager_New FTC_Manager_New;
351     da_FTC_Manager_Reset FTC_Manager_Reset;
352     da_FTC_Manager_Done FTC_Manager_Done;
353     da_FTC_Manager_LookupFace FTC_Manager_LookupFace;
354     da_FTC_Manager_LookupSize FTC_Manager_LookupSize;
355     da_FTC_Node_Unref FTC_Node_Unref;
356     da_FTC_Manager_RemoveFaceID FTC_Manager_RemoveFaceID;
357     da_FTC_CMapCache_New FTC_CMapCache_New;
358     da_FTC_CMapCache_Lookup FTC_CMapCache_Lookup;
359     da_FTC_ImageCache_New FTC_ImageCache_New;
360     da_FTC_ImageCache_Lookup FTC_ImageCache_Lookup;
361     da_FTC_ImageCache_LookupScaler FTC_ImageCache_LookupScaler;
362     da_FTC_SBitCache_New FTC_SBitCache_New;
363     da_FTC_SBitCache_Lookup FTC_SBitCache_Lookup;
364     da_FTC_SBitCache_LookupScaler FTC_SBitCache_LookupScaler;
365 
366     da_FT_Get_CID_Registry_Ordering_Supplement FT_Get_CID_Registry_Ordering_Supplement;
367     da_FT_Get_CID_Is_Internally_CID_Keyed FT_Get_CID_Is_Internally_CID_Keyed;
368     da_FT_Get_CID_From_Glyph_Index FT_Get_CID_From_Glyph_Index;
369 
370     da_FT_Get_Gasp FT_Get_Gasp;
371 
372     da_FT_Get_Glyph FT_Get_Glyph;
373     da_FT_Glyph_Copy FT_Glyph_Copy;
374     da_FT_Glyph_Transform FT_Glyph_Transform;
375     da_FT_Glyph_Get_CBox FT_Glyph_Get_CBox;
376     da_FT_Glyph_To_Bitmap FT_Glyph_To_Bitmap;
377     da_FT_Done_Glyph FT_Done_Glyph;
378     da_FT_Matrix_Multiply FT_Matrix_Multiply;
379     da_FT_Matrix_Invert FT_Matrix_Invert;
380 
381     da_FT_TrueTypeGX_Validate FT_TrueTypeGX_Validate;
382     da_FT_TrueTypeGX_Free FT_TrueTypeGX_Free;
383     da_FT_ClassicKern_Validate FT_ClassicKern_Validate;
384     da_FT_ClassicKern_Free FT_ClassicKern_Free;
385 
386     da_FT_Stream_OpenGzip FT_Stream_OpenGzip;
387     da_FT_Gzip_Uncompress FT_Gzip_Uncompress;
388 
389     da_FT_Library_SetLcdFilter FT_Library_SetLcdFilter;
390     da_FT_Library_SetLcdFilterWeights FT_Library_SetLcdFilterWeights;
391 
392     da_FT_List_Find FT_List_Find;
393     da_FT_List_Add FT_List_Add;
394     da_FT_List_Insert FT_List_Insert;
395     da_FT_List_Remove FT_List_Remove;
396     da_FT_List_Up FT_List_Up;
397     da_FT_List_Iterate FT_List_Iterate;
398     da_FT_List_Finalize FT_List_Finalize;
399 
400     da_FT_Stream_OpenLZW FT_Stream_OpenLZW;
401 
402     da_FT_Get_Multi_Master FT_Get_Multi_Master;
403     da_FT_Get_MM_Var FT_Get_MM_Var;
404     da_FT_Set_MM_Design_Coordinates FT_Set_MM_Design_Coordinates;
405     da_FT_Set_Var_Design_Coordinates FT_Set_Var_Design_Coordinates;
406     da_FT_Set_MM_Blend_Coordinates FT_Set_MM_Blend_Coordinates;
407     da_FT_Set_Var_Blend_Coordinates FT_Set_Var_Blend_Coordinates;
408 
409     da_FT_Add_Module FT_Add_Module;
410     da_FT_Get_Module FT_Get_Module;
411     da_FT_Remove_Module FT_Remove_Module;
412     da_FT_Property_Set FT_Property_Set;
413     da_FT_Property_Get FT_Property_Get;
414     da_FT_Reference_Library FT_Reference_Library;
415     da_FT_New_Library FT_New_Library;
416     da_FT_Done_Library FT_Done_Library;
417     da_FT_Set_Debug_Hook FT_Set_Debug_Hook;
418     da_FT_Add_Default_Modules FT_Add_Default_Modules;
419     da_FT_Get_TrueType_Engine_Type FT_Get_TrueType_Engine_Type;
420 
421     da_FT_OpenType_Validate FT_OpenType_Validate;
422     da_FT_OpenType_Free FT_OpenType_Free;
423 
424     da_FT_Outline_Decompose FT_Outline_Decompose;
425     da_FT_Outline_New FT_Outline_New;
426     da_FT_Outline_New_Internal FT_Outline_New_Internal;
427     da_FT_Outline_Done FT_Outline_Done;
428     da_FT_Outline_Done_Internal FT_Outline_Done_Internal;
429     da_FT_Outline_Check FT_Outline_Check;
430     da_FT_Outline_Get_CBox FT_Outline_Get_CBox;
431     da_FT_Outline_Translate FT_Outline_Translate;
432     da_FT_Outline_Copy FT_Outline_Copy;
433     da_FT_Outline_Transform FT_Outline_Transform;
434     da_FT_Outline_Embolden FT_Outline_Embolden;
435     da_FT_Outline_EmboldenXY FT_Outline_EmboldenXY;
436     da_FT_Outline_Reverse FT_Outline_Reverse;
437     da_FT_Outline_Get_Bitmap FT_Outline_Get_Bitmap;
438     da_FT_Outline_Render FT_Outline_Render;
439     da_FT_Outline_Get_Orientation FT_Outline_Get_Orientation;
440 
441     da_FT_Get_PFR_Metrics FT_Get_PFR_Metrics;
442     da_FT_Get_PFR_Kerning FT_Get_PFR_Kerning;
443     da_FT_Get_PFR_Advance FT_Get_PFR_Advance;
444 
445     da_FT_Get_Renderer FT_Get_Renderer;
446     da_FT_Set_Renderer FT_Set_Renderer;
447 
448     da_FT_New_Size FT_New_Size;
449     da_FT_Done_Size FT_Done_Size;
450     da_FT_Activate_Size FT_Activate_Size;
451 
452     da_FT_Get_Sfnt_Name_Count FT_Get_Sfnt_Name_Count;
453     da_FT_Get_Sfnt_Name FT_Get_Sfnt_Name;
454 
455     da_FT_Outline_GetInsideBorder FT_Outline_GetInsideBorder;
456     da_FT_Outline_GetOutsideBorder FT_Outline_GetOutsideBorder;
457     da_FT_Stroker_New FT_Stroker_New;
458     da_FT_Stroker_Set FT_Stroker_Set;
459     da_FT_Stroker_Rewind FT_Stroker_Rewind;
460     da_FT_Stroker_ParseOutline FT_Stroker_ParseOutline;
461     da_FT_Stroker_BeginSubPath FT_Stroker_BeginSubPath;
462     da_FT_Stroker_EndSubPath FT_Stroker_EndSubPath;
463     da_FT_Stroker_LineTo FT_Stroker_LineTo;
464     da_FT_Stroker_ConicTo FT_Stroker_ConicTo;
465     da_FT_Stroker_CubicTo FT_Stroker_CubicTo;
466     da_FT_Stroker_GetBorderCounts FT_Stroker_GetBorderCounts;
467     da_FT_Stroker_ExportBorder FT_Stroker_ExportBorder;
468     da_FT_Stroker_GetCounts FT_Stroker_GetCounts;
469     da_FT_Stroker_Export FT_Stroker_Export;
470     da_FT_Stroker_Done FT_Stroker_Done;
471     da_FT_Glyph_Stroke FT_Glyph_Stroke;
472     da_FT_Glyph_StrokeBorder FT_Glyph_StrokeBorder;
473 
474     da_FT_GlyphSlot_Embolden FT_GlyphSlot_Embolden;
475     da_FT_GlyphSlot_Oblique FT_GlyphSlot_Oblique;
476 
477     da_FT_Sin FT_Sin;
478     da_FT_Cos FT_Cos;
479     da_FT_Tan FT_Tan;
480     da_FT_Atan2 FT_Atan2;
481     da_FT_Angle_Diff FT_Angle_Diff;
482     da_FT_Vector_Unit FT_Vector_Unit;
483     da_FT_Vector_Rotate FT_Vector_Rotate;
484     da_FT_Vector_Length FT_Vector_Length;
485     da_FT_Vector_Polarize FT_Vector_Polarize;
486     da_FT_Vector_From_Polar FT_Vector_From_Polar;
487 
488     da_FT_Get_WinFNT_Header FT_Get_WinFNT_Header;
489 
490     da_FT_Get_X11_Font_Format FT_Get_X11_Font_Format;
491 
492     da_FT_Has_PS_Glyph_Names FT_Has_PS_Glyph_Names;
493     da_FT_Get_PS_Font_Info FT_Get_PS_Font_Info;
494     da_FT_Get_PS_Font_Private FT_Get_PS_Font_Private;
495     da_FT_Get_PS_Font_Value FT_Get_PS_Font_Value;
496 
497     da_FT_Get_Sfnt_Table FT_Get_Sfnt_Table;
498     da_FT_Load_Sfnt_Table FT_Load_Sfnt_Table;
499     da_FT_Sfnt_Table_Info FT_Sfnt_Table_Info;
500     da_FT_Get_CMap_Language_ID FT_Get_CMap_Language_ID;
501     da_FT_Get_CMap_Format FT_Get_CMap_Format;
502 }