Skip to main content

freetype/
freetype.rs

1/* automatically generated by rust-bindgen */
2
3pub type FT_Int16 = i16;
4pub type FT_UInt16 = u16;
5pub type FT_Int32 = i32;
6pub type FT_UInt32 = u32;
7pub type FT_Int64= i64;
8pub type FT_UInt64= u64;
9pub use FT_Error;
10
11#[repr(C)]
12pub struct __BindgenUnionField<T>(::std::marker::PhantomData<T>);
13impl <T> __BindgenUnionField<T> {
14    #[inline]
15    pub fn new() -> Self { __BindgenUnionField(::std::marker::PhantomData) }
16    #[inline]
17    pub unsafe fn as_ref(&self) -> &T { ::std::mem::transmute(self) }
18    #[inline]
19    pub unsafe fn as_mut(&mut self) -> &mut T { ::std::mem::transmute(self) }
20}
21impl <T> ::std::default::Default for __BindgenUnionField<T> {
22    #[inline]
23    fn default() -> Self { Self::new() }
24}
25impl <T> ::std::clone::Clone for __BindgenUnionField<T> {
26    #[inline]
27    fn clone(&self) -> Self { Self::new() }
28}
29impl <T> ::std::marker::Copy for __BindgenUnionField<T> { }
30impl <T> ::std::fmt::Debug for __BindgenUnionField<T> {
31    fn fmt(&self, fmt: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
32        fmt.write_str("__BindgenUnionField")
33    }
34}
35pub const FT_RENDER_POOL_SIZE: ::std::os::raw::c_uint = 16384;
36pub const FT_MAX_MODULES: ::std::os::raw::c_uint = 32;
37pub const FT_OUTLINE_NONE: ::std::os::raw::c_uint = 0;
38pub const FT_OUTLINE_OWNER: ::std::os::raw::c_uint = 1;
39pub const FT_OUTLINE_EVEN_ODD_FILL: ::std::os::raw::c_uint = 2;
40pub const FT_OUTLINE_REVERSE_FILL: ::std::os::raw::c_uint = 4;
41pub const FT_OUTLINE_IGNORE_DROPOUTS: ::std::os::raw::c_uint = 8;
42pub const FT_OUTLINE_SMART_DROPOUTS: ::std::os::raw::c_uint = 16;
43pub const FT_OUTLINE_INCLUDE_STUBS: ::std::os::raw::c_uint = 32;
44pub const FT_OUTLINE_HIGH_PRECISION: ::std::os::raw::c_uint = 256;
45pub const FT_OUTLINE_SINGLE_PASS: ::std::os::raw::c_uint = 512;
46pub const FT_CURVE_TAG_ON: ::std::os::raw::c_uint = 1;
47pub const FT_CURVE_TAG_CONIC: ::std::os::raw::c_uint = 0;
48pub const FT_CURVE_TAG_CUBIC: ::std::os::raw::c_uint = 2;
49pub const FT_CURVE_TAG_HAS_SCANMODE: ::std::os::raw::c_uint = 4;
50pub const FT_CURVE_TAG_TOUCH_X: ::std::os::raw::c_uint = 8;
51pub const FT_CURVE_TAG_TOUCH_Y: ::std::os::raw::c_uint = 16;
52pub const FT_CURVE_TAG_TOUCH_BOTH: ::std::os::raw::c_uint = 24;
53pub const FT_Curve_Tag_On: ::std::os::raw::c_uint = 1;
54pub const FT_Curve_Tag_Conic: ::std::os::raw::c_uint = 0;
55pub const FT_Curve_Tag_Cubic: ::std::os::raw::c_uint = 2;
56pub const FT_Curve_Tag_Touch_X: ::std::os::raw::c_uint = 8;
57pub const FT_Curve_Tag_Touch_Y: ::std::os::raw::c_uint = 16;
58pub const FT_RASTER_FLAG_DEFAULT: ::std::os::raw::c_uint = 0;
59pub const FT_RASTER_FLAG_AA: ::std::os::raw::c_uint = 1;
60pub const FT_RASTER_FLAG_DIRECT: ::std::os::raw::c_uint = 2;
61pub const FT_RASTER_FLAG_CLIP: ::std::os::raw::c_uint = 4;
62pub const FT_ERR_BASE: ::std::os::raw::c_uint = 0;
63pub const FT_FACE_FLAG_SCALABLE: ::std::os::raw::c_uint = 1;
64pub const FT_FACE_FLAG_FIXED_SIZES: ::std::os::raw::c_uint = 2;
65pub const FT_FACE_FLAG_FIXED_WIDTH: ::std::os::raw::c_uint = 4;
66pub const FT_FACE_FLAG_SFNT: ::std::os::raw::c_uint = 8;
67pub const FT_FACE_FLAG_HORIZONTAL: ::std::os::raw::c_uint = 16;
68pub const FT_FACE_FLAG_VERTICAL: ::std::os::raw::c_uint = 32;
69pub const FT_FACE_FLAG_KERNING: ::std::os::raw::c_uint = 64;
70pub const FT_FACE_FLAG_FAST_GLYPHS: ::std::os::raw::c_uint = 128;
71pub const FT_FACE_FLAG_MULTIPLE_MASTERS: ::std::os::raw::c_uint = 256;
72pub const FT_FACE_FLAG_GLYPH_NAMES: ::std::os::raw::c_uint = 512;
73pub const FT_FACE_FLAG_EXTERNAL_STREAM: ::std::os::raw::c_uint = 1024;
74pub const FT_FACE_FLAG_HINTER: ::std::os::raw::c_uint = 2048;
75pub const FT_FACE_FLAG_CID_KEYED: ::std::os::raw::c_uint = 4096;
76pub const FT_FACE_FLAG_TRICKY: ::std::os::raw::c_uint = 8192;
77pub const FT_FACE_FLAG_COLOR: ::std::os::raw::c_uint = 16384;
78pub const FT_STYLE_FLAG_ITALIC: ::std::os::raw::c_uint = 1;
79pub const FT_STYLE_FLAG_BOLD: ::std::os::raw::c_uint = 2;
80pub const FT_OPEN_MEMORY: ::std::os::raw::c_uint = 1;
81pub const FT_OPEN_STREAM: ::std::os::raw::c_uint = 2;
82pub const FT_OPEN_PATHNAME: ::std::os::raw::c_uint = 4;
83pub const FT_OPEN_DRIVER: ::std::os::raw::c_uint = 8;
84pub const FT_OPEN_PARAMS: ::std::os::raw::c_uint = 16;
85pub const FT_LOAD_DEFAULT: ::std::os::raw::c_uint = 0;
86pub const FT_LOAD_NO_SCALE: ::std::os::raw::c_uint = 1;
87pub const FT_LOAD_NO_HINTING: ::std::os::raw::c_uint = 2;
88pub const FT_LOAD_RENDER: ::std::os::raw::c_uint = 4;
89pub const FT_LOAD_NO_BITMAP: ::std::os::raw::c_uint = 8;
90pub const FT_LOAD_VERTICAL_LAYOUT: ::std::os::raw::c_uint = 16;
91pub const FT_LOAD_FORCE_AUTOHINT: ::std::os::raw::c_uint = 32;
92pub const FT_LOAD_CROP_BITMAP: ::std::os::raw::c_uint = 64;
93pub const FT_LOAD_PEDANTIC: ::std::os::raw::c_uint = 128;
94pub const FT_LOAD_IGNORE_GLOBAL_ADVANCE_WIDTH: ::std::os::raw::c_uint = 512;
95pub const FT_LOAD_NO_RECURSE: ::std::os::raw::c_uint = 1024;
96pub const FT_LOAD_IGNORE_TRANSFORM: ::std::os::raw::c_uint = 2048;
97pub const FT_LOAD_MONOCHROME: ::std::os::raw::c_uint = 4096;
98pub const FT_LOAD_LINEAR_DESIGN: ::std::os::raw::c_uint = 8192;
99pub const FT_LOAD_NO_AUTOHINT: ::std::os::raw::c_uint = 32768;
100pub const FT_LOAD_COLOR: ::std::os::raw::c_uint = 1048576;
101pub const FT_LOAD_COMPUTE_METRICS: ::std::os::raw::c_uint = 2097152;
102pub const FT_LOAD_ADVANCE_ONLY: ::std::os::raw::c_uint = 256;
103pub const FT_LOAD_SBITS_ONLY: ::std::os::raw::c_uint = 16384;
104pub const FT_SUBGLYPH_FLAG_ARGS_ARE_WORDS: ::std::os::raw::c_uint = 1;
105pub const FT_SUBGLYPH_FLAG_ARGS_ARE_XY_VALUES: ::std::os::raw::c_uint = 2;
106pub const FT_SUBGLYPH_FLAG_ROUND_XY_TO_GRID: ::std::os::raw::c_uint = 4;
107pub const FT_SUBGLYPH_FLAG_SCALE: ::std::os::raw::c_uint = 8;
108pub const FT_SUBGLYPH_FLAG_XY_SCALE: ::std::os::raw::c_uint = 64;
109pub const FT_SUBGLYPH_FLAG_2X2: ::std::os::raw::c_uint = 128;
110pub const FT_SUBGLYPH_FLAG_USE_MY_METRICS: ::std::os::raw::c_uint = 512;
111pub const FT_FSTYPE_INSTALLABLE_EMBEDDING: ::std::os::raw::c_uint = 0;
112pub const FT_FSTYPE_RESTRICTED_LICENSE_EMBEDDING: ::std::os::raw::c_uint = 2;
113pub const FT_FSTYPE_PREVIEW_AND_PRINT_EMBEDDING: ::std::os::raw::c_uint = 4;
114pub const FT_FSTYPE_EDITABLE_EMBEDDING: ::std::os::raw::c_uint = 8;
115pub const FT_FSTYPE_NO_SUBSETTING: ::std::os::raw::c_uint = 256;
116pub const FT_FSTYPE_BITMAP_EMBEDDING_ONLY: ::std::os::raw::c_uint = 512;
117pub const FT_MODULE_FONT_DRIVER: ::std::os::raw::c_uint = 1;
118pub const FT_MODULE_RENDERER: ::std::os::raw::c_uint = 2;
119pub const FT_MODULE_HINTER: ::std::os::raw::c_uint = 4;
120pub const FT_MODULE_STYLER: ::std::os::raw::c_uint = 8;
121pub const FT_MODULE_DRIVER_SCALABLE: ::std::os::raw::c_uint = 256;
122pub const FT_MODULE_DRIVER_NO_OUTLINES: ::std::os::raw::c_uint = 512;
123pub const FT_MODULE_DRIVER_HAS_HINTER: ::std::os::raw::c_uint = 1024;
124pub const FT_MODULE_DRIVER_HINTS_LIGHTLY: ::std::os::raw::c_uint = 2048;
125pub type FT_Fast = ::std::os::raw::c_int;
126pub type FT_UFast = ::std::os::raw::c_uint;
127#[repr(C)]
128#[derive(Debug, Copy)]
129pub struct FT_MemoryRec_ {
130    pub user: *mut ::std::os::raw::c_void,
131    pub alloc: FT_Alloc_Func,
132    pub free: FT_Free_Func,
133    pub realloc: FT_Realloc_Func,
134}
135
136impl Clone for FT_MemoryRec_ {
137    fn clone(&self) -> Self { *self }
138}
139pub type FT_Memory = *mut FT_MemoryRec_;
140pub type FT_Alloc_Func =
141    ::std::option::Option<unsafe extern "C" fn(memory: FT_Memory,
142                                               size: ::std::os::raw::c_long)
143                              -> *mut ::std::os::raw::c_void>;
144pub type FT_Free_Func =
145    ::std::option::Option<unsafe extern "C" fn(memory: FT_Memory,
146                                               block:
147                                                   *mut ::std::os::raw::c_void)>;
148pub type FT_Realloc_Func =
149    ::std::option::Option<unsafe extern "C" fn(memory: FT_Memory,
150                                               cur_size:
151                                                   ::std::os::raw::c_long,
152                                               new_size:
153                                                   ::std::os::raw::c_long,
154                                               block:
155                                                   *mut ::std::os::raw::c_void)
156                              -> *mut ::std::os::raw::c_void>;
157#[repr(C)]
158#[derive(Debug, Copy)]
159pub struct FT_StreamRec_ {
160    pub base: *mut ::std::os::raw::c_uchar,
161    pub size: ::std::os::raw::c_ulong,
162    pub pos: ::std::os::raw::c_ulong,
163    pub descriptor: FT_StreamDesc,
164    pub pathname: FT_StreamDesc,
165    pub read: FT_Stream_IoFunc,
166    pub close: FT_Stream_CloseFunc,
167    pub memory: FT_Memory,
168    pub cursor: *mut ::std::os::raw::c_uchar,
169    pub limit: *mut ::std::os::raw::c_uchar,
170}
171
172impl Clone for FT_StreamRec_ {
173    fn clone(&self) -> Self { *self }
174}
175pub type FT_Stream = *mut FT_StreamRec_;
176#[repr(C)]
177#[derive(Debug, Copy)]
178pub struct FT_StreamDesc_ {
179    pub value: __BindgenUnionField<::std::os::raw::c_long>,
180    pub pointer: __BindgenUnionField<*mut ::std::os::raw::c_void>,
181    pub bindgen_union_field: u64,
182}
183
184impl Clone for FT_StreamDesc_ {
185    fn clone(&self) -> Self { *self }
186}
187pub type FT_StreamDesc = FT_StreamDesc_;
188pub type FT_Stream_IoFunc =
189    ::std::option::Option<unsafe extern "C" fn(stream: FT_Stream,
190                                               offset:
191                                                   ::std::os::raw::c_ulong,
192                                               buffer:
193                                                   *mut ::std::os::raw::c_uchar,
194                                               count: ::std::os::raw::c_ulong)
195                              -> ::std::os::raw::c_ulong>;
196pub type FT_Stream_CloseFunc =
197    ::std::option::Option<unsafe extern "C" fn(stream: FT_Stream)>;
198pub type FT_StreamRec = FT_StreamRec_;
199pub type FT_Pos = ::std::os::raw::c_long;
200#[repr(C)]
201#[derive(Debug, Copy)]
202pub struct FT_Vector_ {
203    pub x: FT_Pos,
204    pub y: FT_Pos,
205}
206
207impl Clone for FT_Vector_ {
208    fn clone(&self) -> Self { *self }
209}
210pub type FT_Vector = FT_Vector_;
211#[repr(C)]
212#[derive(Debug, Copy)]
213pub struct FT_BBox_ {
214    pub xMin: FT_Pos,
215    pub yMin: FT_Pos,
216    pub xMax: FT_Pos,
217    pub yMax: FT_Pos,
218}
219impl Clone for FT_BBox_ {
220    fn clone(&self) -> Self { *self }
221}
222pub type FT_BBox = FT_BBox_;
223#[repr(u32)]
224#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
225pub enum FT_Pixel_Mode_ {
226    FT_PIXEL_MODE_NONE = 0,
227    FT_PIXEL_MODE_MONO = 1,
228    FT_PIXEL_MODE_GRAY = 2,
229    FT_PIXEL_MODE_GRAY2 = 3,
230    FT_PIXEL_MODE_GRAY4 = 4,
231    FT_PIXEL_MODE_LCD = 5,
232    FT_PIXEL_MODE_LCD_V = 6,
233    FT_PIXEL_MODE_BGRA = 7,
234    FT_PIXEL_MODE_MAX = 8,
235}
236pub use self::FT_Pixel_Mode_ as FT_Pixel_Mode;
237#[repr(C)]
238#[derive(Debug, Copy)]
239pub struct FT_Bitmap_ {
240    pub rows: ::std::os::raw::c_uint,
241    pub width: ::std::os::raw::c_uint,
242    pub pitch: ::std::os::raw::c_int,
243    pub buffer: *mut ::std::os::raw::c_uchar,
244    pub num_grays: ::std::os::raw::c_ushort,
245    pub pixel_mode: ::std::os::raw::c_uchar,
246    pub palette_mode: ::std::os::raw::c_uchar,
247    pub palette: *mut ::std::os::raw::c_void,
248}
249
250impl Clone for FT_Bitmap_ {
251    fn clone(&self) -> Self { *self }
252}
253pub type FT_Bitmap = FT_Bitmap_;
254#[repr(C)]
255#[derive(Debug, Copy)]
256pub struct FT_Outline_ {
257    pub n_contours: ::std::os::raw::c_short,
258    pub n_points: ::std::os::raw::c_short,
259    pub points: *mut FT_Vector,
260    pub tags: *mut ::std::os::raw::c_char,
261    pub contours: *mut ::std::os::raw::c_short,
262    pub flags: ::std::os::raw::c_int,
263}
264
265impl Clone for FT_Outline_ {
266    fn clone(&self) -> Self { *self }
267}
268pub type FT_Outline = FT_Outline_;
269pub type FT_Outline_MoveToFunc =
270    ::std::option::Option<unsafe extern "C" fn(to: *const FT_Vector,
271                                               user:
272                                                   *mut ::std::os::raw::c_void)
273                              -> ::std::os::raw::c_int>;
274pub type FT_Outline_LineToFunc =
275    ::std::option::Option<unsafe extern "C" fn(to: *const FT_Vector,
276                                               user:
277                                                   *mut ::std::os::raw::c_void)
278                              -> ::std::os::raw::c_int>;
279pub type FT_Outline_ConicToFunc =
280    ::std::option::Option<unsafe extern "C" fn(control: *const FT_Vector,
281                                               to: *const FT_Vector,
282                                               user:
283                                                   *mut ::std::os::raw::c_void)
284                              -> ::std::os::raw::c_int>;
285pub type FT_Outline_CubicToFunc =
286    ::std::option::Option<unsafe extern "C" fn(control1: *const FT_Vector,
287                                               control2: *const FT_Vector,
288                                               to: *const FT_Vector,
289                                               user:
290                                                   *mut ::std::os::raw::c_void)
291                              -> ::std::os::raw::c_int>;
292#[repr(C)]
293#[derive(Debug, Copy)]
294pub struct FT_Outline_Funcs_ {
295    pub move_to: FT_Outline_MoveToFunc,
296    pub line_to: FT_Outline_LineToFunc,
297    pub conic_to: FT_Outline_ConicToFunc,
298    pub cubic_to: FT_Outline_CubicToFunc,
299    pub shift: ::std::os::raw::c_int,
300    pub delta: FT_Pos,
301}
302
303impl Clone for FT_Outline_Funcs_ {
304    fn clone(&self) -> Self { *self }
305}
306pub type FT_Outline_Funcs = FT_Outline_Funcs_;
307#[repr(u32)]
308#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
309pub enum FT_Glyph_Format_ {
310    FT_GLYPH_FORMAT_NONE = 0,
311    FT_GLYPH_FORMAT_COMPOSITE = 1668246896,
312    FT_GLYPH_FORMAT_BITMAP = 1651078259,
313    FT_GLYPH_FORMAT_OUTLINE = 1869968492,
314    FT_GLYPH_FORMAT_PLOTTER = 1886154612,
315}
316pub use self::FT_Glyph_Format_ as FT_Glyph_Format;
317#[repr(C)]
318#[derive(Debug, Copy, Clone)]
319pub struct FT_RasterRec_ {
320    _unused: [u8; 0],
321}
322pub type FT_Raster = *mut FT_RasterRec_;
323#[repr(C)]
324#[derive(Debug, Copy)]
325pub struct FT_Span_ {
326    pub x: ::std::os::raw::c_short,
327    pub len: ::std::os::raw::c_ushort,
328    pub coverage: ::std::os::raw::c_uchar,
329}
330
331impl Clone for FT_Span_ {
332    fn clone(&self) -> Self { *self }
333}
334pub type FT_Span = FT_Span_;
335pub type FT_SpanFunc =
336    ::std::option::Option<unsafe extern "C" fn(y: ::std::os::raw::c_int,
337                                               count: ::std::os::raw::c_int,
338                                               spans: *const FT_Span,
339                                               user:
340                                                   *mut ::std::os::raw::c_void)>;
341pub type FT_Raster_BitTest_Func =
342    ::std::option::Option<unsafe extern "C" fn(y: ::std::os::raw::c_int,
343                                               x: ::std::os::raw::c_int,
344                                               user:
345                                                   *mut ::std::os::raw::c_void)
346                              -> ::std::os::raw::c_int>;
347pub type FT_Raster_BitSet_Func =
348    ::std::option::Option<unsafe extern "C" fn(y: ::std::os::raw::c_int,
349                                               x: ::std::os::raw::c_int,
350                                               user:
351                                                   *mut ::std::os::raw::c_void)>;
352#[repr(C)]
353#[derive(Debug, Copy)]
354pub struct FT_Raster_Params_ {
355    pub target: *const FT_Bitmap,
356    pub source: *const ::std::os::raw::c_void,
357    pub flags: ::std::os::raw::c_int,
358    pub gray_spans: FT_SpanFunc,
359    pub black_spans: FT_SpanFunc,
360    pub bit_test: FT_Raster_BitTest_Func,
361    pub bit_set: FT_Raster_BitSet_Func,
362    pub user: *mut ::std::os::raw::c_void,
363    pub clip_box: FT_BBox,
364}
365
366impl Clone for FT_Raster_Params_ {
367    fn clone(&self) -> Self { *self }
368}
369pub type FT_Raster_Params = FT_Raster_Params_;
370pub type FT_Raster_NewFunc =
371    ::std::option::Option<unsafe extern "C" fn(memory:
372                                                   *mut ::std::os::raw::c_void,
373                                               raster: *mut FT_Raster)
374                              -> ::std::os::raw::c_int>;
375pub type FT_Raster_DoneFunc =
376    ::std::option::Option<unsafe extern "C" fn(raster: FT_Raster)>;
377pub type FT_Raster_ResetFunc =
378    ::std::option::Option<unsafe extern "C" fn(raster: FT_Raster,
379                                               pool_base:
380                                                   *mut ::std::os::raw::c_uchar,
381                                               pool_size:
382                                                   ::std::os::raw::c_ulong)>;
383pub type FT_Raster_SetModeFunc =
384    ::std::option::Option<unsafe extern "C" fn(raster: FT_Raster,
385                                               mode: ::std::os::raw::c_ulong,
386                                               args:
387                                                   *mut ::std::os::raw::c_void)
388                              -> ::std::os::raw::c_int>;
389pub type FT_Raster_RenderFunc =
390    ::std::option::Option<unsafe extern "C" fn(raster: FT_Raster,
391                                               params:
392                                                   *const FT_Raster_Params)
393                              -> ::std::os::raw::c_int>;
394#[repr(C)]
395#[derive(Debug, Copy)]
396pub struct FT_Raster_Funcs_ {
397    pub glyph_format: FT_Glyph_Format,
398    pub raster_new: FT_Raster_NewFunc,
399    pub raster_reset: FT_Raster_ResetFunc,
400    pub raster_set_mode: FT_Raster_SetModeFunc,
401    pub raster_render: FT_Raster_RenderFunc,
402    pub raster_done: FT_Raster_DoneFunc,
403}
404
405impl Clone for FT_Raster_Funcs_ {
406    fn clone(&self) -> Self { *self }
407}
408pub type FT_Raster_Funcs = FT_Raster_Funcs_;
409pub type FT_Bool = ::std::os::raw::c_uchar;
410pub type FT_FWord = ::std::os::raw::c_short;
411pub type FT_UFWord = ::std::os::raw::c_ushort;
412pub type FT_Char = ::std::os::raw::c_schar;
413pub type FT_Byte = ::std::os::raw::c_uchar;
414pub type FT_Bytes = *const FT_Byte;
415pub type FT_Tag = FT_UInt32;
416pub type FT_String = ::std::os::raw::c_char;
417pub type FT_Short = ::std::os::raw::c_short;
418pub type FT_UShort = ::std::os::raw::c_ushort;
419pub type FT_Int = ::std::os::raw::c_int;
420pub type FT_UInt = ::std::os::raw::c_uint;
421pub type FT_Long = ::std::os::raw::c_long;
422pub type FT_ULong = ::std::os::raw::c_ulong;
423pub type FT_F2Dot14 = ::std::os::raw::c_short;
424pub type FT_F26Dot6 = ::std::os::raw::c_long;
425pub type FT_Fixed = ::std::os::raw::c_long;
426pub type FT_Pointer = *mut ::std::os::raw::c_void;
427pub type FT_Offset = usize;
428pub type FT_PtrDist = isize;
429#[repr(C)]
430#[derive(Debug, Copy)]
431pub struct FT_UnitVector_ {
432    pub x: FT_F2Dot14,
433    pub y: FT_F2Dot14,
434}
435
436impl Clone for FT_UnitVector_ {
437    fn clone(&self) -> Self { *self }
438}
439
440pub type FT_UnitVector = FT_UnitVector_;
441#[repr(C)]
442#[derive(Debug, Copy)]
443pub struct FT_Matrix_ {
444    pub xx: FT_Fixed,
445    pub xy: FT_Fixed,
446    pub yx: FT_Fixed,
447    pub yy: FT_Fixed,
448}
449
450impl Clone for FT_Matrix_ {
451    fn clone(&self) -> Self { *self }
452}
453pub type FT_Matrix = FT_Matrix_;
454#[repr(C)]
455#[derive(Debug, Copy)]
456pub struct FT_Data_ {
457    pub pointer: *const FT_Byte,
458    pub length: FT_Int,
459}
460
461impl Clone for FT_Data_ {
462    fn clone(&self) -> Self { *self }
463}
464pub type FT_Data = FT_Data_;
465pub type FT_Generic_Finalizer =
466    ::std::option::Option<unsafe extern "C" fn(object:
467                                                   *mut ::std::os::raw::c_void)>;
468#[repr(C)]
469#[derive(Debug, Copy)]
470pub struct FT_Generic_ {
471    pub data: *mut ::std::os::raw::c_void,
472    pub finalizer: FT_Generic_Finalizer,
473}
474
475impl Clone for FT_Generic_ {
476    fn clone(&self) -> Self { *self }
477}
478pub type FT_Generic = FT_Generic_;
479#[repr(C)]
480#[derive(Debug, Copy)]
481pub struct FT_ListNodeRec_ {
482    pub prev: FT_ListNode,
483    pub next: FT_ListNode,
484    pub data: *mut ::std::os::raw::c_void,
485}
486
487impl Clone for FT_ListNodeRec_ {
488    fn clone(&self) -> Self { *self }
489}
490pub type FT_ListNode = *mut FT_ListNodeRec_;
491#[repr(C)]
492#[derive(Debug, Copy)]
493pub struct FT_ListRec_ {
494    pub head: FT_ListNode,
495    pub tail: FT_ListNode,
496}
497
498impl Clone for FT_ListRec_ {
499    fn clone(&self) -> Self { *self }
500}
501pub type FT_List = *mut FT_ListRec_;
502pub type FT_ListNodeRec = FT_ListNodeRec_;
503pub type FT_ListRec = FT_ListRec_;
504pub const FT_Mod_Err_Base: _bindgen_ty_1 = _bindgen_ty_1::FT_Mod_Err_Base;
505pub const FT_Mod_Err_Autofit: _bindgen_ty_1 = _bindgen_ty_1::FT_Mod_Err_Base;
506pub const FT_Mod_Err_BDF: _bindgen_ty_1 = _bindgen_ty_1::FT_Mod_Err_Base;
507pub const FT_Mod_Err_Bzip2: _bindgen_ty_1 = _bindgen_ty_1::FT_Mod_Err_Base;
508pub const FT_Mod_Err_Cache: _bindgen_ty_1 = _bindgen_ty_1::FT_Mod_Err_Base;
509pub const FT_Mod_Err_CFF: _bindgen_ty_1 = _bindgen_ty_1::FT_Mod_Err_Base;
510pub const FT_Mod_Err_CID: _bindgen_ty_1 = _bindgen_ty_1::FT_Mod_Err_Base;
511pub const FT_Mod_Err_Gzip: _bindgen_ty_1 = _bindgen_ty_1::FT_Mod_Err_Base;
512pub const FT_Mod_Err_LZW: _bindgen_ty_1 = _bindgen_ty_1::FT_Mod_Err_Base;
513pub const FT_Mod_Err_OTvalid: _bindgen_ty_1 = _bindgen_ty_1::FT_Mod_Err_Base;
514pub const FT_Mod_Err_PCF: _bindgen_ty_1 = _bindgen_ty_1::FT_Mod_Err_Base;
515pub const FT_Mod_Err_PFR: _bindgen_ty_1 = _bindgen_ty_1::FT_Mod_Err_Base;
516pub const FT_Mod_Err_PSaux: _bindgen_ty_1 = _bindgen_ty_1::FT_Mod_Err_Base;
517pub const FT_Mod_Err_PShinter: _bindgen_ty_1 = _bindgen_ty_1::FT_Mod_Err_Base;
518pub const FT_Mod_Err_PSnames: _bindgen_ty_1 = _bindgen_ty_1::FT_Mod_Err_Base;
519pub const FT_Mod_Err_Raster: _bindgen_ty_1 = _bindgen_ty_1::FT_Mod_Err_Base;
520pub const FT_Mod_Err_SFNT: _bindgen_ty_1 = _bindgen_ty_1::FT_Mod_Err_Base;
521pub const FT_Mod_Err_Smooth: _bindgen_ty_1 = _bindgen_ty_1::FT_Mod_Err_Base;
522pub const FT_Mod_Err_TrueType: _bindgen_ty_1 = _bindgen_ty_1::FT_Mod_Err_Base;
523pub const FT_Mod_Err_Type1: _bindgen_ty_1 = _bindgen_ty_1::FT_Mod_Err_Base;
524pub const FT_Mod_Err_Type42: _bindgen_ty_1 = _bindgen_ty_1::FT_Mod_Err_Base;
525pub const FT_Mod_Err_Winfonts: _bindgen_ty_1 = _bindgen_ty_1::FT_Mod_Err_Base;
526pub const FT_Mod_Err_GXvalid: _bindgen_ty_1 = _bindgen_ty_1::FT_Mod_Err_Base;
527pub const FT_Mod_Err_Max: _bindgen_ty_1 = _bindgen_ty_1::FT_Mod_Err_Max;
528#[repr(u32)]
529#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
530pub enum _bindgen_ty_1 { FT_Mod_Err_Base = 0, FT_Mod_Err_Max = 1, }
531pub const FT_Err_Ok: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_Ok;
532pub const FT_Err_Cannot_Open_Resource: _bindgen_ty_2 =
533    _bindgen_ty_2::FT_Err_Cannot_Open_Resource;
534pub const FT_Err_Unknown_File_Format: _bindgen_ty_2 =
535    _bindgen_ty_2::FT_Err_Unknown_File_Format;
536pub const FT_Err_Invalid_File_Format: _bindgen_ty_2 =
537    _bindgen_ty_2::FT_Err_Invalid_File_Format;
538pub const FT_Err_Invalid_Version: _bindgen_ty_2 =
539    _bindgen_ty_2::FT_Err_Invalid_Version;
540pub const FT_Err_Lower_Module_Version: _bindgen_ty_2 =
541    _bindgen_ty_2::FT_Err_Lower_Module_Version;
542pub const FT_Err_Invalid_Argument: _bindgen_ty_2 =
543    _bindgen_ty_2::FT_Err_Invalid_Argument;
544pub const FT_Err_Unimplemented_Feature: _bindgen_ty_2 =
545    _bindgen_ty_2::FT_Err_Unimplemented_Feature;
546pub const FT_Err_Invalid_Table: _bindgen_ty_2 =
547    _bindgen_ty_2::FT_Err_Invalid_Table;
548pub const FT_Err_Invalid_Offset: _bindgen_ty_2 =
549    _bindgen_ty_2::FT_Err_Invalid_Offset;
550pub const FT_Err_Array_Too_Large: _bindgen_ty_2 =
551    _bindgen_ty_2::FT_Err_Array_Too_Large;
552pub const FT_Err_Missing_Module: _bindgen_ty_2 =
553    _bindgen_ty_2::FT_Err_Missing_Module;
554pub const FT_Err_Missing_Property: _bindgen_ty_2 =
555    _bindgen_ty_2::FT_Err_Missing_Property;
556pub const FT_Err_Invalid_Glyph_Index: _bindgen_ty_2 =
557    _bindgen_ty_2::FT_Err_Invalid_Glyph_Index;
558pub const FT_Err_Invalid_Character_Code: _bindgen_ty_2 =
559    _bindgen_ty_2::FT_Err_Invalid_Character_Code;
560pub const FT_Err_Invalid_Glyph_Format: _bindgen_ty_2 =
561    _bindgen_ty_2::FT_Err_Invalid_Glyph_Format;
562pub const FT_Err_Cannot_Render_Glyph: _bindgen_ty_2 =
563    _bindgen_ty_2::FT_Err_Cannot_Render_Glyph;
564pub const FT_Err_Invalid_Outline: _bindgen_ty_2 =
565    _bindgen_ty_2::FT_Err_Invalid_Outline;
566pub const FT_Err_Invalid_Composite: _bindgen_ty_2 =
567    _bindgen_ty_2::FT_Err_Invalid_Composite;
568pub const FT_Err_Too_Many_Hints: _bindgen_ty_2 =
569    _bindgen_ty_2::FT_Err_Too_Many_Hints;
570pub const FT_Err_Invalid_Pixel_Size: _bindgen_ty_2 =
571    _bindgen_ty_2::FT_Err_Invalid_Pixel_Size;
572pub const FT_Err_Invalid_Handle: _bindgen_ty_2 =
573    _bindgen_ty_2::FT_Err_Invalid_Handle;
574pub const FT_Err_Invalid_Library_Handle: _bindgen_ty_2 =
575    _bindgen_ty_2::FT_Err_Invalid_Library_Handle;
576pub const FT_Err_Invalid_Driver_Handle: _bindgen_ty_2 =
577    _bindgen_ty_2::FT_Err_Invalid_Driver_Handle;
578pub const FT_Err_Invalid_Face_Handle: _bindgen_ty_2 =
579    _bindgen_ty_2::FT_Err_Invalid_Face_Handle;
580pub const FT_Err_Invalid_Size_Handle: _bindgen_ty_2 =
581    _bindgen_ty_2::FT_Err_Invalid_Size_Handle;
582pub const FT_Err_Invalid_Slot_Handle: _bindgen_ty_2 =
583    _bindgen_ty_2::FT_Err_Invalid_Slot_Handle;
584pub const FT_Err_Invalid_CharMap_Handle: _bindgen_ty_2 =
585    _bindgen_ty_2::FT_Err_Invalid_CharMap_Handle;
586pub const FT_Err_Invalid_Cache_Handle: _bindgen_ty_2 =
587    _bindgen_ty_2::FT_Err_Invalid_Cache_Handle;
588pub const FT_Err_Invalid_Stream_Handle: _bindgen_ty_2 =
589    _bindgen_ty_2::FT_Err_Invalid_Stream_Handle;
590pub const FT_Err_Too_Many_Drivers: _bindgen_ty_2 =
591    _bindgen_ty_2::FT_Err_Too_Many_Drivers;
592pub const FT_Err_Too_Many_Extensions: _bindgen_ty_2 =
593    _bindgen_ty_2::FT_Err_Too_Many_Extensions;
594pub const FT_Err_Out_Of_Memory: _bindgen_ty_2 =
595    _bindgen_ty_2::FT_Err_Out_Of_Memory;
596pub const FT_Err_Unlisted_Object: _bindgen_ty_2 =
597    _bindgen_ty_2::FT_Err_Unlisted_Object;
598pub const FT_Err_Cannot_Open_Stream: _bindgen_ty_2 =
599    _bindgen_ty_2::FT_Err_Cannot_Open_Stream;
600pub const FT_Err_Invalid_Stream_Seek: _bindgen_ty_2 =
601    _bindgen_ty_2::FT_Err_Invalid_Stream_Seek;
602pub const FT_Err_Invalid_Stream_Skip: _bindgen_ty_2 =
603    _bindgen_ty_2::FT_Err_Invalid_Stream_Skip;
604pub const FT_Err_Invalid_Stream_Read: _bindgen_ty_2 =
605    _bindgen_ty_2::FT_Err_Invalid_Stream_Read;
606pub const FT_Err_Invalid_Stream_Operation: _bindgen_ty_2 =
607    _bindgen_ty_2::FT_Err_Invalid_Stream_Operation;
608pub const FT_Err_Invalid_Frame_Operation: _bindgen_ty_2 =
609    _bindgen_ty_2::FT_Err_Invalid_Frame_Operation;
610pub const FT_Err_Nested_Frame_Access: _bindgen_ty_2 =
611    _bindgen_ty_2::FT_Err_Nested_Frame_Access;
612pub const FT_Err_Invalid_Frame_Read: _bindgen_ty_2 =
613    _bindgen_ty_2::FT_Err_Invalid_Frame_Read;
614pub const FT_Err_Raster_Uninitialized: _bindgen_ty_2 =
615    _bindgen_ty_2::FT_Err_Raster_Uninitialized;
616pub const FT_Err_Raster_Corrupted: _bindgen_ty_2 =
617    _bindgen_ty_2::FT_Err_Raster_Corrupted;
618pub const FT_Err_Raster_Overflow: _bindgen_ty_2 =
619    _bindgen_ty_2::FT_Err_Raster_Overflow;
620pub const FT_Err_Raster_Negative_Height: _bindgen_ty_2 =
621    _bindgen_ty_2::FT_Err_Raster_Negative_Height;
622pub const FT_Err_Too_Many_Caches: _bindgen_ty_2 =
623    _bindgen_ty_2::FT_Err_Too_Many_Caches;
624pub const FT_Err_Invalid_Opcode: _bindgen_ty_2 =
625    _bindgen_ty_2::FT_Err_Invalid_Opcode;
626pub const FT_Err_Too_Few_Arguments: _bindgen_ty_2 =
627    _bindgen_ty_2::FT_Err_Too_Few_Arguments;
628pub const FT_Err_Stack_Overflow: _bindgen_ty_2 =
629    _bindgen_ty_2::FT_Err_Stack_Overflow;
630pub const FT_Err_Code_Overflow: _bindgen_ty_2 =
631    _bindgen_ty_2::FT_Err_Code_Overflow;
632pub const FT_Err_Bad_Argument: _bindgen_ty_2 =
633    _bindgen_ty_2::FT_Err_Bad_Argument;
634pub const FT_Err_Divide_By_Zero: _bindgen_ty_2 =
635    _bindgen_ty_2::FT_Err_Divide_By_Zero;
636pub const FT_Err_Invalid_Reference: _bindgen_ty_2 =
637    _bindgen_ty_2::FT_Err_Invalid_Reference;
638pub const FT_Err_Debug_OpCode: _bindgen_ty_2 =
639    _bindgen_ty_2::FT_Err_Debug_OpCode;
640pub const FT_Err_ENDF_In_Exec_Stream: _bindgen_ty_2 =
641    _bindgen_ty_2::FT_Err_ENDF_In_Exec_Stream;
642pub const FT_Err_Nested_DEFS: _bindgen_ty_2 =
643    _bindgen_ty_2::FT_Err_Nested_DEFS;
644pub const FT_Err_Invalid_CodeRange: _bindgen_ty_2 =
645    _bindgen_ty_2::FT_Err_Invalid_CodeRange;
646pub const FT_Err_Execution_Too_Long: _bindgen_ty_2 =
647    _bindgen_ty_2::FT_Err_Execution_Too_Long;
648pub const FT_Err_Too_Many_Function_Defs: _bindgen_ty_2 =
649    _bindgen_ty_2::FT_Err_Too_Many_Function_Defs;
650pub const FT_Err_Too_Many_Instruction_Defs: _bindgen_ty_2 =
651    _bindgen_ty_2::FT_Err_Too_Many_Instruction_Defs;
652pub const FT_Err_Table_Missing: _bindgen_ty_2 =
653    _bindgen_ty_2::FT_Err_Table_Missing;
654pub const FT_Err_Horiz_Header_Missing: _bindgen_ty_2 =
655    _bindgen_ty_2::FT_Err_Horiz_Header_Missing;
656pub const FT_Err_Locations_Missing: _bindgen_ty_2 =
657    _bindgen_ty_2::FT_Err_Locations_Missing;
658pub const FT_Err_Name_Table_Missing: _bindgen_ty_2 =
659    _bindgen_ty_2::FT_Err_Name_Table_Missing;
660pub const FT_Err_CMap_Table_Missing: _bindgen_ty_2 =
661    _bindgen_ty_2::FT_Err_CMap_Table_Missing;
662pub const FT_Err_Hmtx_Table_Missing: _bindgen_ty_2 =
663    _bindgen_ty_2::FT_Err_Hmtx_Table_Missing;
664pub const FT_Err_Post_Table_Missing: _bindgen_ty_2 =
665    _bindgen_ty_2::FT_Err_Post_Table_Missing;
666pub const FT_Err_Invalid_Horiz_Metrics: _bindgen_ty_2 =
667    _bindgen_ty_2::FT_Err_Invalid_Horiz_Metrics;
668pub const FT_Err_Invalid_CharMap_Format: _bindgen_ty_2 =
669    _bindgen_ty_2::FT_Err_Invalid_CharMap_Format;
670pub const FT_Err_Invalid_PPem: _bindgen_ty_2 =
671    _bindgen_ty_2::FT_Err_Invalid_PPem;
672pub const FT_Err_Invalid_Vert_Metrics: _bindgen_ty_2 =
673    _bindgen_ty_2::FT_Err_Invalid_Vert_Metrics;
674pub const FT_Err_Could_Not_Find_Context: _bindgen_ty_2 =
675    _bindgen_ty_2::FT_Err_Could_Not_Find_Context;
676pub const FT_Err_Invalid_Post_Table_Format: _bindgen_ty_2 =
677    _bindgen_ty_2::FT_Err_Invalid_Post_Table_Format;
678pub const FT_Err_Invalid_Post_Table: _bindgen_ty_2 =
679    _bindgen_ty_2::FT_Err_Invalid_Post_Table;
680pub const FT_Err_Syntax_Error: _bindgen_ty_2 =
681    _bindgen_ty_2::FT_Err_Syntax_Error;
682pub const FT_Err_Stack_Underflow: _bindgen_ty_2 =
683    _bindgen_ty_2::FT_Err_Stack_Underflow;
684pub const FT_Err_Ignore: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_Ignore;
685pub const FT_Err_No_Unicode_Glyph_Name: _bindgen_ty_2 =
686    _bindgen_ty_2::FT_Err_No_Unicode_Glyph_Name;
687pub const FT_Err_Glyph_Too_Big: _bindgen_ty_2 =
688    _bindgen_ty_2::FT_Err_Glyph_Too_Big;
689pub const FT_Err_Missing_Startfont_Field: _bindgen_ty_2 =
690    _bindgen_ty_2::FT_Err_Missing_Startfont_Field;
691pub const FT_Err_Missing_Font_Field: _bindgen_ty_2 =
692    _bindgen_ty_2::FT_Err_Missing_Font_Field;
693pub const FT_Err_Missing_Size_Field: _bindgen_ty_2 =
694    _bindgen_ty_2::FT_Err_Missing_Size_Field;
695pub const FT_Err_Missing_Fontboundingbox_Field: _bindgen_ty_2 =
696    _bindgen_ty_2::FT_Err_Missing_Fontboundingbox_Field;
697pub const FT_Err_Missing_Chars_Field: _bindgen_ty_2 =
698    _bindgen_ty_2::FT_Err_Missing_Chars_Field;
699pub const FT_Err_Missing_Startchar_Field: _bindgen_ty_2 =
700    _bindgen_ty_2::FT_Err_Missing_Startchar_Field;
701pub const FT_Err_Missing_Encoding_Field: _bindgen_ty_2 =
702    _bindgen_ty_2::FT_Err_Missing_Encoding_Field;
703pub const FT_Err_Missing_Bbx_Field: _bindgen_ty_2 =
704    _bindgen_ty_2::FT_Err_Missing_Bbx_Field;
705pub const FT_Err_Bbx_Too_Big: _bindgen_ty_2 =
706    _bindgen_ty_2::FT_Err_Bbx_Too_Big;
707pub const FT_Err_Corrupted_Font_Header: _bindgen_ty_2 =
708    _bindgen_ty_2::FT_Err_Corrupted_Font_Header;
709pub const FT_Err_Corrupted_Font_Glyphs: _bindgen_ty_2 =
710    _bindgen_ty_2::FT_Err_Corrupted_Font_Glyphs;
711pub const FT_Err_Max: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_Max;
712#[repr(u32)]
713#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
714pub enum _bindgen_ty_2 {
715    FT_Err_Ok = 0,
716    FT_Err_Cannot_Open_Resource = 1,
717    FT_Err_Unknown_File_Format = 2,
718    FT_Err_Invalid_File_Format = 3,
719    FT_Err_Invalid_Version = 4,
720    FT_Err_Lower_Module_Version = 5,
721    FT_Err_Invalid_Argument = 6,
722    FT_Err_Unimplemented_Feature = 7,
723    FT_Err_Invalid_Table = 8,
724    FT_Err_Invalid_Offset = 9,
725    FT_Err_Array_Too_Large = 10,
726    FT_Err_Missing_Module = 11,
727    FT_Err_Missing_Property = 12,
728    FT_Err_Invalid_Glyph_Index = 16,
729    FT_Err_Invalid_Character_Code = 17,
730    FT_Err_Invalid_Glyph_Format = 18,
731    FT_Err_Cannot_Render_Glyph = 19,
732    FT_Err_Invalid_Outline = 20,
733    FT_Err_Invalid_Composite = 21,
734    FT_Err_Too_Many_Hints = 22,
735    FT_Err_Invalid_Pixel_Size = 23,
736    FT_Err_Invalid_Handle = 32,
737    FT_Err_Invalid_Library_Handle = 33,
738    FT_Err_Invalid_Driver_Handle = 34,
739    FT_Err_Invalid_Face_Handle = 35,
740    FT_Err_Invalid_Size_Handle = 36,
741    FT_Err_Invalid_Slot_Handle = 37,
742    FT_Err_Invalid_CharMap_Handle = 38,
743    FT_Err_Invalid_Cache_Handle = 39,
744    FT_Err_Invalid_Stream_Handle = 40,
745    FT_Err_Too_Many_Drivers = 48,
746    FT_Err_Too_Many_Extensions = 49,
747    FT_Err_Out_Of_Memory = 64,
748    FT_Err_Unlisted_Object = 65,
749    FT_Err_Cannot_Open_Stream = 81,
750    FT_Err_Invalid_Stream_Seek = 82,
751    FT_Err_Invalid_Stream_Skip = 83,
752    FT_Err_Invalid_Stream_Read = 84,
753    FT_Err_Invalid_Stream_Operation = 85,
754    FT_Err_Invalid_Frame_Operation = 86,
755    FT_Err_Nested_Frame_Access = 87,
756    FT_Err_Invalid_Frame_Read = 88,
757    FT_Err_Raster_Uninitialized = 96,
758    FT_Err_Raster_Corrupted = 97,
759    FT_Err_Raster_Overflow = 98,
760    FT_Err_Raster_Negative_Height = 99,
761    FT_Err_Too_Many_Caches = 112,
762    FT_Err_Invalid_Opcode = 128,
763    FT_Err_Too_Few_Arguments = 129,
764    FT_Err_Stack_Overflow = 130,
765    FT_Err_Code_Overflow = 131,
766    FT_Err_Bad_Argument = 132,
767    FT_Err_Divide_By_Zero = 133,
768    FT_Err_Invalid_Reference = 134,
769    FT_Err_Debug_OpCode = 135,
770    FT_Err_ENDF_In_Exec_Stream = 136,
771    FT_Err_Nested_DEFS = 137,
772    FT_Err_Invalid_CodeRange = 138,
773    FT_Err_Execution_Too_Long = 139,
774    FT_Err_Too_Many_Function_Defs = 140,
775    FT_Err_Too_Many_Instruction_Defs = 141,
776    FT_Err_Table_Missing = 142,
777    FT_Err_Horiz_Header_Missing = 143,
778    FT_Err_Locations_Missing = 144,
779    FT_Err_Name_Table_Missing = 145,
780    FT_Err_CMap_Table_Missing = 146,
781    FT_Err_Hmtx_Table_Missing = 147,
782    FT_Err_Post_Table_Missing = 148,
783    FT_Err_Invalid_Horiz_Metrics = 149,
784    FT_Err_Invalid_CharMap_Format = 150,
785    FT_Err_Invalid_PPem = 151,
786    FT_Err_Invalid_Vert_Metrics = 152,
787    FT_Err_Could_Not_Find_Context = 153,
788    FT_Err_Invalid_Post_Table_Format = 154,
789    FT_Err_Invalid_Post_Table = 155,
790    FT_Err_Syntax_Error = 160,
791    FT_Err_Stack_Underflow = 161,
792    FT_Err_Ignore = 162,
793    FT_Err_No_Unicode_Glyph_Name = 163,
794    FT_Err_Glyph_Too_Big = 164,
795    FT_Err_Missing_Startfont_Field = 176,
796    FT_Err_Missing_Font_Field = 177,
797    FT_Err_Missing_Size_Field = 178,
798    FT_Err_Missing_Fontboundingbox_Field = 179,
799    FT_Err_Missing_Chars_Field = 180,
800    FT_Err_Missing_Startchar_Field = 181,
801    FT_Err_Missing_Encoding_Field = 182,
802    FT_Err_Missing_Bbx_Field = 183,
803    FT_Err_Bbx_Too_Big = 184,
804    FT_Err_Corrupted_Font_Header = 185,
805    FT_Err_Corrupted_Font_Glyphs = 186,
806    FT_Err_Max = 187,
807}
808#[repr(C)]
809#[derive(Debug, Copy)]
810pub struct FT_Glyph_Metrics_ {
811    pub width: FT_Pos,
812    pub height: FT_Pos,
813    pub horiBearingX: FT_Pos,
814    pub horiBearingY: FT_Pos,
815    pub horiAdvance: FT_Pos,
816    pub vertBearingX: FT_Pos,
817    pub vertBearingY: FT_Pos,
818    pub vertAdvance: FT_Pos,
819}
820
821impl Clone for FT_Glyph_Metrics_ {
822    fn clone(&self) -> Self { *self }
823}
824pub type FT_Glyph_Metrics = FT_Glyph_Metrics_;
825#[repr(C)]
826#[derive(Debug, Copy)]
827pub struct FT_Bitmap_Size_ {
828    pub height: FT_Short,
829    pub width: FT_Short,
830    pub size: FT_Pos,
831    pub x_ppem: FT_Pos,
832    pub y_ppem: FT_Pos,
833}
834
835impl Clone for FT_Bitmap_Size_ {
836    fn clone(&self) -> Self { *self }
837}
838pub type FT_Bitmap_Size = FT_Bitmap_Size_;
839#[repr(C)]
840#[derive(Debug, Copy, Clone)]
841pub struct FT_LibraryRec_ {
842    _unused: [u8; 0],
843}
844pub type FT_Library = *mut FT_LibraryRec_;
845#[repr(C)]
846#[derive(Debug, Copy, Clone)]
847pub struct FT_ModuleRec_ {
848    _unused: [u8; 0],
849}
850pub type FT_Module = *mut FT_ModuleRec_;
851#[repr(C)]
852#[derive(Debug, Copy, Clone)]
853pub struct FT_DriverRec_ {
854    _unused: [u8; 0],
855}
856pub type FT_Driver = *mut FT_DriverRec_;
857#[repr(C)]
858#[derive(Debug, Copy, Clone)]
859pub struct FT_RendererRec_ {
860    _unused: [u8; 0],
861}
862pub type FT_Renderer = *mut FT_RendererRec_;
863#[repr(C)]
864#[derive(Debug, Copy)]
865pub struct FT_FaceRec_ {
866    pub num_faces: FT_Long,
867    pub face_index: FT_Long,
868    pub face_flags: FT_Long,
869    pub style_flags: FT_Long,
870    pub num_glyphs: FT_Long,
871    pub family_name: *mut FT_String,
872    pub style_name: *mut FT_String,
873    pub num_fixed_sizes: FT_Int,
874    pub available_sizes: *mut FT_Bitmap_Size,
875    pub num_charmaps: FT_Int,
876    pub charmaps: *mut FT_CharMap,
877    pub generic: FT_Generic,
878    pub bbox: FT_BBox,
879    pub units_per_EM: FT_UShort,
880    pub ascender: FT_Short,
881    pub descender: FT_Short,
882    pub height: FT_Short,
883    pub max_advance_width: FT_Short,
884    pub max_advance_height: FT_Short,
885    pub underline_position: FT_Short,
886    pub underline_thickness: FT_Short,
887    pub glyph: FT_GlyphSlot,
888    pub size: FT_Size,
889    pub charmap: FT_CharMap,
890    pub driver: FT_Driver,
891    pub memory: FT_Memory,
892    pub stream: FT_Stream,
893    pub sizes_list: FT_ListRec,
894    pub autohint: FT_Generic,
895    pub extensions: *mut ::std::os::raw::c_void,
896    pub internal: FT_Face_Internal,
897}
898
899impl Clone for FT_FaceRec_ {
900    fn clone(&self) -> Self { *self }
901}
902pub type FT_Face = *mut FT_FaceRec_;
903#[repr(C)]
904#[derive(Debug, Copy)]
905pub struct FT_SizeRec_ {
906    pub face: FT_Face,
907    pub generic: FT_Generic,
908    pub metrics: FT_Size_Metrics,
909    pub internal: FT_Size_Internal,
910}
911
912impl Clone for FT_SizeRec_ {
913    fn clone(&self) -> Self { *self }
914}
915pub type FT_Size = *mut FT_SizeRec_;
916#[repr(C)]
917#[derive(Debug, Copy)]
918pub struct FT_GlyphSlotRec_ {
919    pub library: FT_Library,
920    pub face: FT_Face,
921    pub next: FT_GlyphSlot,
922    pub reserved: FT_UInt,
923    pub generic: FT_Generic,
924    pub metrics: FT_Glyph_Metrics,
925    pub linearHoriAdvance: FT_Fixed,
926    pub linearVertAdvance: FT_Fixed,
927    pub advance: FT_Vector,
928    pub format: FT_Glyph_Format,
929    pub bitmap: FT_Bitmap,
930    pub bitmap_left: FT_Int,
931    pub bitmap_top: FT_Int,
932    pub outline: FT_Outline,
933    pub num_subglyphs: FT_UInt,
934    pub subglyphs: FT_SubGlyph,
935    pub control_data: *mut ::std::os::raw::c_void,
936    pub control_len: ::std::os::raw::c_long,
937    pub lsb_delta: FT_Pos,
938    pub rsb_delta: FT_Pos,
939    pub other: *mut ::std::os::raw::c_void,
940    pub internal: FT_Slot_Internal,
941}
942
943impl Clone for FT_GlyphSlotRec_ {
944    fn clone(&self) -> Self { *self }
945}
946pub type FT_GlyphSlot = *mut FT_GlyphSlotRec_;
947#[repr(C)]
948#[derive(Debug, Copy)]
949pub struct FT_CharMapRec_ {
950    pub face: FT_Face,
951    pub encoding: FT_Encoding,
952    pub platform_id: FT_UShort,
953    pub encoding_id: FT_UShort,
954}
955
956impl Clone for FT_CharMapRec_ {
957    fn clone(&self) -> Self { *self }
958}
959pub type FT_CharMap = *mut FT_CharMapRec_;
960pub const FT_Encoding__FT_ENCODING_MS_SJIS: FT_Encoding_ =
961    FT_Encoding_::FT_ENCODING_SJIS;
962pub const FT_Encoding__FT_ENCODING_MS_GB2312: FT_Encoding_ =
963    FT_Encoding_::FT_ENCODING_GB2312;
964pub const FT_Encoding__FT_ENCODING_MS_BIG5: FT_Encoding_ =
965    FT_Encoding_::FT_ENCODING_BIG5;
966pub const FT_Encoding__FT_ENCODING_MS_WANSUNG: FT_Encoding_ =
967    FT_Encoding_::FT_ENCODING_WANSUNG;
968pub const FT_Encoding__FT_ENCODING_MS_JOHAB: FT_Encoding_ =
969    FT_Encoding_::FT_ENCODING_JOHAB;
970#[repr(u32)]
971#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
972pub enum FT_Encoding_ {
973    FT_ENCODING_NONE = 0,
974    FT_ENCODING_MS_SYMBOL = 1937337698,
975    FT_ENCODING_UNICODE = 1970170211,
976    FT_ENCODING_SJIS = 1936353651,
977    FT_ENCODING_GB2312 = 1734484000,
978    FT_ENCODING_BIG5 = 1651074869,
979    FT_ENCODING_WANSUNG = 2002873971,
980    FT_ENCODING_JOHAB = 1785686113,
981    FT_ENCODING_ADOBE_STANDARD = 1094995778,
982    FT_ENCODING_ADOBE_EXPERT = 1094992453,
983    FT_ENCODING_ADOBE_CUSTOM = 1094992451,
984    FT_ENCODING_ADOBE_LATIN_1 = 1818326065,
985    FT_ENCODING_OLD_LATIN_2 = 1818326066,
986    FT_ENCODING_APPLE_ROMAN = 1634889070,
987}
988pub use self::FT_Encoding_ as FT_Encoding;
989pub type FT_CharMapRec = FT_CharMapRec_;
990#[repr(C)]
991#[derive(Debug, Copy, Clone)]
992pub struct FT_Face_InternalRec_ {
993    _unused: [u8; 0],
994}
995pub type FT_Face_Internal = *mut FT_Face_InternalRec_;
996pub type FT_FaceRec = FT_FaceRec_;
997#[repr(C)]
998#[derive(Debug, Copy, Clone)]
999pub struct FT_Size_InternalRec_ {
1000    _unused: [u8; 0],
1001}
1002pub type FT_Size_Internal = *mut FT_Size_InternalRec_;
1003#[repr(C)]
1004#[derive(Debug, Copy)]
1005pub struct FT_Size_Metrics_ {
1006    pub x_ppem: FT_UShort,
1007    pub y_ppem: FT_UShort,
1008    pub x_scale: FT_Fixed,
1009    pub y_scale: FT_Fixed,
1010    pub ascender: FT_Pos,
1011    pub descender: FT_Pos,
1012    pub height: FT_Pos,
1013    pub max_advance: FT_Pos,
1014}
1015
1016impl Clone for FT_Size_Metrics_ {
1017    fn clone(&self) -> Self { *self }
1018}
1019pub type FT_Size_Metrics = FT_Size_Metrics_;
1020pub type FT_SizeRec = FT_SizeRec_;
1021#[repr(C)]
1022#[derive(Debug, Copy, Clone)]
1023pub struct FT_SubGlyphRec_ {
1024    _unused: [u8; 0],
1025}
1026pub type FT_SubGlyph = *mut FT_SubGlyphRec_;
1027#[repr(C)]
1028#[derive(Debug, Copy, Clone)]
1029pub struct FT_Slot_InternalRec_ {
1030    _unused: [u8; 0],
1031}
1032pub type FT_Slot_Internal = *mut FT_Slot_InternalRec_;
1033pub type FT_GlyphSlotRec = FT_GlyphSlotRec_;
1034extern "C" {
1035    pub fn FT_Init_FreeType(alibrary: *mut FT_Library) -> FT_Error;
1036}
1037extern "C" {
1038    pub fn FT_Done_FreeType(library: FT_Library) -> FT_Error;
1039}
1040#[repr(C)]
1041#[derive(Debug, Copy)]
1042pub struct FT_Parameter_ {
1043    pub tag: FT_ULong,
1044    pub data: FT_Pointer,
1045}
1046impl Clone for FT_Parameter_ {
1047    fn clone(&self) -> Self { *self }
1048}
1049pub type FT_Parameter = FT_Parameter_;
1050#[repr(C)]
1051#[derive(Debug, Copy)]
1052pub struct FT_Open_Args_ {
1053    pub flags: FT_UInt,
1054    pub memory_base: *const FT_Byte,
1055    pub memory_size: FT_Long,
1056    pub pathname: *mut FT_String,
1057    pub stream: FT_Stream,
1058    pub driver: FT_Module,
1059    pub num_params: FT_Int,
1060    pub params: *mut FT_Parameter,
1061}
1062
1063impl Clone for FT_Open_Args_ {
1064    fn clone(&self) -> Self { *self }
1065}
1066pub type FT_Open_Args = FT_Open_Args_;
1067extern "C" {
1068    pub fn FT_New_Face(library: FT_Library,
1069                       filepathname: *const ::std::os::raw::c_char,
1070                       face_index: FT_Long, aface: *mut FT_Face) -> FT_Error;
1071}
1072extern "C" {
1073    pub fn FT_New_Memory_Face(library: FT_Library, file_base: *const FT_Byte,
1074                              file_size: FT_Long, face_index: FT_Long,
1075                              aface: *mut FT_Face) -> FT_Error;
1076}
1077extern "C" {
1078    pub fn FT_Open_Face(library: FT_Library, args: *const FT_Open_Args,
1079                        face_index: FT_Long, aface: *mut FT_Face) -> FT_Error;
1080}
1081extern "C" {
1082    pub fn FT_Attach_File(face: FT_Face,
1083                          filepathname: *const ::std::os::raw::c_char)
1084     -> FT_Error;
1085}
1086extern "C" {
1087    pub fn FT_Attach_Stream(face: FT_Face, parameters: *mut FT_Open_Args)
1088     -> FT_Error;
1089}
1090extern "C" {
1091    pub fn FT_Reference_Face(face: FT_Face) -> FT_Error;
1092}
1093extern "C" {
1094    pub fn FT_Done_Face(face: FT_Face) -> FT_Error;
1095}
1096extern "C" {
1097    pub fn FT_Select_Size(face: FT_Face, strike_index: FT_Int) -> FT_Error;
1098}
1099#[repr(u32)]
1100#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
1101pub enum FT_Size_Request_Type_ {
1102    FT_SIZE_REQUEST_TYPE_NOMINAL = 0,
1103    FT_SIZE_REQUEST_TYPE_REAL_DIM = 1,
1104    FT_SIZE_REQUEST_TYPE_BBOX = 2,
1105    FT_SIZE_REQUEST_TYPE_CELL = 3,
1106    FT_SIZE_REQUEST_TYPE_SCALES = 4,
1107    FT_SIZE_REQUEST_TYPE_MAX = 5,
1108}
1109pub use self::FT_Size_Request_Type_ as FT_Size_Request_Type;
1110#[repr(C)]
1111#[derive(Debug, Copy)]
1112pub struct FT_Size_RequestRec_ {
1113    pub type_: FT_Size_Request_Type,
1114    pub width: FT_Long,
1115    pub height: FT_Long,
1116    pub horiResolution: FT_UInt,
1117    pub vertResolution: FT_UInt,
1118}
1119
1120impl Clone for FT_Size_RequestRec_ {
1121    fn clone(&self) -> Self { *self }
1122}
1123pub type FT_Size_RequestRec = FT_Size_RequestRec_;
1124pub type FT_Size_Request = *mut FT_Size_RequestRec_;
1125extern "C" {
1126    pub fn FT_Request_Size(face: FT_Face, req: FT_Size_Request) -> FT_Error;
1127}
1128extern "C" {
1129    pub fn FT_Set_Char_Size(face: FT_Face, char_width: FT_F26Dot6,
1130                            char_height: FT_F26Dot6, horz_resolution: FT_UInt,
1131                            vert_resolution: FT_UInt) -> FT_Error;
1132}
1133extern "C" {
1134    pub fn FT_Set_Pixel_Sizes(face: FT_Face, pixel_width: FT_UInt,
1135                              pixel_height: FT_UInt) -> FT_Error;
1136}
1137extern "C" {
1138    pub fn FT_Load_Glyph(face: FT_Face, glyph_index: FT_UInt,
1139                         load_flags: FT_Int32) -> FT_Error;
1140}
1141extern "C" {
1142    pub fn FT_Load_Char(face: FT_Face, char_code: FT_ULong,
1143                        load_flags: FT_Int32) -> FT_Error;
1144}
1145extern "C" {
1146    pub fn FT_Set_Transform(face: FT_Face, matrix: *mut FT_Matrix,
1147                            delta: *mut FT_Vector);
1148}
1149#[repr(u32)]
1150#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
1151pub enum FT_Render_Mode_ {
1152    FT_RENDER_MODE_NORMAL = 0,
1153    FT_RENDER_MODE_LIGHT = 1,
1154    FT_RENDER_MODE_MONO = 2,
1155    FT_RENDER_MODE_LCD = 3,
1156    FT_RENDER_MODE_LCD_V = 4,
1157    FT_RENDER_MODE_MAX = 5,
1158}
1159pub use self::FT_Render_Mode_ as FT_Render_Mode;
1160extern "C" {
1161    pub fn FT_Render_Glyph(slot: FT_GlyphSlot, render_mode: FT_Render_Mode)
1162     -> FT_Error;
1163}
1164#[repr(u32)]
1165#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
1166pub enum FT_Kerning_Mode_ {
1167    FT_KERNING_DEFAULT = 0,
1168    FT_KERNING_UNFITTED = 1,
1169    FT_KERNING_UNSCALED = 2,
1170}
1171pub use self::FT_Kerning_Mode_ as FT_Kerning_Mode;
1172extern "C" {
1173    pub fn FT_Get_Kerning(face: FT_Face, left_glyph: FT_UInt,
1174                          right_glyph: FT_UInt, kern_mode: FT_UInt,
1175                          akerning: *mut FT_Vector) -> FT_Error;
1176}
1177extern "C" {
1178    pub fn FT_Get_Track_Kerning(face: FT_Face, point_size: FT_Fixed,
1179                                degree: FT_Int, akerning: *mut FT_Fixed)
1180     -> FT_Error;
1181}
1182extern "C" {
1183    pub fn FT_Get_Glyph_Name(face: FT_Face, glyph_index: FT_UInt,
1184                             buffer: FT_Pointer, buffer_max: FT_UInt)
1185     -> FT_Error;
1186}
1187extern "C" {
1188    pub fn FT_Get_Postscript_Name(face: FT_Face)
1189     -> *const ::std::os::raw::c_char;
1190}
1191extern "C" {
1192    pub fn FT_Select_Charmap(face: FT_Face, encoding: FT_Encoding)
1193     -> FT_Error;
1194}
1195extern "C" {
1196    pub fn FT_Set_Charmap(face: FT_Face, charmap: FT_CharMap) -> FT_Error;
1197}
1198extern "C" {
1199    pub fn FT_Get_Charmap_Index(charmap: FT_CharMap) -> FT_Int;
1200}
1201extern "C" {
1202    pub fn FT_Get_Char_Index(face: FT_Face, charcode: FT_ULong) -> FT_UInt;
1203}
1204extern "C" {
1205    pub fn FT_Get_First_Char(face: FT_Face, agindex: *mut FT_UInt)
1206     -> FT_ULong;
1207}
1208extern "C" {
1209    pub fn FT_Get_Next_Char(face: FT_Face, char_code: FT_ULong,
1210                            agindex: *mut FT_UInt) -> FT_ULong;
1211}
1212extern "C" {
1213    pub fn FT_Get_Name_Index(face: FT_Face, glyph_name: *mut FT_String)
1214     -> FT_UInt;
1215}
1216extern "C" {
1217    pub fn FT_Get_SubGlyph_Info(glyph: FT_GlyphSlot, sub_index: FT_UInt,
1218                                p_index: *mut FT_Int, p_flags: *mut FT_UInt,
1219                                p_arg1: *mut FT_Int, p_arg2: *mut FT_Int,
1220                                p_transform: *mut FT_Matrix) -> FT_Error;
1221}
1222extern "C" {
1223    pub fn FT_Get_FSType_Flags(face: FT_Face) -> FT_UShort;
1224}
1225extern "C" {
1226    pub fn FT_Face_GetCharVariantIndex(face: FT_Face, charcode: FT_ULong,
1227                                       variantSelector: FT_ULong) -> FT_UInt;
1228}
1229extern "C" {
1230    pub fn FT_Face_GetCharVariantIsDefault(face: FT_Face, charcode: FT_ULong,
1231                                           variantSelector: FT_ULong)
1232     -> FT_Int;
1233}
1234extern "C" {
1235    pub fn FT_Face_GetVariantSelectors(face: FT_Face) -> *mut FT_UInt32;
1236}
1237extern "C" {
1238    pub fn FT_Face_GetVariantsOfChar(face: FT_Face, charcode: FT_ULong)
1239     -> *mut FT_UInt32;
1240}
1241extern "C" {
1242    pub fn FT_Face_GetCharsOfVariant(face: FT_Face, variantSelector: FT_ULong)
1243     -> *mut FT_UInt32;
1244}
1245extern "C" {
1246    pub fn FT_MulDiv(a: FT_Long, b: FT_Long, c: FT_Long) -> FT_Long;
1247}
1248extern "C" {
1249    pub fn FT_MulFix(a: FT_Long, b: FT_Long) -> FT_Long;
1250}
1251extern "C" {
1252    pub fn FT_DivFix(a: FT_Long, b: FT_Long) -> FT_Long;
1253}
1254extern "C" {
1255    pub fn FT_RoundFix(a: FT_Fixed) -> FT_Fixed;
1256}
1257extern "C" {
1258    pub fn FT_CeilFix(a: FT_Fixed) -> FT_Fixed;
1259}
1260extern "C" {
1261    pub fn FT_FloorFix(a: FT_Fixed) -> FT_Fixed;
1262}
1263extern "C" {
1264    pub fn FT_Vector_Transform(vec: *mut FT_Vector, matrix: *const FT_Matrix);
1265}
1266extern "C" {
1267    pub fn FT_Library_Version(library: FT_Library, amajor: *mut FT_Int,
1268                              aminor: *mut FT_Int, apatch: *mut FT_Int);
1269}
1270extern "C" {
1271    pub fn FT_Face_CheckTrueTypePatents(face: FT_Face) -> FT_Bool;
1272}
1273extern "C" {
1274    pub fn FT_Face_SetUnpatentedHinting(face: FT_Face, value: FT_Bool)
1275     -> FT_Bool;
1276}
1277#[repr(u32)]
1278#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
1279pub enum FT_LcdFilter_ {
1280    FT_LCD_FILTER_NONE = 0,
1281    FT_LCD_FILTER_DEFAULT = 1,
1282    FT_LCD_FILTER_LIGHT = 2,
1283    FT_LCD_FILTER_LEGACY1 = 3,
1284    FT_LCD_FILTER_LEGACY = 16,
1285    FT_LCD_FILTER_MAX = 17,
1286}
1287pub use self::FT_LcdFilter_ as FT_LcdFilter;
1288extern "C" {
1289    pub fn FT_Library_SetLcdFilter(library: FT_Library, filter: FT_LcdFilter)
1290     -> FT_Error;
1291}
1292extern "C" {
1293    pub fn FT_Library_SetLcdFilterWeights(library: FT_Library,
1294                                          weights:
1295                                              *mut ::std::os::raw::c_uchar)
1296     -> FT_Error;
1297}
1298#[repr(u32)]
1299#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
1300pub enum FT_Sfnt_Tag_ {
1301    FT_SFNT_HEAD = 0,
1302    FT_SFNT_MAXP = 1,
1303    FT_SFNT_OS2 = 2,
1304    FT_SFNT_HHEA = 3,
1305    FT_SFNT_VHEA = 4,
1306    FT_SFNT_POST = 5,
1307    FT_SFNT_PCLT = 6,
1308    FT_SFNT_MAX = 7,
1309}
1310pub use self::FT_Sfnt_Tag_ as FT_Sfnt_Tag;
1311extern "C" {
1312    pub fn FT_Get_Sfnt_Table(face: FT_Face, tag: FT_Sfnt_Tag)
1313     -> *mut ::std::os::raw::c_void;
1314}
1315extern "C" {
1316    pub fn FT_Load_Sfnt_Table(face: FT_Face, tag: FT_ULong, offset: FT_Long,
1317                              buffer: *mut FT_Byte, length: *mut FT_ULong)
1318     -> FT_Error;
1319}
1320extern "C" {
1321    pub fn FT_Sfnt_Table_Info(face: FT_Face, table_index: FT_UInt,
1322                              tag: *mut FT_ULong, length: *mut FT_ULong)
1323     -> FT_Error;
1324}
1325extern "C" {
1326    pub fn FT_Get_CMap_Language_ID(charmap: FT_CharMap) -> FT_ULong;
1327}
1328extern "C" {
1329    pub fn FT_Get_CMap_Format(charmap: FT_CharMap) -> FT_Long;
1330}
1331pub type FT_Module_Interface = FT_Pointer;
1332pub type FT_Module_Constructor =
1333    ::std::option::Option<unsafe extern "C" fn(module: FT_Module)
1334                              -> FT_Error>;
1335pub type FT_Module_Destructor =
1336    ::std::option::Option<unsafe extern "C" fn(module: FT_Module)>;
1337pub type FT_Module_Requester =
1338    ::std::option::Option<unsafe extern "C" fn(module: FT_Module,
1339                                               name:
1340                                                   *const ::std::os::raw::c_char)
1341                              -> FT_Module_Interface>;
1342#[repr(C)]
1343#[derive(Debug, Copy)]
1344pub struct FT_Module_Class_ {
1345    pub module_flags: FT_ULong,
1346    pub module_size: FT_Long,
1347    pub module_name: *const FT_String,
1348    pub module_version: FT_Fixed,
1349    pub module_requires: FT_Fixed,
1350    pub module_interface: *const ::std::os::raw::c_void,
1351    pub module_init: FT_Module_Constructor,
1352    pub module_done: FT_Module_Destructor,
1353    pub get_interface: FT_Module_Requester,
1354}
1355
1356impl Clone for FT_Module_Class_ {
1357    fn clone(&self) -> Self { *self }
1358}
1359pub type FT_Module_Class = FT_Module_Class_;
1360extern "C" {
1361    pub fn FT_Add_Module(library: FT_Library, clazz: *const FT_Module_Class)
1362     -> FT_Error;
1363}
1364extern "C" {
1365    pub fn FT_Get_Module(library: FT_Library,
1366                         module_name: *const ::std::os::raw::c_char)
1367     -> FT_Module;
1368}
1369extern "C" {
1370    pub fn FT_Remove_Module(library: FT_Library, module: FT_Module)
1371     -> FT_Error;
1372}
1373extern "C" {
1374    pub fn FT_Property_Set(library: FT_Library, module_name: *const FT_String,
1375                           property_name: *const FT_String,
1376                           value: *const ::std::os::raw::c_void) -> FT_Error;
1377}
1378extern "C" {
1379    pub fn FT_Property_Get(library: FT_Library, module_name: *const FT_String,
1380                           property_name: *const FT_String,
1381                           value: *mut ::std::os::raw::c_void) -> FT_Error;
1382}
1383extern "C" {
1384    pub fn FT_Reference_Library(library: FT_Library) -> FT_Error;
1385}
1386extern "C" {
1387    pub fn FT_New_Library(memory: FT_Memory, alibrary: *mut FT_Library)
1388     -> FT_Error;
1389}
1390extern "C" {
1391    pub fn FT_Done_Library(library: FT_Library) -> FT_Error;
1392}
1393pub type FT_DebugHook_Func =
1394    ::std::option::Option<unsafe extern "C" fn(arg:
1395                                                   *mut ::std::os::raw::c_void)>;
1396extern "C" {
1397    pub fn FT_Set_Debug_Hook(library: FT_Library, hook_index: FT_UInt,
1398                             debug_hook: FT_DebugHook_Func);
1399}
1400extern "C" {
1401    pub fn FT_Add_Default_Modules(library: FT_Library);
1402}
1403#[repr(u32)]
1404#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
1405pub enum FT_TrueTypeEngineType_ {
1406    FT_TRUETYPE_ENGINE_TYPE_NONE = 0,
1407    FT_TRUETYPE_ENGINE_TYPE_UNPATENTED = 1,
1408    FT_TRUETYPE_ENGINE_TYPE_PATENTED = 2,
1409}
1410pub use self::FT_TrueTypeEngineType_ as FT_TrueTypeEngineType;
1411extern "C" {
1412    pub fn FT_Get_TrueType_Engine_Type(library: FT_Library)
1413     -> FT_TrueTypeEngineType;
1414}
1415extern "C" {
1416    pub fn FT_Outline_Decompose(outline: *mut FT_Outline,
1417                                func_interface: *const FT_Outline_Funcs,
1418                                user: *mut ::std::os::raw::c_void)
1419     -> FT_Error;
1420}
1421extern "C" {
1422    pub fn FT_Outline_New(library: FT_Library, numPoints: FT_UInt,
1423                          numContours: FT_Int, anoutline: *mut FT_Outline)
1424     -> FT_Error;
1425}
1426extern "C" {
1427    pub fn FT_Outline_Done(library: FT_Library, outline: *mut FT_Outline)
1428     -> FT_Error;
1429}
1430extern "C" {
1431    pub fn FT_Outline_Check(outline: *mut FT_Outline) -> FT_Error;
1432}
1433extern "C" {
1434    pub fn FT_Outline_Get_CBox(outline: *const FT_Outline,
1435                               acbox: *mut FT_BBox);
1436}
1437extern "C" {
1438    pub fn FT_Outline_Translate(outline: *const FT_Outline, xOffset: FT_Pos,
1439                                yOffset: FT_Pos);
1440}
1441extern "C" {
1442    pub fn FT_Outline_Copy(source: *const FT_Outline, target: *mut FT_Outline)
1443     -> FT_Error;
1444}
1445extern "C" {
1446    pub fn FT_Outline_Transform(outline: *const FT_Outline,
1447                                matrix: *const FT_Matrix);
1448}
1449extern "C" {
1450    pub fn FT_Outline_Embolden(outline: *mut FT_Outline, strength: FT_Pos)
1451     -> FT_Error;
1452}
1453extern "C" {
1454    pub fn FT_Outline_EmboldenXY(outline: *mut FT_Outline, xstrength: FT_Pos,
1455                                 ystrength: FT_Pos) -> FT_Error;
1456}
1457extern "C" {
1458    pub fn FT_Outline_Reverse(outline: *mut FT_Outline);
1459}
1460extern "C" {
1461    pub fn FT_Outline_Get_Bitmap(library: FT_Library,
1462                                 outline: *mut FT_Outline,
1463                                 abitmap: *const FT_Bitmap) -> FT_Error;
1464}
1465extern "C" {
1466    pub fn FT_Outline_Render(library: FT_Library, outline: *mut FT_Outline,
1467                             params: *mut FT_Raster_Params) -> FT_Error;
1468}
1469pub const FT_Orientation__FT_ORIENTATION_FILL_RIGHT: FT_Orientation_ =
1470    FT_Orientation_::FT_ORIENTATION_TRUETYPE;
1471pub const FT_Orientation__FT_ORIENTATION_FILL_LEFT: FT_Orientation_ =
1472    FT_Orientation_::FT_ORIENTATION_POSTSCRIPT;
1473#[repr(u32)]
1474#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
1475pub enum FT_Orientation_ {
1476    FT_ORIENTATION_TRUETYPE = 0,
1477    FT_ORIENTATION_POSTSCRIPT = 1,
1478    FT_ORIENTATION_NONE = 2,
1479}
1480pub use self::FT_Orientation_ as FT_Orientation;
1481extern "C" {
1482    pub fn FT_Outline_Get_Orientation(outline: *mut FT_Outline)
1483     -> FT_Orientation;
1484}