/* automatically generated by rust-bindgen 0.66.1 */

#![allow(non_snake_case)]
#![allow(non_camel_case_types)]
#![allow(non_upper_case_globals)]
#![allow(clippy::unreadable_literal)]
#![allow(clippy::upper_case_acronyms)]
mod fixed_point;
mod types;
pub use fixed_point::*;
pub type FT_Int16 = i16;
pub type FT_UInt16 = u16;
pub type FT_Int32 = i32;
pub type FT_UInt32 = u32;
pub type FT_Int64 = i64;
pub type FT_UInt64 = u64;

#[repr(C)]
pub struct __BindgenUnionField<T>(::std::marker::PhantomData<T>);
impl<T> __BindgenUnionField<T> {
    #[inline]
    pub const fn new() -> Self {
        __BindgenUnionField(::std::marker::PhantomData)
    }
    #[inline]
    pub unsafe fn as_ref(&self) -> &T {
        ::std::mem::transmute(self)
    }
    #[inline]
    pub unsafe fn as_mut(&mut self) -> &mut T {
        ::std::mem::transmute(self)
    }
}
impl<T> ::std::default::Default for __BindgenUnionField<T> {
    #[inline]
    fn default() -> Self {
        Self::new()
    }
}
impl<T> ::std::clone::Clone for __BindgenUnionField<T> {
    #[inline]
    fn clone(&self) -> Self {
        Self::new()
    }
}
impl<T> ::std::marker::Copy for __BindgenUnionField<T> {}
impl<T> ::std::fmt::Debug for __BindgenUnionField<T> {
    fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
        fmt.write_str("__BindgenUnionField")
    }
}
impl<T> ::std::hash::Hash for __BindgenUnionField<T> {
    fn hash<H: ::std::hash::Hasher>(&self, _state: &mut H) {}
}
impl<T> ::std::cmp::PartialEq for __BindgenUnionField<T> {
    fn eq(&self, _other: &__BindgenUnionField<T>) -> bool {
        true
    }
}
impl<T> ::std::cmp::Eq for __BindgenUnionField<T> {}
pub const FT_RENDER_POOL_SIZE: u32 = 16384;
pub const FT_MAX_MODULES: u32 = 32;
pub const TT_CONFIG_OPTION_MAX_RUNNABLE_OPCODES: u32 = 1000000;
pub const FT_CHAR_BIT: u32 = 8;
pub const FT_USHORT_MAX: u32 = 65535;
pub const FT_INT_MAX: u32 = 2147483647;
pub const FT_INT_MIN: i32 = -2147483648;
pub const FT_UINT_MAX: u32 = 4294967295;
pub const FT_LONG_MIN: i64 = -9223372036854775808;
pub const FT_LONG_MAX: u64 = 9223372036854775807;
pub const FT_ULONG_MAX: i32 = -1;
pub const FT_LLONG_MAX: u64 = 9223372036854775807;
pub const FT_LLONG_MIN: i64 = -9223372036854775808;
pub const FT_ULLONG_MAX: i32 = -1;
pub const FT_SIZEOF_INT: u32 = 4;
pub const FT_SIZEOF_LONG: u32 = 8;
pub const FT_SIZEOF_LONG_LONG: u32 = 8;
pub const FT_OUTLINE_CONTOURS_MAX: u32 = 32767;
pub const FT_OUTLINE_POINTS_MAX: u32 = 32767;
pub const FT_OUTLINE_NONE: u32 = 0;
pub const FT_OUTLINE_OWNER: u32 = 1;
pub const FT_OUTLINE_EVEN_ODD_FILL: u32 = 2;
pub const FT_OUTLINE_REVERSE_FILL: u32 = 4;
pub const FT_OUTLINE_IGNORE_DROPOUTS: u32 = 8;
pub const FT_OUTLINE_SMART_DROPOUTS: u32 = 16;
pub const FT_OUTLINE_INCLUDE_STUBS: u32 = 32;
pub const FT_OUTLINE_OVERLAP: u32 = 64;
pub const FT_OUTLINE_HIGH_PRECISION: u32 = 256;
pub const FT_OUTLINE_SINGLE_PASS: u32 = 512;
pub const FT_CURVE_TAG_ON: u32 = 1;
pub const FT_CURVE_TAG_CONIC: u32 = 0;
pub const FT_CURVE_TAG_CUBIC: u32 = 2;
pub const FT_CURVE_TAG_HAS_SCANMODE: u32 = 4;
pub const FT_CURVE_TAG_TOUCH_X: u32 = 8;
pub const FT_CURVE_TAG_TOUCH_Y: u32 = 16;
pub const FT_CURVE_TAG_TOUCH_BOTH: u32 = 24;
pub const FT_Curve_Tag_On: u32 = 1;
pub const FT_Curve_Tag_Conic: u32 = 0;
pub const FT_Curve_Tag_Cubic: u32 = 2;
pub const FT_Curve_Tag_Touch_X: u32 = 8;
pub const FT_Curve_Tag_Touch_Y: u32 = 16;
pub const FT_RASTER_FLAG_DEFAULT: u32 = 0;
pub const FT_RASTER_FLAG_AA: u32 = 1;
pub const FT_RASTER_FLAG_DIRECT: u32 = 2;
pub const FT_RASTER_FLAG_CLIP: u32 = 4;
pub const FT_RASTER_FLAG_SDF: u32 = 8;
pub const FT_ERR_BASE: u32 = 0;
pub const FT_FACE_FLAG_SCALABLE: u32 = 1;
pub const FT_FACE_FLAG_FIXED_SIZES: u32 = 2;
pub const FT_FACE_FLAG_FIXED_WIDTH: u32 = 4;
pub const FT_FACE_FLAG_SFNT: u32 = 8;
pub const FT_FACE_FLAG_HORIZONTAL: u32 = 16;
pub const FT_FACE_FLAG_VERTICAL: u32 = 32;
pub const FT_FACE_FLAG_KERNING: u32 = 64;
pub const FT_FACE_FLAG_FAST_GLYPHS: u32 = 128;
pub const FT_FACE_FLAG_MULTIPLE_MASTERS: u32 = 256;
pub const FT_FACE_FLAG_GLYPH_NAMES: u32 = 512;
pub const FT_FACE_FLAG_EXTERNAL_STREAM: u32 = 1024;
pub const FT_FACE_FLAG_HINTER: u32 = 2048;
pub const FT_FACE_FLAG_CID_KEYED: u32 = 4096;
pub const FT_FACE_FLAG_TRICKY: u32 = 8192;
pub const FT_FACE_FLAG_COLOR: u32 = 16384;
pub const FT_FACE_FLAG_VARIATION: u32 = 32768;
pub const FT_FACE_FLAG_SVG: u32 = 65536;
pub const FT_FACE_FLAG_SBIX: u32 = 131072;
pub const FT_FACE_FLAG_SBIX_OVERLAY: u32 = 262144;
pub const FT_STYLE_FLAG_ITALIC: u32 = 1;
pub const FT_STYLE_FLAG_BOLD: u32 = 2;
pub const FT_OPEN_MEMORY: u32 = 1;
pub const FT_OPEN_STREAM: u32 = 2;
pub const FT_OPEN_PATHNAME: u32 = 4;
pub const FT_OPEN_DRIVER: u32 = 8;
pub const FT_OPEN_PARAMS: u32 = 16;
pub const FT_LOAD_DEFAULT: u32 = 0;
pub const FT_LOAD_NO_SCALE: u32 = 1;
pub const FT_LOAD_NO_HINTING: u32 = 2;
pub const FT_LOAD_RENDER: u32 = 4;
pub const FT_LOAD_NO_BITMAP: u32 = 8;
pub const FT_LOAD_VERTICAL_LAYOUT: u32 = 16;
pub const FT_LOAD_FORCE_AUTOHINT: u32 = 32;
pub const FT_LOAD_CROP_BITMAP: u32 = 64;
pub const FT_LOAD_PEDANTIC: u32 = 128;
pub const FT_LOAD_IGNORE_GLOBAL_ADVANCE_WIDTH: u32 = 512;
pub const FT_LOAD_NO_RECURSE: u32 = 1024;
pub const FT_LOAD_IGNORE_TRANSFORM: u32 = 2048;
pub const FT_LOAD_MONOCHROME: u32 = 4096;
pub const FT_LOAD_LINEAR_DESIGN: u32 = 8192;
pub const FT_LOAD_SBITS_ONLY: u32 = 16384;
pub const FT_LOAD_NO_AUTOHINT: u32 = 32768;
pub const FT_LOAD_COLOR: u32 = 1048576;
pub const FT_LOAD_COMPUTE_METRICS: u32 = 2097152;
pub const FT_LOAD_BITMAP_METRICS_ONLY: u32 = 4194304;
pub const FT_LOAD_NO_SVG: u32 = 16777216;
pub const FT_LOAD_ADVANCE_ONLY: u32 = 256;
pub const FT_LOAD_SVG_ONLY: u32 = 8388608;
pub const FT_SUBGLYPH_FLAG_ARGS_ARE_WORDS: u32 = 1;
pub const FT_SUBGLYPH_FLAG_ARGS_ARE_XY_VALUES: u32 = 2;
pub const FT_SUBGLYPH_FLAG_ROUND_XY_TO_GRID: u32 = 4;
pub const FT_SUBGLYPH_FLAG_SCALE: u32 = 8;
pub const FT_SUBGLYPH_FLAG_XY_SCALE: u32 = 64;
pub const FT_SUBGLYPH_FLAG_2X2: u32 = 128;
pub const FT_SUBGLYPH_FLAG_USE_MY_METRICS: u32 = 512;
pub const FT_FSTYPE_INSTALLABLE_EMBEDDING: u32 = 0;
pub const FT_FSTYPE_RESTRICTED_LICENSE_EMBEDDING: u32 = 2;
pub const FT_FSTYPE_PREVIEW_AND_PRINT_EMBEDDING: u32 = 4;
pub const FT_FSTYPE_EDITABLE_EMBEDDING: u32 = 8;
pub const FT_FSTYPE_NO_SUBSETTING: u32 = 256;
pub const FT_FSTYPE_BITMAP_EMBEDDING_ONLY: u32 = 512;
pub const FT_PALETTE_FOR_LIGHT_BACKGROUND: u32 = 1;
pub const FT_PALETTE_FOR_DARK_BACKGROUND: u32 = 2;
pub const FT_LCD_FILTER_FIVE_TAPS: u32 = 5;
pub const FT_MODULE_FONT_DRIVER: u32 = 1;
pub const FT_MODULE_RENDERER: u32 = 2;
pub const FT_MODULE_HINTER: u32 = 4;
pub const FT_MODULE_STYLER: u32 = 8;
pub const FT_MODULE_DRIVER_SCALABLE: u32 = 256;
pub const FT_MODULE_DRIVER_NO_OUTLINES: u32 = 512;
pub const FT_MODULE_DRIVER_HAS_HINTER: u32 = 1024;
pub const FT_MODULE_DRIVER_HINTS_LIGHTLY: u32 = 2048;
pub const FT_DEBUG_HOOK_TRUETYPE: u32 = 0;
pub const FT_VAR_AXIS_FLAG_HIDDEN: u32 = 1;
pub const TT_PLATFORM_APPLE_UNICODE: u32 = 0;
pub const TT_PLATFORM_MACINTOSH: u32 = 1;
pub const TT_PLATFORM_ISO: u32 = 2;
pub const TT_PLATFORM_MICROSOFT: u32 = 3;
pub const TT_PLATFORM_CUSTOM: u32 = 4;
pub const TT_PLATFORM_ADOBE: u32 = 7;
pub const TT_APPLE_ID_DEFAULT: u32 = 0;
pub const TT_APPLE_ID_UNICODE_1_1: u32 = 1;
pub const TT_APPLE_ID_ISO_10646: u32 = 2;
pub const TT_APPLE_ID_UNICODE_2_0: u32 = 3;
pub const TT_APPLE_ID_UNICODE_32: u32 = 4;
pub const TT_APPLE_ID_VARIANT_SELECTOR: u32 = 5;
pub const TT_APPLE_ID_FULL_UNICODE: u32 = 6;
pub const TT_MAC_ID_ROMAN: u32 = 0;
pub const TT_MAC_ID_JAPANESE: u32 = 1;
pub const TT_MAC_ID_TRADITIONAL_CHINESE: u32 = 2;
pub const TT_MAC_ID_KOREAN: u32 = 3;
pub const TT_MAC_ID_ARABIC: u32 = 4;
pub const TT_MAC_ID_HEBREW: u32 = 5;
pub const TT_MAC_ID_GREEK: u32 = 6;
pub const TT_MAC_ID_RUSSIAN: u32 = 7;
pub const TT_MAC_ID_RSYMBOL: u32 = 8;
pub const TT_MAC_ID_DEVANAGARI: u32 = 9;
pub const TT_MAC_ID_GURMUKHI: u32 = 10;
pub const TT_MAC_ID_GUJARATI: u32 = 11;
pub const TT_MAC_ID_ORIYA: u32 = 12;
pub const TT_MAC_ID_BENGALI: u32 = 13;
pub const TT_MAC_ID_TAMIL: u32 = 14;
pub const TT_MAC_ID_TELUGU: u32 = 15;
pub const TT_MAC_ID_KANNADA: u32 = 16;
pub const TT_MAC_ID_MALAYALAM: u32 = 17;
pub const TT_MAC_ID_SINHALESE: u32 = 18;
pub const TT_MAC_ID_BURMESE: u32 = 19;
pub const TT_MAC_ID_KHMER: u32 = 20;
pub const TT_MAC_ID_THAI: u32 = 21;
pub const TT_MAC_ID_LAOTIAN: u32 = 22;
pub const TT_MAC_ID_GEORGIAN: u32 = 23;
pub const TT_MAC_ID_ARMENIAN: u32 = 24;
pub const TT_MAC_ID_MALDIVIAN: u32 = 25;
pub const TT_MAC_ID_SIMPLIFIED_CHINESE: u32 = 25;
pub const TT_MAC_ID_TIBETAN: u32 = 26;
pub const TT_MAC_ID_MONGOLIAN: u32 = 27;
pub const TT_MAC_ID_GEEZ: u32 = 28;
pub const TT_MAC_ID_SLAVIC: u32 = 29;
pub const TT_MAC_ID_VIETNAMESE: u32 = 30;
pub const TT_MAC_ID_SINDHI: u32 = 31;
pub const TT_MAC_ID_UNINTERP: u32 = 32;
pub const TT_ISO_ID_7BIT_ASCII: u32 = 0;
pub const TT_ISO_ID_10646: u32 = 1;
pub const TT_ISO_ID_8859_1: u32 = 2;
pub const TT_MS_ID_SYMBOL_CS: u32 = 0;
pub const TT_MS_ID_UNICODE_CS: u32 = 1;
pub const TT_MS_ID_SJIS: u32 = 2;
pub const TT_MS_ID_PRC: u32 = 3;
pub const TT_MS_ID_BIG_5: u32 = 4;
pub const TT_MS_ID_WANSUNG: u32 = 5;
pub const TT_MS_ID_JOHAB: u32 = 6;
pub const TT_MS_ID_UCS_4: u32 = 10;
pub const TT_MS_ID_GB2312: u32 = 3;
pub const TT_ADOBE_ID_STANDARD: u32 = 0;
pub const TT_ADOBE_ID_EXPERT: u32 = 1;
pub const TT_ADOBE_ID_CUSTOM: u32 = 2;
pub const TT_ADOBE_ID_LATIN_1: u32 = 3;
pub const TT_MAC_LANGID_ENGLISH: u32 = 0;
pub const TT_MAC_LANGID_FRENCH: u32 = 1;
pub const TT_MAC_LANGID_GERMAN: u32 = 2;
pub const TT_MAC_LANGID_ITALIAN: u32 = 3;
pub const TT_MAC_LANGID_DUTCH: u32 = 4;
pub const TT_MAC_LANGID_SWEDISH: u32 = 5;
pub const TT_MAC_LANGID_SPANISH: u32 = 6;
pub const TT_MAC_LANGID_DANISH: u32 = 7;
pub const TT_MAC_LANGID_PORTUGUESE: u32 = 8;
pub const TT_MAC_LANGID_NORWEGIAN: u32 = 9;
pub const TT_MAC_LANGID_HEBREW: u32 = 10;
pub const TT_MAC_LANGID_JAPANESE: u32 = 11;
pub const TT_MAC_LANGID_ARABIC: u32 = 12;
pub const TT_MAC_LANGID_FINNISH: u32 = 13;
pub const TT_MAC_LANGID_GREEK: u32 = 14;
pub const TT_MAC_LANGID_ICELANDIC: u32 = 15;
pub const TT_MAC_LANGID_MALTESE: u32 = 16;
pub const TT_MAC_LANGID_TURKISH: u32 = 17;
pub const TT_MAC_LANGID_CROATIAN: u32 = 18;
pub const TT_MAC_LANGID_CHINESE_TRADITIONAL: u32 = 19;
pub const TT_MAC_LANGID_URDU: u32 = 20;
pub const TT_MAC_LANGID_HINDI: u32 = 21;
pub const TT_MAC_LANGID_THAI: u32 = 22;
pub const TT_MAC_LANGID_KOREAN: u32 = 23;
pub const TT_MAC_LANGID_LITHUANIAN: u32 = 24;
pub const TT_MAC_LANGID_POLISH: u32 = 25;
pub const TT_MAC_LANGID_HUNGARIAN: u32 = 26;
pub const TT_MAC_LANGID_ESTONIAN: u32 = 27;
pub const TT_MAC_LANGID_LETTISH: u32 = 28;
pub const TT_MAC_LANGID_SAAMISK: u32 = 29;
pub const TT_MAC_LANGID_FAEROESE: u32 = 30;
pub const TT_MAC_LANGID_FARSI: u32 = 31;
pub const TT_MAC_LANGID_RUSSIAN: u32 = 32;
pub const TT_MAC_LANGID_CHINESE_SIMPLIFIED: u32 = 33;
pub const TT_MAC_LANGID_FLEMISH: u32 = 34;
pub const TT_MAC_LANGID_IRISH: u32 = 35;
pub const TT_MAC_LANGID_ALBANIAN: u32 = 36;
pub const TT_MAC_LANGID_ROMANIAN: u32 = 37;
pub const TT_MAC_LANGID_CZECH: u32 = 38;
pub const TT_MAC_LANGID_SLOVAK: u32 = 39;
pub const TT_MAC_LANGID_SLOVENIAN: u32 = 40;
pub const TT_MAC_LANGID_YIDDISH: u32 = 41;
pub const TT_MAC_LANGID_SERBIAN: u32 = 42;
pub const TT_MAC_LANGID_MACEDONIAN: u32 = 43;
pub const TT_MAC_LANGID_BULGARIAN: u32 = 44;
pub const TT_MAC_LANGID_UKRAINIAN: u32 = 45;
pub const TT_MAC_LANGID_BYELORUSSIAN: u32 = 46;
pub const TT_MAC_LANGID_UZBEK: u32 = 47;
pub const TT_MAC_LANGID_KAZAKH: u32 = 48;
pub const TT_MAC_LANGID_AZERBAIJANI: u32 = 49;
pub const TT_MAC_LANGID_AZERBAIJANI_CYRILLIC_SCRIPT: u32 = 49;
pub const TT_MAC_LANGID_AZERBAIJANI_ARABIC_SCRIPT: u32 = 50;
pub const TT_MAC_LANGID_ARMENIAN: u32 = 51;
pub const TT_MAC_LANGID_GEORGIAN: u32 = 52;
pub const TT_MAC_LANGID_MOLDAVIAN: u32 = 53;
pub const TT_MAC_LANGID_KIRGHIZ: u32 = 54;
pub const TT_MAC_LANGID_TAJIKI: u32 = 55;
pub const TT_MAC_LANGID_TURKMEN: u32 = 56;
pub const TT_MAC_LANGID_MONGOLIAN: u32 = 57;
pub const TT_MAC_LANGID_MONGOLIAN_MONGOLIAN_SCRIPT: u32 = 57;
pub const TT_MAC_LANGID_MONGOLIAN_CYRILLIC_SCRIPT: u32 = 58;
pub const TT_MAC_LANGID_PASHTO: u32 = 59;
pub const TT_MAC_LANGID_KURDISH: u32 = 60;
pub const TT_MAC_LANGID_KASHMIRI: u32 = 61;
pub const TT_MAC_LANGID_SINDHI: u32 = 62;
pub const TT_MAC_LANGID_TIBETAN: u32 = 63;
pub const TT_MAC_LANGID_NEPALI: u32 = 64;
pub const TT_MAC_LANGID_SANSKRIT: u32 = 65;
pub const TT_MAC_LANGID_MARATHI: u32 = 66;
pub const TT_MAC_LANGID_BENGALI: u32 = 67;
pub const TT_MAC_LANGID_ASSAMESE: u32 = 68;
pub const TT_MAC_LANGID_GUJARATI: u32 = 69;
pub const TT_MAC_LANGID_PUNJABI: u32 = 70;
pub const TT_MAC_LANGID_ORIYA: u32 = 71;
pub const TT_MAC_LANGID_MALAYALAM: u32 = 72;
pub const TT_MAC_LANGID_KANNADA: u32 = 73;
pub const TT_MAC_LANGID_TAMIL: u32 = 74;
pub const TT_MAC_LANGID_TELUGU: u32 = 75;
pub const TT_MAC_LANGID_SINHALESE: u32 = 76;
pub const TT_MAC_LANGID_BURMESE: u32 = 77;
pub const TT_MAC_LANGID_KHMER: u32 = 78;
pub const TT_MAC_LANGID_LAO: u32 = 79;
pub const TT_MAC_LANGID_VIETNAMESE: u32 = 80;
pub const TT_MAC_LANGID_INDONESIAN: u32 = 81;
pub const TT_MAC_LANGID_TAGALOG: u32 = 82;
pub const TT_MAC_LANGID_MALAY_ROMAN_SCRIPT: u32 = 83;
pub const TT_MAC_LANGID_MALAY_ARABIC_SCRIPT: u32 = 84;
pub const TT_MAC_LANGID_AMHARIC: u32 = 85;
pub const TT_MAC_LANGID_TIGRINYA: u32 = 86;
pub const TT_MAC_LANGID_GALLA: u32 = 87;
pub const TT_MAC_LANGID_SOMALI: u32 = 88;
pub const TT_MAC_LANGID_SWAHILI: u32 = 89;
pub const TT_MAC_LANGID_RUANDA: u32 = 90;
pub const TT_MAC_LANGID_RUNDI: u32 = 91;
pub const TT_MAC_LANGID_CHEWA: u32 = 92;
pub const TT_MAC_LANGID_MALAGASY: u32 = 93;
pub const TT_MAC_LANGID_ESPERANTO: u32 = 94;
pub const TT_MAC_LANGID_WELSH: u32 = 128;
pub const TT_MAC_LANGID_BASQUE: u32 = 129;
pub const TT_MAC_LANGID_CATALAN: u32 = 130;
pub const TT_MAC_LANGID_LATIN: u32 = 131;
pub const TT_MAC_LANGID_QUECHUA: u32 = 132;
pub const TT_MAC_LANGID_GUARANI: u32 = 133;
pub const TT_MAC_LANGID_AYMARA: u32 = 134;
pub const TT_MAC_LANGID_TATAR: u32 = 135;
pub const TT_MAC_LANGID_UIGHUR: u32 = 136;
pub const TT_MAC_LANGID_DZONGKHA: u32 = 137;
pub const TT_MAC_LANGID_JAVANESE: u32 = 138;
pub const TT_MAC_LANGID_SUNDANESE: u32 = 139;
pub const TT_MAC_LANGID_GALICIAN: u32 = 140;
pub const TT_MAC_LANGID_AFRIKAANS: u32 = 141;
pub const TT_MAC_LANGID_BRETON: u32 = 142;
pub const TT_MAC_LANGID_INUKTITUT: u32 = 143;
pub const TT_MAC_LANGID_SCOTTISH_GAELIC: u32 = 144;
pub const TT_MAC_LANGID_MANX_GAELIC: u32 = 145;
pub const TT_MAC_LANGID_IRISH_GAELIC: u32 = 146;
pub const TT_MAC_LANGID_TONGAN: u32 = 147;
pub const TT_MAC_LANGID_GREEK_POLYTONIC: u32 = 148;
pub const TT_MAC_LANGID_GREELANDIC: u32 = 149;
pub const TT_MAC_LANGID_AZERBAIJANI_ROMAN_SCRIPT: u32 = 150;
pub const TT_MS_LANGID_ARABIC_SAUDI_ARABIA: u32 = 1025;
pub const TT_MS_LANGID_ARABIC_IRAQ: u32 = 2049;
pub const TT_MS_LANGID_ARABIC_EGYPT: u32 = 3073;
pub const TT_MS_LANGID_ARABIC_LIBYA: u32 = 4097;
pub const TT_MS_LANGID_ARABIC_ALGERIA: u32 = 5121;
pub const TT_MS_LANGID_ARABIC_MOROCCO: u32 = 6145;
pub const TT_MS_LANGID_ARABIC_TUNISIA: u32 = 7169;
pub const TT_MS_LANGID_ARABIC_OMAN: u32 = 8193;
pub const TT_MS_LANGID_ARABIC_YEMEN: u32 = 9217;
pub const TT_MS_LANGID_ARABIC_SYRIA: u32 = 10241;
pub const TT_MS_LANGID_ARABIC_JORDAN: u32 = 11265;
pub const TT_MS_LANGID_ARABIC_LEBANON: u32 = 12289;
pub const TT_MS_LANGID_ARABIC_KUWAIT: u32 = 13313;
pub const TT_MS_LANGID_ARABIC_UAE: u32 = 14337;
pub const TT_MS_LANGID_ARABIC_BAHRAIN: u32 = 15361;
pub const TT_MS_LANGID_ARABIC_QATAR: u32 = 16385;
pub const TT_MS_LANGID_BULGARIAN_BULGARIA: u32 = 1026;
pub const TT_MS_LANGID_CATALAN_CATALAN: u32 = 1027;
pub const TT_MS_LANGID_CHINESE_TAIWAN: u32 = 1028;
pub const TT_MS_LANGID_CHINESE_PRC: u32 = 2052;
pub const TT_MS_LANGID_CHINESE_HONG_KONG: u32 = 3076;
pub const TT_MS_LANGID_CHINESE_SINGAPORE: u32 = 4100;
pub const TT_MS_LANGID_CHINESE_MACAO: u32 = 5124;
pub const TT_MS_LANGID_CZECH_CZECH_REPUBLIC: u32 = 1029;
pub const TT_MS_LANGID_DANISH_DENMARK: u32 = 1030;
pub const TT_MS_LANGID_GERMAN_GERMANY: u32 = 1031;
pub const TT_MS_LANGID_GERMAN_SWITZERLAND: u32 = 2055;
pub const TT_MS_LANGID_GERMAN_AUSTRIA: u32 = 3079;
pub const TT_MS_LANGID_GERMAN_LUXEMBOURG: u32 = 4103;
pub const TT_MS_LANGID_GERMAN_LIECHTENSTEIN: u32 = 5127;
pub const TT_MS_LANGID_GREEK_GREECE: u32 = 1032;
pub const TT_MS_LANGID_ENGLISH_UNITED_STATES: u32 = 1033;
pub const TT_MS_LANGID_ENGLISH_UNITED_KINGDOM: u32 = 2057;
pub const TT_MS_LANGID_ENGLISH_AUSTRALIA: u32 = 3081;
pub const TT_MS_LANGID_ENGLISH_CANADA: u32 = 4105;
pub const TT_MS_LANGID_ENGLISH_NEW_ZEALAND: u32 = 5129;
pub const TT_MS_LANGID_ENGLISH_IRELAND: u32 = 6153;
pub const TT_MS_LANGID_ENGLISH_SOUTH_AFRICA: u32 = 7177;
pub const TT_MS_LANGID_ENGLISH_JAMAICA: u32 = 8201;
pub const TT_MS_LANGID_ENGLISH_CARIBBEAN: u32 = 9225;
pub const TT_MS_LANGID_ENGLISH_BELIZE: u32 = 10249;
pub const TT_MS_LANGID_ENGLISH_TRINIDAD: u32 = 11273;
pub const TT_MS_LANGID_ENGLISH_ZIMBABWE: u32 = 12297;
pub const TT_MS_LANGID_ENGLISH_PHILIPPINES: u32 = 13321;
pub const TT_MS_LANGID_ENGLISH_INDIA: u32 = 16393;
pub const TT_MS_LANGID_ENGLISH_MALAYSIA: u32 = 17417;
pub const TT_MS_LANGID_ENGLISH_SINGAPORE: u32 = 18441;
pub const TT_MS_LANGID_SPANISH_SPAIN_TRADITIONAL_SORT: u32 = 1034;
pub const TT_MS_LANGID_SPANISH_MEXICO: u32 = 2058;
pub const TT_MS_LANGID_SPANISH_SPAIN_MODERN_SORT: u32 = 3082;
pub const TT_MS_LANGID_SPANISH_GUATEMALA: u32 = 4106;
pub const TT_MS_LANGID_SPANISH_COSTA_RICA: u32 = 5130;
pub const TT_MS_LANGID_SPANISH_PANAMA: u32 = 6154;
pub const TT_MS_LANGID_SPANISH_DOMINICAN_REPUBLIC: u32 = 7178;
pub const TT_MS_LANGID_SPANISH_VENEZUELA: u32 = 8202;
pub const TT_MS_LANGID_SPANISH_COLOMBIA: u32 = 9226;
pub const TT_MS_LANGID_SPANISH_PERU: u32 = 10250;
pub const TT_MS_LANGID_SPANISH_ARGENTINA: u32 = 11274;
pub const TT_MS_LANGID_SPANISH_ECUADOR: u32 = 12298;
pub const TT_MS_LANGID_SPANISH_CHILE: u32 = 13322;
pub const TT_MS_LANGID_SPANISH_URUGUAY: u32 = 14346;
pub const TT_MS_LANGID_SPANISH_PARAGUAY: u32 = 15370;
pub const TT_MS_LANGID_SPANISH_BOLIVIA: u32 = 16394;
pub const TT_MS_LANGID_SPANISH_EL_SALVADOR: u32 = 17418;
pub const TT_MS_LANGID_SPANISH_HONDURAS: u32 = 18442;
pub const TT_MS_LANGID_SPANISH_NICARAGUA: u32 = 19466;
pub const TT_MS_LANGID_SPANISH_PUERTO_RICO: u32 = 20490;
pub const TT_MS_LANGID_SPANISH_UNITED_STATES: u32 = 21514;
pub const TT_MS_LANGID_FINNISH_FINLAND: u32 = 1035;
pub const TT_MS_LANGID_FRENCH_FRANCE: u32 = 1036;
pub const TT_MS_LANGID_FRENCH_BELGIUM: u32 = 2060;
pub const TT_MS_LANGID_FRENCH_CANADA: u32 = 3084;
pub const TT_MS_LANGID_FRENCH_SWITZERLAND: u32 = 4108;
pub const TT_MS_LANGID_FRENCH_LUXEMBOURG: u32 = 5132;
pub const TT_MS_LANGID_FRENCH_MONACO: u32 = 6156;
pub const TT_MS_LANGID_HEBREW_ISRAEL: u32 = 1037;
pub const TT_MS_LANGID_HUNGARIAN_HUNGARY: u32 = 1038;
pub const TT_MS_LANGID_ICELANDIC_ICELAND: u32 = 1039;
pub const TT_MS_LANGID_ITALIAN_ITALY: u32 = 1040;
pub const TT_MS_LANGID_ITALIAN_SWITZERLAND: u32 = 2064;
pub const TT_MS_LANGID_JAPANESE_JAPAN: u32 = 1041;
pub const TT_MS_LANGID_KOREAN_KOREA: u32 = 1042;
pub const TT_MS_LANGID_DUTCH_NETHERLANDS: u32 = 1043;
pub const TT_MS_LANGID_DUTCH_BELGIUM: u32 = 2067;
pub const TT_MS_LANGID_NORWEGIAN_NORWAY_BOKMAL: u32 = 1044;
pub const TT_MS_LANGID_NORWEGIAN_NORWAY_NYNORSK: u32 = 2068;
pub const TT_MS_LANGID_POLISH_POLAND: u32 = 1045;
pub const TT_MS_LANGID_PORTUGUESE_BRAZIL: u32 = 1046;
pub const TT_MS_LANGID_PORTUGUESE_PORTUGAL: u32 = 2070;
pub const TT_MS_LANGID_ROMANSH_SWITZERLAND: u32 = 1047;
pub const TT_MS_LANGID_ROMANIAN_ROMANIA: u32 = 1048;
pub const TT_MS_LANGID_RUSSIAN_RUSSIA: u32 = 1049;
pub const TT_MS_LANGID_CROATIAN_CROATIA: u32 = 1050;
pub const TT_MS_LANGID_SERBIAN_SERBIA_LATIN: u32 = 2074;
pub const TT_MS_LANGID_SERBIAN_SERBIA_CYRILLIC: u32 = 3098;
pub const TT_MS_LANGID_CROATIAN_BOSNIA_HERZEGOVINA: u32 = 4122;
pub const TT_MS_LANGID_BOSNIAN_BOSNIA_HERZEGOVINA: u32 = 5146;
pub const TT_MS_LANGID_SERBIAN_BOSNIA_HERZ_LATIN: u32 = 6170;
pub const TT_MS_LANGID_SERBIAN_BOSNIA_HERZ_CYRILLIC: u32 = 7194;
pub const TT_MS_LANGID_BOSNIAN_BOSNIA_HERZ_CYRILLIC: u32 = 8218;
pub const TT_MS_LANGID_SLOVAK_SLOVAKIA: u32 = 1051;
pub const TT_MS_LANGID_ALBANIAN_ALBANIA: u32 = 1052;
pub const TT_MS_LANGID_SWEDISH_SWEDEN: u32 = 1053;
pub const TT_MS_LANGID_SWEDISH_FINLAND: u32 = 2077;
pub const TT_MS_LANGID_THAI_THAILAND: u32 = 1054;
pub const TT_MS_LANGID_TURKISH_TURKEY: u32 = 1055;
pub const TT_MS_LANGID_URDU_PAKISTAN: u32 = 1056;
pub const TT_MS_LANGID_INDONESIAN_INDONESIA: u32 = 1057;
pub const TT_MS_LANGID_UKRAINIAN_UKRAINE: u32 = 1058;
pub const TT_MS_LANGID_BELARUSIAN_BELARUS: u32 = 1059;
pub const TT_MS_LANGID_SLOVENIAN_SLOVENIA: u32 = 1060;
pub const TT_MS_LANGID_ESTONIAN_ESTONIA: u32 = 1061;
pub const TT_MS_LANGID_LATVIAN_LATVIA: u32 = 1062;
pub const TT_MS_LANGID_LITHUANIAN_LITHUANIA: u32 = 1063;
pub const TT_MS_LANGID_TAJIK_TAJIKISTAN: u32 = 1064;
pub const TT_MS_LANGID_VIETNAMESE_VIET_NAM: u32 = 1066;
pub const TT_MS_LANGID_ARMENIAN_ARMENIA: u32 = 1067;
pub const TT_MS_LANGID_AZERI_AZERBAIJAN_LATIN: u32 = 1068;
pub const TT_MS_LANGID_AZERI_AZERBAIJAN_CYRILLIC: u32 = 2092;
pub const TT_MS_LANGID_BASQUE_BASQUE: u32 = 1069;
pub const TT_MS_LANGID_UPPER_SORBIAN_GERMANY: u32 = 1070;
pub const TT_MS_LANGID_LOWER_SORBIAN_GERMANY: u32 = 2094;
pub const TT_MS_LANGID_MACEDONIAN_MACEDONIA: u32 = 1071;
pub const TT_MS_LANGID_SETSWANA_SOUTH_AFRICA: u32 = 1074;
pub const TT_MS_LANGID_ISIXHOSA_SOUTH_AFRICA: u32 = 1076;
pub const TT_MS_LANGID_ISIZULU_SOUTH_AFRICA: u32 = 1077;
pub const TT_MS_LANGID_AFRIKAANS_SOUTH_AFRICA: u32 = 1078;
pub const TT_MS_LANGID_GEORGIAN_GEORGIA: u32 = 1079;
pub const TT_MS_LANGID_FAEROESE_FAEROE_ISLANDS: u32 = 1080;
pub const TT_MS_LANGID_HINDI_INDIA: u32 = 1081;
pub const TT_MS_LANGID_MALTESE_MALTA: u32 = 1082;
pub const TT_MS_LANGID_SAMI_NORTHERN_NORWAY: u32 = 1083;
pub const TT_MS_LANGID_SAMI_NORTHERN_SWEDEN: u32 = 2107;
pub const TT_MS_LANGID_SAMI_NORTHERN_FINLAND: u32 = 3131;
pub const TT_MS_LANGID_SAMI_LULE_NORWAY: u32 = 4155;
pub const TT_MS_LANGID_SAMI_LULE_SWEDEN: u32 = 5179;
pub const TT_MS_LANGID_SAMI_SOUTHERN_NORWAY: u32 = 6203;
pub const TT_MS_LANGID_SAMI_SOUTHERN_SWEDEN: u32 = 7227;
pub const TT_MS_LANGID_SAMI_SKOLT_FINLAND: u32 = 8251;
pub const TT_MS_LANGID_SAMI_INARI_FINLAND: u32 = 9275;
pub const TT_MS_LANGID_IRISH_IRELAND: u32 = 2108;
pub const TT_MS_LANGID_MALAY_MALAYSIA: u32 = 1086;
pub const TT_MS_LANGID_MALAY_BRUNEI_DARUSSALAM: u32 = 2110;
pub const TT_MS_LANGID_KAZAKH_KAZAKHSTAN: u32 = 1087;
pub const TT_MS_LANGID_KYRGYZ_KYRGYZSTAN: u32 = 1088;
pub const TT_MS_LANGID_KISWAHILI_KENYA: u32 = 1089;
pub const TT_MS_LANGID_TURKMEN_TURKMENISTAN: u32 = 1090;
pub const TT_MS_LANGID_UZBEK_UZBEKISTAN_LATIN: u32 = 1091;
pub const TT_MS_LANGID_UZBEK_UZBEKISTAN_CYRILLIC: u32 = 2115;
pub const TT_MS_LANGID_TATAR_RUSSIA: u32 = 1092;
pub const TT_MS_LANGID_BENGALI_INDIA: u32 = 1093;
pub const TT_MS_LANGID_BENGALI_BANGLADESH: u32 = 2117;
pub const TT_MS_LANGID_PUNJABI_INDIA: u32 = 1094;
pub const TT_MS_LANGID_GUJARATI_INDIA: u32 = 1095;
pub const TT_MS_LANGID_ODIA_INDIA: u32 = 1096;
pub const TT_MS_LANGID_TAMIL_INDIA: u32 = 1097;
pub const TT_MS_LANGID_TELUGU_INDIA: u32 = 1098;
pub const TT_MS_LANGID_KANNADA_INDIA: u32 = 1099;
pub const TT_MS_LANGID_MALAYALAM_INDIA: u32 = 1100;
pub const TT_MS_LANGID_ASSAMESE_INDIA: u32 = 1101;
pub const TT_MS_LANGID_MARATHI_INDIA: u32 = 1102;
pub const TT_MS_LANGID_SANSKRIT_INDIA: u32 = 1103;
pub const TT_MS_LANGID_MONGOLIAN_MONGOLIA: u32 = 1104;
pub const TT_MS_LANGID_MONGOLIAN_PRC: u32 = 2128;
pub const TT_MS_LANGID_TIBETAN_PRC: u32 = 1105;
pub const TT_MS_LANGID_WELSH_UNITED_KINGDOM: u32 = 1106;
pub const TT_MS_LANGID_KHMER_CAMBODIA: u32 = 1107;
pub const TT_MS_LANGID_LAO_LAOS: u32 = 1108;
pub const TT_MS_LANGID_GALICIAN_GALICIAN: u32 = 1110;
pub const TT_MS_LANGID_KONKANI_INDIA: u32 = 1111;
pub const TT_MS_LANGID_SYRIAC_SYRIA: u32 = 1114;
pub const TT_MS_LANGID_SINHALA_SRI_LANKA: u32 = 1115;
pub const TT_MS_LANGID_INUKTITUT_CANADA: u32 = 1117;
pub const TT_MS_LANGID_INUKTITUT_CANADA_LATIN: u32 = 2141;
pub const TT_MS_LANGID_AMHARIC_ETHIOPIA: u32 = 1118;
pub const TT_MS_LANGID_TAMAZIGHT_ALGERIA: u32 = 2143;
pub const TT_MS_LANGID_NEPALI_NEPAL: u32 = 1121;
pub const TT_MS_LANGID_FRISIAN_NETHERLANDS: u32 = 1122;
pub const TT_MS_LANGID_PASHTO_AFGHANISTAN: u32 = 1123;
pub const TT_MS_LANGID_FILIPINO_PHILIPPINES: u32 = 1124;
pub const TT_MS_LANGID_DHIVEHI_MALDIVES: u32 = 1125;
pub const TT_MS_LANGID_HAUSA_NIGERIA: u32 = 1128;
pub const TT_MS_LANGID_YORUBA_NIGERIA: u32 = 1130;
pub const TT_MS_LANGID_QUECHUA_BOLIVIA: u32 = 1131;
pub const TT_MS_LANGID_QUECHUA_ECUADOR: u32 = 2155;
pub const TT_MS_LANGID_QUECHUA_PERU: u32 = 3179;
pub const TT_MS_LANGID_SESOTHO_SA_LEBOA_SOUTH_AFRICA: u32 = 1132;
pub const TT_MS_LANGID_BASHKIR_RUSSIA: u32 = 1133;
pub const TT_MS_LANGID_LUXEMBOURGISH_LUXEMBOURG: u32 = 1134;
pub const TT_MS_LANGID_GREENLANDIC_GREENLAND: u32 = 1135;
pub const TT_MS_LANGID_IGBO_NIGERIA: u32 = 1136;
pub const TT_MS_LANGID_YI_PRC: u32 = 1144;
pub const TT_MS_LANGID_MAPUDUNGUN_CHILE: u32 = 1146;
pub const TT_MS_LANGID_MOHAWK_MOHAWK: u32 = 1148;
pub const TT_MS_LANGID_BRETON_FRANCE: u32 = 1150;
pub const TT_MS_LANGID_UIGHUR_PRC: u32 = 1152;
pub const TT_MS_LANGID_MAORI_NEW_ZEALAND: u32 = 1153;
pub const TT_MS_LANGID_OCCITAN_FRANCE: u32 = 1154;
pub const TT_MS_LANGID_CORSICAN_FRANCE: u32 = 1155;
pub const TT_MS_LANGID_ALSATIAN_FRANCE: u32 = 1156;
pub const TT_MS_LANGID_YAKUT_RUSSIA: u32 = 1157;
pub const TT_MS_LANGID_KICHE_GUATEMALA: u32 = 1158;
pub const TT_MS_LANGID_KINYARWANDA_RWANDA: u32 = 1159;
pub const TT_MS_LANGID_WOLOF_SENEGAL: u32 = 1160;
pub const TT_MS_LANGID_DARI_AFGHANISTAN: u32 = 1164;
pub const TT_MS_LANGID_ARABIC_GENERAL: u32 = 1;
pub const TT_MS_LANGID_CATALAN_SPAIN: u32 = 1027;
pub const TT_MS_LANGID_CHINESE_GENERAL: u32 = 4;
pub const TT_MS_LANGID_CHINESE_MACAU: u32 = 5124;
pub const TT_MS_LANGID_GERMAN_LIECHTENSTEI: u32 = 5127;
pub const TT_MS_LANGID_ENGLISH_GENERAL: u32 = 9;
pub const TT_MS_LANGID_ENGLISH_INDONESIA: u32 = 14345;
pub const TT_MS_LANGID_ENGLISH_HONG_KONG: u32 = 15369;
pub const TT_MS_LANGID_SPANISH_SPAIN_INTERNATIONAL_SORT: u32 = 3082;
pub const TT_MS_LANGID_SPANISH_LATIN_AMERICA: u32 = 58378;
pub const TT_MS_LANGID_FRENCH_WEST_INDIES: u32 = 7180;
pub const TT_MS_LANGID_FRENCH_REUNION: u32 = 8204;
pub const TT_MS_LANGID_FRENCH_CONGO: u32 = 9228;
pub const TT_MS_LANGID_FRENCH_ZAIRE: u32 = 9228;
pub const TT_MS_LANGID_FRENCH_SENEGAL: u32 = 10252;
pub const TT_MS_LANGID_FRENCH_CAMEROON: u32 = 11276;
pub const TT_MS_LANGID_FRENCH_COTE_D_IVOIRE: u32 = 12300;
pub const TT_MS_LANGID_FRENCH_MALI: u32 = 13324;
pub const TT_MS_LANGID_FRENCH_MOROCCO: u32 = 14348;
pub const TT_MS_LANGID_FRENCH_HAITI: u32 = 15372;
pub const TT_MS_LANGID_FRENCH_NORTH_AFRICA: u32 = 58380;
pub const TT_MS_LANGID_KOREAN_EXTENDED_WANSUNG_KOREA: u32 = 1042;
pub const TT_MS_LANGID_KOREAN_JOHAB_KOREA: u32 = 2066;
pub const TT_MS_LANGID_RHAETO_ROMANIC_SWITZERLAND: u32 = 1047;
pub const TT_MS_LANGID_MOLDAVIAN_MOLDAVIA: u32 = 2072;
pub const TT_MS_LANGID_RUSSIAN_MOLDAVIA: u32 = 2073;
pub const TT_MS_LANGID_URDU_INDIA: u32 = 2080;
pub const TT_MS_LANGID_CLASSIC_LITHUANIAN_LITHUANIA: u32 = 2087;
pub const TT_MS_LANGID_SLOVENE_SLOVENIA: u32 = 1060;
pub const TT_MS_LANGID_FARSI_IRAN: u32 = 1065;
pub const TT_MS_LANGID_BASQUE_SPAIN: u32 = 1069;
pub const TT_MS_LANGID_SORBIAN_GERMANY: u32 = 1070;
pub const TT_MS_LANGID_SUTU_SOUTH_AFRICA: u32 = 1072;
pub const TT_MS_LANGID_TSONGA_SOUTH_AFRICA: u32 = 1073;
pub const TT_MS_LANGID_TSWANA_SOUTH_AFRICA: u32 = 1074;
pub const TT_MS_LANGID_VENDA_SOUTH_AFRICA: u32 = 1075;
pub const TT_MS_LANGID_XHOSA_SOUTH_AFRICA: u32 = 1076;
pub const TT_MS_LANGID_ZULU_SOUTH_AFRICA: u32 = 1077;
pub const TT_MS_LANGID_SAAMI_LAPONIA: u32 = 1083;
pub const TT_MS_LANGID_IRISH_GAELIC_IRELAND: u32 = 1084;
pub const TT_MS_LANGID_SCOTTISH_GAELIC_UNITED_KINGDOM: u32 = 2108;
pub const TT_MS_LANGID_YIDDISH_GERMANY: u32 = 1085;
pub const TT_MS_LANGID_KAZAK_KAZAKSTAN: u32 = 1087;
pub const TT_MS_LANGID_KIRGHIZ_KIRGHIZ_REPUBLIC: u32 = 1088;
pub const TT_MS_LANGID_KIRGHIZ_KIRGHIZSTAN: u32 = 1088;
pub const TT_MS_LANGID_SWAHILI_KENYA: u32 = 1089;
pub const TT_MS_LANGID_TATAR_TATARSTAN: u32 = 1092;
pub const TT_MS_LANGID_PUNJABI_ARABIC_PAKISTAN: u32 = 2118;
pub const TT_MS_LANGID_ORIYA_INDIA: u32 = 1096;
pub const TT_MS_LANGID_MONGOLIAN_MONGOLIA_MONGOLIAN: u32 = 2128;
pub const TT_MS_LANGID_TIBETAN_CHINA: u32 = 1105;
pub const TT_MS_LANGID_DZONGHKA_BHUTAN: u32 = 2129;
pub const TT_MS_LANGID_TIBETAN_BHUTAN: u32 = 2129;
pub const TT_MS_LANGID_WELSH_WALES: u32 = 1106;
pub const TT_MS_LANGID_BURMESE_MYANMAR: u32 = 1109;
pub const TT_MS_LANGID_GALICIAN_SPAIN: u32 = 1110;
pub const TT_MS_LANGID_MANIPURI_INDIA: u32 = 1112;
pub const TT_MS_LANGID_SINDHI_INDIA: u32 = 1113;
pub const TT_MS_LANGID_SINDHI_PAKISTAN: u32 = 2137;
pub const TT_MS_LANGID_SINHALESE_SRI_LANKA: u32 = 1115;
pub const TT_MS_LANGID_CHEROKEE_UNITED_STATES: u32 = 1116;
pub const TT_MS_LANGID_TAMAZIGHT_MOROCCO: u32 = 1119;
pub const TT_MS_LANGID_TAMAZIGHT_MOROCCO_LATIN: u32 = 2143;
pub const TT_MS_LANGID_KASHMIRI_PAKISTAN: u32 = 1120;
pub const TT_MS_LANGID_KASHMIRI_SASIA: u32 = 2144;
pub const TT_MS_LANGID_KASHMIRI_INDIA: u32 = 2144;
pub const TT_MS_LANGID_NEPALI_INDIA: u32 = 2145;
pub const TT_MS_LANGID_DIVEHI_MALDIVES: u32 = 1125;
pub const TT_MS_LANGID_EDO_NIGERIA: u32 = 1126;
pub const TT_MS_LANGID_FULFULDE_NIGERIA: u32 = 1127;
pub const TT_MS_LANGID_IBIBIO_NIGERIA: u32 = 1129;
pub const TT_MS_LANGID_SEPEDI_SOUTH_AFRICA: u32 = 1132;
pub const TT_MS_LANGID_SOTHO_SOUTHERN_SOUTH_AFRICA: u32 = 1132;
pub const TT_MS_LANGID_KANURI_NIGERIA: u32 = 1137;
pub const TT_MS_LANGID_OROMO_ETHIOPIA: u32 = 1138;
pub const TT_MS_LANGID_TIGRIGNA_ETHIOPIA: u32 = 1139;
pub const TT_MS_LANGID_TIGRIGNA_ERYTHREA: u32 = 2163;
pub const TT_MS_LANGID_TIGRIGNA_ERYTREA: u32 = 2163;
pub const TT_MS_LANGID_GUARANI_PARAGUAY: u32 = 1140;
pub const TT_MS_LANGID_HAWAIIAN_UNITED_STATES: u32 = 1141;
pub const TT_MS_LANGID_LATIN: u32 = 1142;
pub const TT_MS_LANGID_SOMALI_SOMALIA: u32 = 1143;
pub const TT_MS_LANGID_YI_CHINA: u32 = 1144;
pub const TT_MS_LANGID_PAPIAMENTU_NETHERLANDS_ANTILLES: u32 = 1145;
pub const TT_MS_LANGID_UIGHUR_CHINA: u32 = 1152;
pub const TT_NAME_ID_COPYRIGHT: u32 = 0;
pub const TT_NAME_ID_FONT_FAMILY: u32 = 1;
pub const TT_NAME_ID_FONT_SUBFAMILY: u32 = 2;
pub const TT_NAME_ID_UNIQUE_ID: u32 = 3;
pub const TT_NAME_ID_FULL_NAME: u32 = 4;
pub const TT_NAME_ID_VERSION_STRING: u32 = 5;
pub const TT_NAME_ID_PS_NAME: u32 = 6;
pub const TT_NAME_ID_TRADEMARK: u32 = 7;
pub const TT_NAME_ID_MANUFACTURER: u32 = 8;
pub const TT_NAME_ID_DESIGNER: u32 = 9;
pub const TT_NAME_ID_DESCRIPTION: u32 = 10;
pub const TT_NAME_ID_VENDOR_URL: u32 = 11;
pub const TT_NAME_ID_DESIGNER_URL: u32 = 12;
pub const TT_NAME_ID_LICENSE: u32 = 13;
pub const TT_NAME_ID_LICENSE_URL: u32 = 14;
pub const TT_NAME_ID_TYPOGRAPHIC_FAMILY: u32 = 16;
pub const TT_NAME_ID_TYPOGRAPHIC_SUBFAMILY: u32 = 17;
pub const TT_NAME_ID_MAC_FULL_NAME: u32 = 18;
pub const TT_NAME_ID_SAMPLE_TEXT: u32 = 19;
pub const TT_NAME_ID_CID_FINDFONT_NAME: u32 = 20;
pub const TT_NAME_ID_WWS_FAMILY: u32 = 21;
pub const TT_NAME_ID_WWS_SUBFAMILY: u32 = 22;
pub const TT_NAME_ID_LIGHT_BACKGROUND: u32 = 23;
pub const TT_NAME_ID_DARK_BACKGROUND: u32 = 24;
pub const TT_NAME_ID_VARIATIONS_PREFIX: u32 = 25;
pub const TT_NAME_ID_PREFERRED_FAMILY: u32 = 16;
pub const TT_NAME_ID_PREFERRED_SUBFAMILY: u32 = 17;
pub const TT_UCR_BASIC_LATIN: u32 = 1;
pub const TT_UCR_LATIN1_SUPPLEMENT: u32 = 2;
pub const TT_UCR_LATIN_EXTENDED_A: u32 = 4;
pub const TT_UCR_LATIN_EXTENDED_B: u32 = 8;
pub const TT_UCR_IPA_EXTENSIONS: u32 = 16;
pub const TT_UCR_SPACING_MODIFIER: u32 = 32;
pub const TT_UCR_COMBINING_DIACRITICAL_MARKS: u32 = 64;
pub const TT_UCR_GREEK: u32 = 128;
pub const TT_UCR_COPTIC: u32 = 256;
pub const TT_UCR_CYRILLIC: u32 = 512;
pub const TT_UCR_ARMENIAN: u32 = 1024;
pub const TT_UCR_HEBREW: u32 = 2048;
pub const TT_UCR_VAI: u32 = 4096;
pub const TT_UCR_ARABIC: u32 = 8192;
pub const TT_UCR_NKO: u32 = 16384;
pub const TT_UCR_DEVANAGARI: u32 = 32768;
pub const TT_UCR_BENGALI: u32 = 65536;
pub const TT_UCR_GURMUKHI: u32 = 131072;
pub const TT_UCR_GUJARATI: u32 = 262144;
pub const TT_UCR_ORIYA: u32 = 524288;
pub const TT_UCR_TAMIL: u32 = 1048576;
pub const TT_UCR_TELUGU: u32 = 2097152;
pub const TT_UCR_KANNADA: u32 = 4194304;
pub const TT_UCR_MALAYALAM: u32 = 8388608;
pub const TT_UCR_THAI: u32 = 16777216;
pub const TT_UCR_LAO: u32 = 33554432;
pub const TT_UCR_GEORGIAN: u32 = 67108864;
pub const TT_UCR_BALINESE: u32 = 134217728;
pub const TT_UCR_HANGUL_JAMO: u32 = 268435456;
pub const TT_UCR_LATIN_EXTENDED_ADDITIONAL: u32 = 536870912;
pub const TT_UCR_GREEK_EXTENDED: u32 = 1073741824;
pub const TT_UCR_GENERAL_PUNCTUATION: u32 = 2147483648;
pub const TT_UCR_SUPERSCRIPTS_SUBSCRIPTS: u32 = 1;
pub const TT_UCR_CURRENCY_SYMBOLS: u32 = 2;
pub const TT_UCR_COMBINING_DIACRITICAL_MARKS_SYMB: u32 = 4;
pub const TT_UCR_LETTERLIKE_SYMBOLS: u32 = 8;
pub const TT_UCR_NUMBER_FORMS: u32 = 16;
pub const TT_UCR_ARROWS: u32 = 32;
pub const TT_UCR_MATHEMATICAL_OPERATORS: u32 = 64;
pub const TT_UCR_MISCELLANEOUS_TECHNICAL: u32 = 128;
pub const TT_UCR_CONTROL_PICTURES: u32 = 256;
pub const TT_UCR_OCR: u32 = 512;
pub const TT_UCR_ENCLOSED_ALPHANUMERICS: u32 = 1024;
pub const TT_UCR_BOX_DRAWING: u32 = 2048;
pub const TT_UCR_BLOCK_ELEMENTS: u32 = 4096;
pub const TT_UCR_GEOMETRIC_SHAPES: u32 = 8192;
pub const TT_UCR_MISCELLANEOUS_SYMBOLS: u32 = 16384;
pub const TT_UCR_DINGBATS: u32 = 32768;
pub const TT_UCR_CJK_SYMBOLS: u32 = 65536;
pub const TT_UCR_HIRAGANA: u32 = 131072;
pub const TT_UCR_KATAKANA: u32 = 262144;
pub const TT_UCR_BOPOMOFO: u32 = 524288;
pub const TT_UCR_HANGUL_COMPATIBILITY_JAMO: u32 = 1048576;
pub const TT_UCR_CJK_MISC: u32 = 2097152;
pub const TT_UCR_KANBUN: u32 = 2097152;
pub const TT_UCR_ENCLOSED_CJK_LETTERS_MONTHS: u32 = 4194304;
pub const TT_UCR_CJK_COMPATIBILITY: u32 = 8388608;
pub const TT_UCR_HANGUL: u32 = 16777216;
pub const TT_UCR_SURROGATES: u32 = 33554432;
pub const TT_UCR_NON_PLANE_0: u32 = 33554432;
pub const TT_UCR_PHOENICIAN: u32 = 67108864;
pub const TT_UCR_CJK_UNIFIED_IDEOGRAPHS: u32 = 134217728;
pub const TT_UCR_PRIVATE_USE: u32 = 268435456;
pub const TT_UCR_CJK_COMPATIBILITY_IDEOGRAPHS: u32 = 536870912;
pub const TT_UCR_ALPHABETIC_PRESENTATION_FORMS: u32 = 1073741824;
pub const TT_UCR_ARABIC_PRESENTATION_FORMS_A: u32 = 2147483648;
pub const TT_UCR_COMBINING_HALF_MARKS: u32 = 1;
pub const TT_UCR_CJK_COMPATIBILITY_FORMS: u32 = 2;
pub const TT_UCR_SMALL_FORM_VARIANTS: u32 = 4;
pub const TT_UCR_ARABIC_PRESENTATION_FORMS_B: u32 = 8;
pub const TT_UCR_HALFWIDTH_FULLWIDTH_FORMS: u32 = 16;
pub const TT_UCR_SPECIALS: u32 = 32;
pub const TT_UCR_TIBETAN: u32 = 64;
pub const TT_UCR_SYRIAC: u32 = 128;
pub const TT_UCR_THAANA: u32 = 256;
pub const TT_UCR_SINHALA: u32 = 512;
pub const TT_UCR_MYANMAR: u32 = 1024;
pub const TT_UCR_ETHIOPIC: u32 = 2048;
pub const TT_UCR_CHEROKEE: u32 = 4096;
pub const TT_UCR_CANADIAN_ABORIGINAL_SYLLABICS: u32 = 8192;
pub const TT_UCR_OGHAM: u32 = 16384;
pub const TT_UCR_RUNIC: u32 = 32768;
pub const TT_UCR_KHMER: u32 = 65536;
pub const TT_UCR_MONGOLIAN: u32 = 131072;
pub const TT_UCR_BRAILLE: u32 = 262144;
pub const TT_UCR_YI: u32 = 524288;
pub const TT_UCR_PHILIPPINE: u32 = 1048576;
pub const TT_UCR_OLD_ITALIC: u32 = 2097152;
pub const TT_UCR_GOTHIC: u32 = 4194304;
pub const TT_UCR_DESERET: u32 = 8388608;
pub const TT_UCR_MUSICAL_SYMBOLS: u32 = 16777216;
pub const TT_UCR_MATH_ALPHANUMERIC_SYMBOLS: u32 = 33554432;
pub const TT_UCR_PRIVATE_USE_SUPPLEMENTARY: u32 = 67108864;
pub const TT_UCR_VARIATION_SELECTORS: u32 = 134217728;
pub const TT_UCR_TAGS: u32 = 268435456;
pub const TT_UCR_LIMBU: u32 = 536870912;
pub const TT_UCR_TAI_LE: u32 = 1073741824;
pub const TT_UCR_NEW_TAI_LUE: u32 = 2147483648;
pub const TT_UCR_BUGINESE: u32 = 1;
pub const TT_UCR_GLAGOLITIC: u32 = 2;
pub const TT_UCR_TIFINAGH: u32 = 4;
pub const TT_UCR_YIJING: u32 = 8;
pub const TT_UCR_SYLOTI_NAGRI: u32 = 16;
pub const TT_UCR_LINEAR_B: u32 = 32;
pub const TT_UCR_ANCIENT_GREEK_NUMBERS: u32 = 64;
pub const TT_UCR_UGARITIC: u32 = 128;
pub const TT_UCR_OLD_PERSIAN: u32 = 256;
pub const TT_UCR_SHAVIAN: u32 = 512;
pub const TT_UCR_OSMANYA: u32 = 1024;
pub const TT_UCR_CYPRIOT_SYLLABARY: u32 = 2048;
pub const TT_UCR_KHAROSHTHI: u32 = 4096;
pub const TT_UCR_TAI_XUAN_JING: u32 = 8192;
pub const TT_UCR_CUNEIFORM: u32 = 16384;
pub const TT_UCR_COUNTING_ROD_NUMERALS: u32 = 32768;
pub const TT_UCR_SUNDANESE: u32 = 65536;
pub const TT_UCR_LEPCHA: u32 = 131072;
pub const TT_UCR_OL_CHIKI: u32 = 262144;
pub const TT_UCR_SAURASHTRA: u32 = 524288;
pub const TT_UCR_KAYAH_LI: u32 = 1048576;
pub const TT_UCR_REJANG: u32 = 2097152;
pub const TT_UCR_CHAM: u32 = 4194304;
pub const TT_UCR_ANCIENT_SYMBOLS: u32 = 8388608;
pub const TT_UCR_PHAISTOS_DISC: u32 = 16777216;
pub const TT_UCR_OLD_ANATOLIAN: u32 = 33554432;
pub const TT_UCR_GAME_TILES: u32 = 67108864;
pub const TT_UCR_ARABIC_PRESENTATION_A: u32 = 2147483648;
pub const TT_UCR_ARABIC_PRESENTATION_B: u32 = 8;
pub const TT_UCR_COMBINING_DIACRITICS: u32 = 64;
pub const TT_UCR_COMBINING_DIACRITICS_SYMB: u32 = 4;
pub type FT_Fast = ::std::os::raw::c_int;
pub type FT_UFast = ::std::os::raw::c_uint;
pub type FT_Memory = *mut FT_MemoryRec_;
pub type FT_Alloc_Func = ::std::option::Option<
    unsafe extern "C" fn(
        memory: FT_Memory,
        size: ::std::os::raw::c_long,
    ) -> *mut ::std::os::raw::c_void,
>;
pub type FT_Free_Func = ::std::option::Option<
    unsafe extern "C" fn(memory: FT_Memory, block: *mut ::std::os::raw::c_void),
>;
pub type FT_Realloc_Func = ::std::option::Option<
    unsafe extern "C" fn(
        memory: FT_Memory,
        cur_size: ::std::os::raw::c_long,
        new_size: ::std::os::raw::c_long,
        block: *mut ::std::os::raw::c_void,
    ) -> *mut ::std::os::raw::c_void,
>;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct FT_MemoryRec_ {
    pub user: *mut ::std::os::raw::c_void,
    pub alloc: FT_Alloc_Func,
    pub free: FT_Free_Func,
    pub realloc: FT_Realloc_Func,
}
pub type FT_Stream = *mut FT_StreamRec_;
#[repr(C)]
#[derive(Copy, Clone)]
pub union FT_StreamDesc_ {
    pub value: ::std::os::raw::c_long,
    pub pointer: *mut ::std::os::raw::c_void,
}
pub type FT_StreamDesc = FT_StreamDesc_;
pub type FT_Stream_IoFunc = ::std::option::Option<
    unsafe extern "C" fn(
        stream: FT_Stream,
        offset: ::std::os::raw::c_ulong,
        buffer: *mut ::std::os::raw::c_uchar,
        count: ::std::os::raw::c_ulong,
    ) -> ::std::os::raw::c_ulong,
>;
pub type FT_Stream_CloseFunc = ::std::option::Option<unsafe extern "C" fn(stream: FT_Stream)>;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct FT_StreamRec_ {
    pub base: *mut ::std::os::raw::c_uchar,
    pub size: ::std::os::raw::c_ulong,
    pub pos: ::std::os::raw::c_ulong,
    pub descriptor: FT_StreamDesc,
    pub pathname: FT_StreamDesc,
    pub read: FT_Stream_IoFunc,
    pub close: FT_Stream_CloseFunc,
    pub memory: FT_Memory,
    pub cursor: *mut ::std::os::raw::c_uchar,
    pub limit: *mut ::std::os::raw::c_uchar,
}
pub type FT_StreamRec = FT_StreamRec_;
//pub type FT_Pos = ::std::os::raw::c_long;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct FT_Vector_ {
    pub x: FT_Pos,
    pub y: FT_Pos,
}
pub type FT_Vector = FT_Vector_;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct FT_BBox_ {
    pub xMin: FT_Pos,
    pub yMin: FT_Pos,
    pub xMax: FT_Pos,
    pub yMax: FT_Pos,
}
pub type FT_BBox = FT_BBox_;
#[repr(u32)]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum FT_Pixel_Mode_ {
    FT_PIXEL_MODE_NONE = 0,
    FT_PIXEL_MODE_MONO = 1,
    FT_PIXEL_MODE_GRAY = 2,
    FT_PIXEL_MODE_GRAY2 = 3,
    FT_PIXEL_MODE_GRAY4 = 4,
    FT_PIXEL_MODE_LCD = 5,
    FT_PIXEL_MODE_LCD_V = 6,
    FT_PIXEL_MODE_BGRA = 7,
    FT_PIXEL_MODE_MAX = 8,
}
pub use self::FT_Pixel_Mode_ as FT_Pixel_Mode;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct FT_Bitmap_ {
    pub rows: ::std::os::raw::c_uint,
    pub width: ::std::os::raw::c_uint,
    pub pitch: ::std::os::raw::c_int,
    pub buffer: *mut ::std::os::raw::c_uchar,
    pub num_grays: ::std::os::raw::c_ushort,
    pub pixel_mode: ::std::os::raw::c_uchar,
    pub palette_mode: ::std::os::raw::c_uchar,
    pub palette: *mut ::std::os::raw::c_void,
}
pub type FT_Bitmap = FT_Bitmap_;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct FT_Outline_ {
    pub n_contours: ::std::os::raw::c_short,
    pub n_points: ::std::os::raw::c_short,
    pub points: *mut FT_Vector,
    pub tags: *mut ::std::os::raw::c_char,
    pub contours: *mut ::std::os::raw::c_short,
    pub flags: ::std::os::raw::c_int,
}
pub type FT_Outline = FT_Outline_;
pub type FT_Outline_MoveToFunc = ::std::option::Option<
    unsafe extern "C" fn(
        to: *const FT_Vector,
        user: *mut ::std::os::raw::c_void,
    ) -> ::std::os::raw::c_int,
>;
pub type FT_Outline_LineToFunc = ::std::option::Option<
    unsafe extern "C" fn(
        to: *const FT_Vector,
        user: *mut ::std::os::raw::c_void,
    ) -> ::std::os::raw::c_int,
>;
pub type FT_Outline_ConicToFunc = ::std::option::Option<
    unsafe extern "C" fn(
        control: *const FT_Vector,
        to: *const FT_Vector,
        user: *mut ::std::os::raw::c_void,
    ) -> ::std::os::raw::c_int,
>;
pub type FT_Outline_CubicToFunc = ::std::option::Option<
    unsafe extern "C" fn(
        control1: *const FT_Vector,
        control2: *const FT_Vector,
        to: *const FT_Vector,
        user: *mut ::std::os::raw::c_void,
    ) -> ::std::os::raw::c_int,
>;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct FT_Outline_Funcs_ {
    pub move_to: FT_Outline_MoveToFunc,
    pub line_to: FT_Outline_LineToFunc,
    pub conic_to: FT_Outline_ConicToFunc,
    pub cubic_to: FT_Outline_CubicToFunc,
    pub shift: ::std::os::raw::c_int,
    pub delta: FT_Pos,
}
pub type FT_Outline_Funcs = FT_Outline_Funcs_;
#[repr(u32)]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum FT_Glyph_Format_ {
    FT_GLYPH_FORMAT_NONE = 0,
    FT_GLYPH_FORMAT_COMPOSITE = 1668246896,
    FT_GLYPH_FORMAT_BITMAP = 1651078259,
    FT_GLYPH_FORMAT_OUTLINE = 1869968492,
    FT_GLYPH_FORMAT_PLOTTER = 1886154612,
    FT_GLYPH_FORMAT_SVG = 1398163232,
}
pub use self::FT_Glyph_Format_ as FT_Glyph_Format;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct FT_Span_ {
    pub x: ::std::os::raw::c_short,
    pub len: ::std::os::raw::c_ushort,
    pub coverage: ::std::os::raw::c_uchar,
}
pub type FT_Span = FT_Span_;
pub type FT_SpanFunc = ::std::option::Option<
    unsafe extern "C" fn(
        y: ::std::os::raw::c_int,
        count: ::std::os::raw::c_int,
        spans: *const FT_Span,
        user: *mut ::std::os::raw::c_void,
    ),
>;
pub type FT_Raster_BitTest_Func = ::std::option::Option<
    unsafe extern "C" fn(
        y: ::std::os::raw::c_int,
        x: ::std::os::raw::c_int,
        user: *mut ::std::os::raw::c_void,
    ) -> ::std::os::raw::c_int,
>;
pub type FT_Raster_BitSet_Func = ::std::option::Option<
    unsafe extern "C" fn(
        y: ::std::os::raw::c_int,
        x: ::std::os::raw::c_int,
        user: *mut ::std::os::raw::c_void,
    ),
>;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct FT_Raster_Params_ {
    pub target: *const FT_Bitmap,
    pub source: *const ::std::os::raw::c_void,
    pub flags: ::std::os::raw::c_int,
    pub gray_spans: FT_SpanFunc,
    pub black_spans: FT_SpanFunc,
    pub bit_test: FT_Raster_BitTest_Func,
    pub bit_set: FT_Raster_BitSet_Func,
    pub user: *mut ::std::os::raw::c_void,
    pub clip_box: FT_BBox,
}
pub type FT_Raster_Params = FT_Raster_Params_;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct FT_RasterRec_ {
    _unused: [u8; 0],
}
pub type FT_Raster = *mut FT_RasterRec_;
pub type FT_Raster_NewFunc = ::std::option::Option<
    unsafe extern "C" fn(
        memory: *mut ::std::os::raw::c_void,
        raster: *mut FT_Raster,
    ) -> ::std::os::raw::c_int,
>;
pub type FT_Raster_DoneFunc = ::std::option::Option<unsafe extern "C" fn(raster: FT_Raster)>;
pub type FT_Raster_ResetFunc = ::std::option::Option<
    unsafe extern "C" fn(
        raster: FT_Raster,
        pool_base: *mut ::std::os::raw::c_uchar,
        pool_size: ::std::os::raw::c_ulong,
    ),
>;
pub type FT_Raster_SetModeFunc = ::std::option::Option<
    unsafe extern "C" fn(
        raster: FT_Raster,
        mode: ::std::os::raw::c_ulong,
        args: *mut ::std::os::raw::c_void,
    ) -> ::std::os::raw::c_int,
>;
pub type FT_Raster_RenderFunc = ::std::option::Option<
    unsafe extern "C" fn(
        raster: FT_Raster,
        params: *const FT_Raster_Params,
    ) -> ::std::os::raw::c_int,
>;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct FT_Raster_Funcs_ {
    pub glyph_format: FT_Glyph_Format,
    pub raster_new: FT_Raster_NewFunc,
    pub raster_reset: FT_Raster_ResetFunc,
    pub raster_set_mode: FT_Raster_SetModeFunc,
    pub raster_render: FT_Raster_RenderFunc,
    pub raster_done: FT_Raster_DoneFunc,
}
pub type FT_Raster_Funcs = FT_Raster_Funcs_;
pub type FT_Bool = ::std::os::raw::c_uchar;
pub type FT_FWord = ::std::os::raw::c_short;
pub type FT_UFWord = ::std::os::raw::c_ushort;
pub type FT_Char = ::std::os::raw::c_schar;
pub type FT_Byte = ::std::os::raw::c_uchar;
pub type FT_Bytes = *const FT_Byte;
pub type FT_Tag = FT_UInt32;
pub type FT_String = ::std::os::raw::c_char;
pub type FT_Short = ::std::os::raw::c_short;
pub type FT_UShort = ::std::os::raw::c_ushort;
pub type FT_Int = ::std::os::raw::c_int;
pub type FT_UInt = ::std::os::raw::c_uint;
pub type FT_Long = ::std::os::raw::c_long;
pub type FT_ULong = ::std::os::raw::c_ulong;
//pub type FT_F2Dot14 = ::std::os::raw::c_short;
//pub type FT_F26Dot6 = ::std::os::raw::c_long;
//pub type FT_Fixed = ::std::os::raw::c_long;
pub type FT_Error = ::std::os::raw::c_int;
pub type FT_Pointer = *mut ::std::os::raw::c_void;
pub type FT_Offset = usize;
pub type FT_PtrDist = isize;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct FT_UnitVector_ {
    pub x: FT_F2Dot14,
    pub y: FT_F2Dot14,
}
pub type FT_UnitVector = FT_UnitVector_;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct FT_Matrix_ {
    pub xx: FT_Fixed,
    pub xy: FT_Fixed,
    pub yx: FT_Fixed,
    pub yy: FT_Fixed,
}
pub type FT_Matrix = FT_Matrix_;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct FT_Data_ {
    pub pointer: *const FT_Byte,
    pub length: FT_UInt,
}
pub type FT_Data = FT_Data_;
pub type FT_Generic_Finalizer =
    ::std::option::Option<unsafe extern "C" fn(object: *mut ::std::os::raw::c_void)>;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct FT_Generic_ {
    pub data: *mut ::std::os::raw::c_void,
    pub finalizer: FT_Generic_Finalizer,
}
pub type FT_Generic = FT_Generic_;
pub type FT_ListNode = *mut FT_ListNodeRec_;
pub type FT_List = *mut FT_ListRec_;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct FT_ListNodeRec_ {
    pub prev: FT_ListNode,
    pub next: FT_ListNode,
    pub data: *mut ::std::os::raw::c_void,
}
pub type FT_ListNodeRec = FT_ListNodeRec_;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct FT_ListRec_ {
    pub head: FT_ListNode,
    pub tail: FT_ListNode,
}
pub type FT_ListRec = FT_ListRec_;
pub const FT_Mod_Err_Base: _bindgen_ty_1 = _bindgen_ty_1::FT_Mod_Err_Base;
pub const FT_Mod_Err_Autofit: _bindgen_ty_1 = _bindgen_ty_1::FT_Mod_Err_Base;
pub const FT_Mod_Err_BDF: _bindgen_ty_1 = _bindgen_ty_1::FT_Mod_Err_Base;
pub const FT_Mod_Err_Bzip2: _bindgen_ty_1 = _bindgen_ty_1::FT_Mod_Err_Base;
pub const FT_Mod_Err_Cache: _bindgen_ty_1 = _bindgen_ty_1::FT_Mod_Err_Base;
pub const FT_Mod_Err_CFF: _bindgen_ty_1 = _bindgen_ty_1::FT_Mod_Err_Base;
pub const FT_Mod_Err_CID: _bindgen_ty_1 = _bindgen_ty_1::FT_Mod_Err_Base;
pub const FT_Mod_Err_Gzip: _bindgen_ty_1 = _bindgen_ty_1::FT_Mod_Err_Base;
pub const FT_Mod_Err_LZW: _bindgen_ty_1 = _bindgen_ty_1::FT_Mod_Err_Base;
pub const FT_Mod_Err_OTvalid: _bindgen_ty_1 = _bindgen_ty_1::FT_Mod_Err_Base;
pub const FT_Mod_Err_PCF: _bindgen_ty_1 = _bindgen_ty_1::FT_Mod_Err_Base;
pub const FT_Mod_Err_PFR: _bindgen_ty_1 = _bindgen_ty_1::FT_Mod_Err_Base;
pub const FT_Mod_Err_PSaux: _bindgen_ty_1 = _bindgen_ty_1::FT_Mod_Err_Base;
pub const FT_Mod_Err_PShinter: _bindgen_ty_1 = _bindgen_ty_1::FT_Mod_Err_Base;
pub const FT_Mod_Err_PSnames: _bindgen_ty_1 = _bindgen_ty_1::FT_Mod_Err_Base;
pub const FT_Mod_Err_Raster: _bindgen_ty_1 = _bindgen_ty_1::FT_Mod_Err_Base;
pub const FT_Mod_Err_SFNT: _bindgen_ty_1 = _bindgen_ty_1::FT_Mod_Err_Base;
pub const FT_Mod_Err_Smooth: _bindgen_ty_1 = _bindgen_ty_1::FT_Mod_Err_Base;
pub const FT_Mod_Err_TrueType: _bindgen_ty_1 = _bindgen_ty_1::FT_Mod_Err_Base;
pub const FT_Mod_Err_Type1: _bindgen_ty_1 = _bindgen_ty_1::FT_Mod_Err_Base;
pub const FT_Mod_Err_Type42: _bindgen_ty_1 = _bindgen_ty_1::FT_Mod_Err_Base;
pub const FT_Mod_Err_Winfonts: _bindgen_ty_1 = _bindgen_ty_1::FT_Mod_Err_Base;
pub const FT_Mod_Err_GXvalid: _bindgen_ty_1 = _bindgen_ty_1::FT_Mod_Err_Base;
pub const FT_Mod_Err_Sdf: _bindgen_ty_1 = _bindgen_ty_1::FT_Mod_Err_Base;
pub const FT_Mod_Err_Max: _bindgen_ty_1 = _bindgen_ty_1::FT_Mod_Err_Max;
#[repr(u32)]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum _bindgen_ty_1 {
    FT_Mod_Err_Base = 0,
    FT_Mod_Err_Max = 1,
}
pub const FT_Err_Ok: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_Ok;
pub const FT_Err_Cannot_Open_Resource: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_Cannot_Open_Resource;
pub const FT_Err_Unknown_File_Format: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_Unknown_File_Format;
pub const FT_Err_Invalid_File_Format: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_Invalid_File_Format;
pub const FT_Err_Invalid_Version: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_Invalid_Version;
pub const FT_Err_Lower_Module_Version: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_Lower_Module_Version;
pub const FT_Err_Invalid_Argument: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_Invalid_Argument;
pub const FT_Err_Unimplemented_Feature: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_Unimplemented_Feature;
pub const FT_Err_Invalid_Table: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_Invalid_Table;
pub const FT_Err_Invalid_Offset: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_Invalid_Offset;
pub const FT_Err_Array_Too_Large: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_Array_Too_Large;
pub const FT_Err_Missing_Module: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_Missing_Module;
pub const FT_Err_Missing_Property: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_Missing_Property;
pub const FT_Err_Invalid_Glyph_Index: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_Invalid_Glyph_Index;
pub const FT_Err_Invalid_Character_Code: _bindgen_ty_2 =
    _bindgen_ty_2::FT_Err_Invalid_Character_Code;
pub const FT_Err_Invalid_Glyph_Format: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_Invalid_Glyph_Format;
pub const FT_Err_Cannot_Render_Glyph: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_Cannot_Render_Glyph;
pub const FT_Err_Invalid_Outline: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_Invalid_Outline;
pub const FT_Err_Invalid_Composite: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_Invalid_Composite;
pub const FT_Err_Too_Many_Hints: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_Too_Many_Hints;
pub const FT_Err_Invalid_Pixel_Size: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_Invalid_Pixel_Size;
pub const FT_Err_Invalid_SVG_Document: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_Invalid_SVG_Document;
pub const FT_Err_Invalid_Handle: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_Invalid_Handle;
pub const FT_Err_Invalid_Library_Handle: _bindgen_ty_2 =
    _bindgen_ty_2::FT_Err_Invalid_Library_Handle;
pub const FT_Err_Invalid_Driver_Handle: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_Invalid_Driver_Handle;
pub const FT_Err_Invalid_Face_Handle: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_Invalid_Face_Handle;
pub const FT_Err_Invalid_Size_Handle: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_Invalid_Size_Handle;
pub const FT_Err_Invalid_Slot_Handle: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_Invalid_Slot_Handle;
pub const FT_Err_Invalid_CharMap_Handle: _bindgen_ty_2 =
    _bindgen_ty_2::FT_Err_Invalid_CharMap_Handle;
pub const FT_Err_Invalid_Cache_Handle: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_Invalid_Cache_Handle;
pub const FT_Err_Invalid_Stream_Handle: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_Invalid_Stream_Handle;
pub const FT_Err_Too_Many_Drivers: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_Too_Many_Drivers;
pub const FT_Err_Too_Many_Extensions: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_Too_Many_Extensions;
pub const FT_Err_Out_Of_Memory: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_Out_Of_Memory;
pub const FT_Err_Unlisted_Object: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_Unlisted_Object;
pub const FT_Err_Cannot_Open_Stream: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_Cannot_Open_Stream;
pub const FT_Err_Invalid_Stream_Seek: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_Invalid_Stream_Seek;
pub const FT_Err_Invalid_Stream_Skip: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_Invalid_Stream_Skip;
pub const FT_Err_Invalid_Stream_Read: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_Invalid_Stream_Read;
pub const FT_Err_Invalid_Stream_Operation: _bindgen_ty_2 =
    _bindgen_ty_2::FT_Err_Invalid_Stream_Operation;
pub const FT_Err_Invalid_Frame_Operation: _bindgen_ty_2 =
    _bindgen_ty_2::FT_Err_Invalid_Frame_Operation;
pub const FT_Err_Nested_Frame_Access: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_Nested_Frame_Access;
pub const FT_Err_Invalid_Frame_Read: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_Invalid_Frame_Read;
pub const FT_Err_Raster_Uninitialized: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_Raster_Uninitialized;
pub const FT_Err_Raster_Corrupted: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_Raster_Corrupted;
pub const FT_Err_Raster_Overflow: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_Raster_Overflow;
pub const FT_Err_Raster_Negative_Height: _bindgen_ty_2 =
    _bindgen_ty_2::FT_Err_Raster_Negative_Height;
pub const FT_Err_Too_Many_Caches: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_Too_Many_Caches;
pub const FT_Err_Invalid_Opcode: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_Invalid_Opcode;
pub const FT_Err_Too_Few_Arguments: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_Too_Few_Arguments;
pub const FT_Err_Stack_Overflow: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_Stack_Overflow;
pub const FT_Err_Code_Overflow: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_Code_Overflow;
pub const FT_Err_Bad_Argument: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_Bad_Argument;
pub const FT_Err_Divide_By_Zero: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_Divide_By_Zero;
pub const FT_Err_Invalid_Reference: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_Invalid_Reference;
pub const FT_Err_Debug_OpCode: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_Debug_OpCode;
pub const FT_Err_ENDF_In_Exec_Stream: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_ENDF_In_Exec_Stream;
pub const FT_Err_Nested_DEFS: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_Nested_DEFS;
pub const FT_Err_Invalid_CodeRange: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_Invalid_CodeRange;
pub const FT_Err_Execution_Too_Long: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_Execution_Too_Long;
pub const FT_Err_Too_Many_Function_Defs: _bindgen_ty_2 =
    _bindgen_ty_2::FT_Err_Too_Many_Function_Defs;
pub const FT_Err_Too_Many_Instruction_Defs: _bindgen_ty_2 =
    _bindgen_ty_2::FT_Err_Too_Many_Instruction_Defs;
pub const FT_Err_Table_Missing: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_Table_Missing;
pub const FT_Err_Horiz_Header_Missing: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_Horiz_Header_Missing;
pub const FT_Err_Locations_Missing: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_Locations_Missing;
pub const FT_Err_Name_Table_Missing: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_Name_Table_Missing;
pub const FT_Err_CMap_Table_Missing: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_CMap_Table_Missing;
pub const FT_Err_Hmtx_Table_Missing: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_Hmtx_Table_Missing;
pub const FT_Err_Post_Table_Missing: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_Post_Table_Missing;
pub const FT_Err_Invalid_Horiz_Metrics: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_Invalid_Horiz_Metrics;
pub const FT_Err_Invalid_CharMap_Format: _bindgen_ty_2 =
    _bindgen_ty_2::FT_Err_Invalid_CharMap_Format;
pub const FT_Err_Invalid_PPem: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_Invalid_PPem;
pub const FT_Err_Invalid_Vert_Metrics: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_Invalid_Vert_Metrics;
pub const FT_Err_Could_Not_Find_Context: _bindgen_ty_2 =
    _bindgen_ty_2::FT_Err_Could_Not_Find_Context;
pub const FT_Err_Invalid_Post_Table_Format: _bindgen_ty_2 =
    _bindgen_ty_2::FT_Err_Invalid_Post_Table_Format;
pub const FT_Err_Invalid_Post_Table: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_Invalid_Post_Table;
pub const FT_Err_DEF_In_Glyf_Bytecode: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_DEF_In_Glyf_Bytecode;
pub const FT_Err_Missing_Bitmap: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_Missing_Bitmap;
pub const FT_Err_Missing_SVG_Hooks: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_Missing_SVG_Hooks;
pub const FT_Err_Syntax_Error: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_Syntax_Error;
pub const FT_Err_Stack_Underflow: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_Stack_Underflow;
pub const FT_Err_Ignore: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_Ignore;
pub const FT_Err_No_Unicode_Glyph_Name: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_No_Unicode_Glyph_Name;
pub const FT_Err_Glyph_Too_Big: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_Glyph_Too_Big;
pub const FT_Err_Missing_Startfont_Field: _bindgen_ty_2 =
    _bindgen_ty_2::FT_Err_Missing_Startfont_Field;
pub const FT_Err_Missing_Font_Field: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_Missing_Font_Field;
pub const FT_Err_Missing_Size_Field: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_Missing_Size_Field;
pub const FT_Err_Missing_Fontboundingbox_Field: _bindgen_ty_2 =
    _bindgen_ty_2::FT_Err_Missing_Fontboundingbox_Field;
pub const FT_Err_Missing_Chars_Field: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_Missing_Chars_Field;
pub const FT_Err_Missing_Startchar_Field: _bindgen_ty_2 =
    _bindgen_ty_2::FT_Err_Missing_Startchar_Field;
pub const FT_Err_Missing_Encoding_Field: _bindgen_ty_2 =
    _bindgen_ty_2::FT_Err_Missing_Encoding_Field;
pub const FT_Err_Missing_Bbx_Field: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_Missing_Bbx_Field;
pub const FT_Err_Bbx_Too_Big: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_Bbx_Too_Big;
pub const FT_Err_Corrupted_Font_Header: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_Corrupted_Font_Header;
pub const FT_Err_Corrupted_Font_Glyphs: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_Corrupted_Font_Glyphs;
pub const FT_Err_Max: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_Max;
#[repr(u32)]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum _bindgen_ty_2 {
    FT_Err_Ok = 0,
    FT_Err_Cannot_Open_Resource = 1,
    FT_Err_Unknown_File_Format = 2,
    FT_Err_Invalid_File_Format = 3,
    FT_Err_Invalid_Version = 4,
    FT_Err_Lower_Module_Version = 5,
    FT_Err_Invalid_Argument = 6,
    FT_Err_Unimplemented_Feature = 7,
    FT_Err_Invalid_Table = 8,
    FT_Err_Invalid_Offset = 9,
    FT_Err_Array_Too_Large = 10,
    FT_Err_Missing_Module = 11,
    FT_Err_Missing_Property = 12,
    FT_Err_Invalid_Glyph_Index = 16,
    FT_Err_Invalid_Character_Code = 17,
    FT_Err_Invalid_Glyph_Format = 18,
    FT_Err_Cannot_Render_Glyph = 19,
    FT_Err_Invalid_Outline = 20,
    FT_Err_Invalid_Composite = 21,
    FT_Err_Too_Many_Hints = 22,
    FT_Err_Invalid_Pixel_Size = 23,
    FT_Err_Invalid_SVG_Document = 24,
    FT_Err_Invalid_Handle = 32,
    FT_Err_Invalid_Library_Handle = 33,
    FT_Err_Invalid_Driver_Handle = 34,
    FT_Err_Invalid_Face_Handle = 35,
    FT_Err_Invalid_Size_Handle = 36,
    FT_Err_Invalid_Slot_Handle = 37,
    FT_Err_Invalid_CharMap_Handle = 38,
    FT_Err_Invalid_Cache_Handle = 39,
    FT_Err_Invalid_Stream_Handle = 40,
    FT_Err_Too_Many_Drivers = 48,
    FT_Err_Too_Many_Extensions = 49,
    FT_Err_Out_Of_Memory = 64,
    FT_Err_Unlisted_Object = 65,
    FT_Err_Cannot_Open_Stream = 81,
    FT_Err_Invalid_Stream_Seek = 82,
    FT_Err_Invalid_Stream_Skip = 83,
    FT_Err_Invalid_Stream_Read = 84,
    FT_Err_Invalid_Stream_Operation = 85,
    FT_Err_Invalid_Frame_Operation = 86,
    FT_Err_Nested_Frame_Access = 87,
    FT_Err_Invalid_Frame_Read = 88,
    FT_Err_Raster_Uninitialized = 96,
    FT_Err_Raster_Corrupted = 97,
    FT_Err_Raster_Overflow = 98,
    FT_Err_Raster_Negative_Height = 99,
    FT_Err_Too_Many_Caches = 112,
    FT_Err_Invalid_Opcode = 128,
    FT_Err_Too_Few_Arguments = 129,
    FT_Err_Stack_Overflow = 130,
    FT_Err_Code_Overflow = 131,
    FT_Err_Bad_Argument = 132,
    FT_Err_Divide_By_Zero = 133,
    FT_Err_Invalid_Reference = 134,
    FT_Err_Debug_OpCode = 135,
    FT_Err_ENDF_In_Exec_Stream = 136,
    FT_Err_Nested_DEFS = 137,
    FT_Err_Invalid_CodeRange = 138,
    FT_Err_Execution_Too_Long = 139,
    FT_Err_Too_Many_Function_Defs = 140,
    FT_Err_Too_Many_Instruction_Defs = 141,
    FT_Err_Table_Missing = 142,
    FT_Err_Horiz_Header_Missing = 143,
    FT_Err_Locations_Missing = 144,
    FT_Err_Name_Table_Missing = 145,
    FT_Err_CMap_Table_Missing = 146,
    FT_Err_Hmtx_Table_Missing = 147,
    FT_Err_Post_Table_Missing = 148,
    FT_Err_Invalid_Horiz_Metrics = 149,
    FT_Err_Invalid_CharMap_Format = 150,
    FT_Err_Invalid_PPem = 151,
    FT_Err_Invalid_Vert_Metrics = 152,
    FT_Err_Could_Not_Find_Context = 153,
    FT_Err_Invalid_Post_Table_Format = 154,
    FT_Err_Invalid_Post_Table = 155,
    FT_Err_DEF_In_Glyf_Bytecode = 156,
    FT_Err_Missing_Bitmap = 157,
    FT_Err_Missing_SVG_Hooks = 158,
    FT_Err_Syntax_Error = 160,
    FT_Err_Stack_Underflow = 161,
    FT_Err_Ignore = 162,
    FT_Err_No_Unicode_Glyph_Name = 163,
    FT_Err_Glyph_Too_Big = 164,
    FT_Err_Missing_Startfont_Field = 176,
    FT_Err_Missing_Font_Field = 177,
    FT_Err_Missing_Size_Field = 178,
    FT_Err_Missing_Fontboundingbox_Field = 179,
    FT_Err_Missing_Chars_Field = 180,
    FT_Err_Missing_Startchar_Field = 181,
    FT_Err_Missing_Encoding_Field = 182,
    FT_Err_Missing_Bbx_Field = 183,
    FT_Err_Bbx_Too_Big = 184,
    FT_Err_Corrupted_Font_Header = 185,
    FT_Err_Corrupted_Font_Glyphs = 186,
    FT_Err_Max = 187,
}
extern "C" {
    pub fn FT_Error_String(error_code: FT_Error) -> *const ::std::os::raw::c_char;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct FT_Glyph_Metrics_ {
    pub width: FT_Pos,
    pub height: FT_Pos,
    pub horiBearingX: FT_Pos,
    pub horiBearingY: FT_Pos,
    pub horiAdvance: FT_Pos,
    pub vertBearingX: FT_Pos,
    pub vertBearingY: FT_Pos,
    pub vertAdvance: FT_Pos,
}
pub type FT_Glyph_Metrics = FT_Glyph_Metrics_;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct FT_Bitmap_Size_ {
    pub height: FT_Short,
    pub width: FT_Short,
    pub size: FT_Pos,
    pub x_ppem: FT_Pos,
    pub y_ppem: FT_Pos,
}
pub type FT_Bitmap_Size = FT_Bitmap_Size_;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct FT_LibraryRec_ {
    _unused: [u8; 0],
}
pub type FT_Library = *mut FT_LibraryRec_;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct FT_ModuleRec_ {
    _unused: [u8; 0],
}
pub type FT_Module = *mut FT_ModuleRec_;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct FT_DriverRec_ {
    _unused: [u8; 0],
}
pub type FT_Driver = *mut FT_DriverRec_;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct FT_RendererRec_ {
    _unused: [u8; 0],
}
pub type FT_Renderer = *mut FT_RendererRec_;
pub type FT_Face = *mut FT_FaceRec_;
pub type FT_Size = *mut FT_SizeRec_;
pub type FT_GlyphSlot = *mut FT_GlyphSlotRec_;
pub type FT_CharMap = *mut FT_CharMapRec_;
impl FT_Encoding_ {
    pub const FT_ENCODING_GB2312: FT_Encoding_ = FT_Encoding_::FT_ENCODING_PRC;
}
impl FT_Encoding_ {
    pub const FT_ENCODING_MS_SJIS: FT_Encoding_ = FT_Encoding_::FT_ENCODING_SJIS;
}
impl FT_Encoding_ {
    pub const FT_ENCODING_MS_GB2312: FT_Encoding_ = FT_Encoding_::FT_ENCODING_PRC;
}
impl FT_Encoding_ {
    pub const FT_ENCODING_MS_BIG5: FT_Encoding_ = FT_Encoding_::FT_ENCODING_BIG5;
}
impl FT_Encoding_ {
    pub const FT_ENCODING_MS_WANSUNG: FT_Encoding_ = FT_Encoding_::FT_ENCODING_WANSUNG;
}
impl FT_Encoding_ {
    pub const FT_ENCODING_MS_JOHAB: FT_Encoding_ = FT_Encoding_::FT_ENCODING_JOHAB;
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum FT_Encoding_ {
    FT_ENCODING_NONE = 0,
    FT_ENCODING_MS_SYMBOL = 1937337698,
    FT_ENCODING_UNICODE = 1970170211,
    FT_ENCODING_SJIS = 1936353651,
    FT_ENCODING_PRC = 1734484000,
    FT_ENCODING_BIG5 = 1651074869,
    FT_ENCODING_WANSUNG = 2002873971,
    FT_ENCODING_JOHAB = 1785686113,
    FT_ENCODING_ADOBE_STANDARD = 1094995778,
    FT_ENCODING_ADOBE_EXPERT = 1094992453,
    FT_ENCODING_ADOBE_CUSTOM = 1094992451,
    FT_ENCODING_ADOBE_LATIN_1 = 1818326065,
    FT_ENCODING_OLD_LATIN_2 = 1818326066,
    FT_ENCODING_APPLE_ROMAN = 1634889070,
}
pub use self::FT_Encoding_ as FT_Encoding;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct FT_CharMapRec_ {
    pub face: FT_Face,
    pub encoding: FT_Encoding,
    pub platform_id: FT_UShort,
    pub encoding_id: FT_UShort,
}
pub type FT_CharMapRec = FT_CharMapRec_;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct FT_Face_InternalRec_ {
    _unused: [u8; 0],
}
pub type FT_Face_Internal = *mut FT_Face_InternalRec_;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct FT_FaceRec_ {
    pub num_faces: FT_Long,
    pub face_index: FT_Long,
    pub face_flags: FT_Long,
    pub style_flags: FT_Long,
    pub num_glyphs: FT_Long,
    pub family_name: *mut FT_String,
    pub style_name: *mut FT_String,
    pub num_fixed_sizes: FT_Int,
    pub available_sizes: *mut FT_Bitmap_Size,
    pub num_charmaps: FT_Int,
    pub charmaps: *mut FT_CharMap,
    pub generic: FT_Generic,
    pub bbox: FT_BBox,
    pub units_per_EM: FT_UShort,
    pub ascender: FT_Short,
    pub descender: FT_Short,
    pub height: FT_Short,
    pub max_advance_width: FT_Short,
    pub max_advance_height: FT_Short,
    pub underline_position: FT_Short,
    pub underline_thickness: FT_Short,
    pub glyph: FT_GlyphSlot,
    pub size: FT_Size,
    pub charmap: FT_CharMap,
    pub driver: FT_Driver,
    pub memory: FT_Memory,
    pub stream: FT_Stream,
    pub sizes_list: FT_ListRec,
    pub autohint: FT_Generic,
    pub extensions: *mut ::std::os::raw::c_void,
    pub internal: FT_Face_Internal,
}
pub type FT_FaceRec = FT_FaceRec_;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct FT_Size_InternalRec_ {
    _unused: [u8; 0],
}
pub type FT_Size_Internal = *mut FT_Size_InternalRec_;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct FT_Size_Metrics_ {
    pub x_ppem: FT_UShort,
    pub y_ppem: FT_UShort,
    pub x_scale: FT_Fixed,
    pub y_scale: FT_Fixed,
    pub ascender: FT_Pos,
    pub descender: FT_Pos,
    pub height: FT_Pos,
    pub max_advance: FT_Pos,
}
pub type FT_Size_Metrics = FT_Size_Metrics_;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct FT_SizeRec_ {
    pub face: FT_Face,
    pub generic: FT_Generic,
    pub metrics: FT_Size_Metrics,
    pub internal: FT_Size_Internal,
}
pub type FT_SizeRec = FT_SizeRec_;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct FT_SubGlyphRec_ {
    _unused: [u8; 0],
}
pub type FT_SubGlyph = *mut FT_SubGlyphRec_;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct FT_Slot_InternalRec_ {
    _unused: [u8; 0],
}
pub type FT_Slot_Internal = *mut FT_Slot_InternalRec_;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct FT_GlyphSlotRec_ {
    pub library: FT_Library,
    pub face: FT_Face,
    pub next: FT_GlyphSlot,
    pub glyph_index: FT_UInt,
    pub generic: FT_Generic,
    pub metrics: FT_Glyph_Metrics,
    pub linearHoriAdvance: FT_Fixed,
    pub linearVertAdvance: FT_Fixed,
    pub advance: FT_Vector,
    pub format: FT_Glyph_Format,
    pub bitmap: FT_Bitmap,
    pub bitmap_left: FT_Int,
    pub bitmap_top: FT_Int,
    pub outline: FT_Outline,
    pub num_subglyphs: FT_UInt,
    pub subglyphs: FT_SubGlyph,
    pub control_data: *mut ::std::os::raw::c_void,
    pub control_len: ::std::os::raw::c_long,
    pub lsb_delta: FT_Pos,
    pub rsb_delta: FT_Pos,
    pub other: *mut ::std::os::raw::c_void,
    pub internal: FT_Slot_Internal,
}
pub type FT_GlyphSlotRec = FT_GlyphSlotRec_;
extern "C" {
    pub fn FT_Init_FreeType(alibrary: *mut FT_Library) -> FT_Error;
}
extern "C" {
    pub fn FT_Done_FreeType(library: FT_Library) -> FT_Error;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct FT_Parameter_ {
    pub tag: FT_ULong,
    pub data: FT_Pointer,
}
pub type FT_Parameter = FT_Parameter_;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct FT_Open_Args_ {
    pub flags: FT_UInt,
    pub memory_base: *const FT_Byte,
    pub memory_size: FT_Long,
    pub pathname: *mut FT_String,
    pub stream: FT_Stream,
    pub driver: FT_Module,
    pub num_params: FT_Int,
    pub params: *mut FT_Parameter,
}
pub type FT_Open_Args = FT_Open_Args_;
extern "C" {
    pub fn FT_New_Face(
        library: FT_Library,
        filepathname: *const ::std::os::raw::c_char,
        face_index: FT_Long,
        aface: *mut FT_Face,
    ) -> FT_Error;
}
extern "C" {
    pub fn FT_New_Memory_Face(
        library: FT_Library,
        file_base: *const FT_Byte,
        file_size: FT_Long,
        face_index: FT_Long,
        aface: *mut FT_Face,
    ) -> FT_Error;
}
extern "C" {
    pub fn FT_Open_Face(
        library: FT_Library,
        args: *const FT_Open_Args,
        face_index: FT_Long,
        aface: *mut FT_Face,
    ) -> FT_Error;
}
extern "C" {
    pub fn FT_Attach_File(face: FT_Face, filepathname: *const ::std::os::raw::c_char) -> FT_Error;
}
extern "C" {
    pub fn FT_Attach_Stream(face: FT_Face, parameters: *const FT_Open_Args) -> FT_Error;
}
extern "C" {
    pub fn FT_Reference_Face(face: FT_Face) -> FT_Error;
}
extern "C" {
    pub fn FT_Done_Face(face: FT_Face) -> FT_Error;
}
extern "C" {
    pub fn FT_Select_Size(face: FT_Face, strike_index: FT_Int) -> FT_Error;
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum FT_Size_Request_Type_ {
    FT_SIZE_REQUEST_TYPE_NOMINAL = 0,
    FT_SIZE_REQUEST_TYPE_REAL_DIM = 1,
    FT_SIZE_REQUEST_TYPE_BBOX = 2,
    FT_SIZE_REQUEST_TYPE_CELL = 3,
    FT_SIZE_REQUEST_TYPE_SCALES = 4,
    FT_SIZE_REQUEST_TYPE_MAX = 5,
}
pub use self::FT_Size_Request_Type_ as FT_Size_Request_Type;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct FT_Size_RequestRec_ {
    pub type_: FT_Size_Request_Type,
    pub width: FT_Long,
    pub height: FT_Long,
    pub horiResolution: FT_UInt,
    pub vertResolution: FT_UInt,
}
pub type FT_Size_RequestRec = FT_Size_RequestRec_;
pub type FT_Size_Request = *mut FT_Size_RequestRec_;
extern "C" {
    pub fn FT_Request_Size(face: FT_Face, req: FT_Size_Request) -> FT_Error;
}
extern "C" {
    pub fn FT_Set_Char_Size(
        face: FT_Face,
        char_width: FT_F26Dot6,
        char_height: FT_F26Dot6,
        horz_resolution: FT_UInt,
        vert_resolution: FT_UInt,
    ) -> FT_Error;
}
extern "C" {
    pub fn FT_Set_Pixel_Sizes(
        face: FT_Face,
        pixel_width: FT_UInt,
        pixel_height: FT_UInt,
    ) -> FT_Error;
}
extern "C" {
    pub fn FT_Load_Glyph(face: FT_Face, glyph_index: FT_UInt, load_flags: FT_Int32) -> FT_Error;
}
extern "C" {
    pub fn FT_Load_Char(face: FT_Face, char_code: FT_ULong, load_flags: FT_Int32) -> FT_Error;
}
extern "C" {
    pub fn FT_Set_Transform(face: FT_Face, matrix: *mut FT_Matrix, delta: *mut FT_Vector);
}
extern "C" {
    pub fn FT_Get_Transform(face: FT_Face, matrix: *mut FT_Matrix, delta: *mut FT_Vector);
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum FT_Render_Mode_ {
    FT_RENDER_MODE_NORMAL = 0,
    FT_RENDER_MODE_LIGHT = 1,
    FT_RENDER_MODE_MONO = 2,
    FT_RENDER_MODE_LCD = 3,
    FT_RENDER_MODE_LCD_V = 4,
    FT_RENDER_MODE_SDF = 5,
    FT_RENDER_MODE_MAX = 6,
}
pub use self::FT_Render_Mode_ as FT_Render_Mode;
extern "C" {
    pub fn FT_Render_Glyph(slot: FT_GlyphSlot, render_mode: FT_Render_Mode) -> FT_Error;
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum FT_Kerning_Mode_ {
    FT_KERNING_DEFAULT = 0,
    FT_KERNING_UNFITTED = 1,
    FT_KERNING_UNSCALED = 2,
}
pub use self::FT_Kerning_Mode_ as FT_Kerning_Mode;
extern "C" {
    pub fn FT_Get_Kerning(
        face: FT_Face,
        left_glyph: FT_UInt,
        right_glyph: FT_UInt,
        kern_mode: FT_UInt,
        akerning: *mut FT_Vector,
    ) -> FT_Error;
}
extern "C" {
    pub fn FT_Get_Track_Kerning(
        face: FT_Face,
        point_size: FT_Fixed,
        degree: FT_Int,
        akerning: *mut FT_Fixed,
    ) -> FT_Error;
}
extern "C" {
    pub fn FT_Select_Charmap(face: FT_Face, encoding: FT_Encoding) -> FT_Error;
}
extern "C" {
    pub fn FT_Set_Charmap(face: FT_Face, charmap: FT_CharMap) -> FT_Error;
}
extern "C" {
    pub fn FT_Get_Charmap_Index(charmap: FT_CharMap) -> FT_Int;
}
extern "C" {
    pub fn FT_Get_Char_Index(face: FT_Face, charcode: FT_ULong) -> FT_UInt;
}
extern "C" {
    pub fn FT_Get_First_Char(face: FT_Face, agindex: *mut FT_UInt) -> FT_ULong;
}
extern "C" {
    pub fn FT_Get_Next_Char(face: FT_Face, char_code: FT_ULong, agindex: *mut FT_UInt) -> FT_ULong;
}
extern "C" {
    pub fn FT_Face_Properties(
        face: FT_Face,
        num_properties: FT_UInt,
        properties: *mut FT_Parameter,
    ) -> FT_Error;
}
extern "C" {
    pub fn FT_Get_Name_Index(face: FT_Face, glyph_name: *const FT_String) -> FT_UInt;
}
extern "C" {
    pub fn FT_Get_Glyph_Name(
        face: FT_Face,
        glyph_index: FT_UInt,
        buffer: FT_Pointer,
        buffer_max: FT_UInt,
    ) -> FT_Error;
}
extern "C" {
    pub fn FT_Get_Postscript_Name(face: FT_Face) -> *const ::std::os::raw::c_char;
}
extern "C" {
    pub fn FT_Get_SubGlyph_Info(
        glyph: FT_GlyphSlot,
        sub_index: FT_UInt,
        p_index: *mut FT_Int,
        p_flags: *mut FT_UInt,
        p_arg1: *mut FT_Int,
        p_arg2: *mut FT_Int,
        p_transform: *mut FT_Matrix,
    ) -> FT_Error;
}
extern "C" {
    pub fn FT_Get_FSType_Flags(face: FT_Face) -> FT_UShort;
}
extern "C" {
    pub fn FT_Face_GetCharVariantIndex(
        face: FT_Face,
        charcode: FT_ULong,
        variantSelector: FT_ULong,
    ) -> FT_UInt;
}
extern "C" {
    pub fn FT_Face_GetCharVariantIsDefault(
        face: FT_Face,
        charcode: FT_ULong,
        variantSelector: FT_ULong,
    ) -> FT_Int;
}
extern "C" {
    pub fn FT_Face_GetVariantSelectors(face: FT_Face) -> *mut FT_UInt32;
}
extern "C" {
    pub fn FT_Face_GetVariantsOfChar(face: FT_Face, charcode: FT_ULong) -> *mut FT_UInt32;
}
extern "C" {
    pub fn FT_Face_GetCharsOfVariant(face: FT_Face, variantSelector: FT_ULong) -> *mut FT_UInt32;
}
extern "C" {
    pub fn FT_MulDiv(a: FT_Long, b: FT_Long, c: FT_Long) -> FT_Long;
}
extern "C" {
    pub fn FT_MulFix(a: FT_Long, b: FT_Long) -> FT_Long;
}
extern "C" {
    pub fn FT_DivFix(a: FT_Long, b: FT_Long) -> FT_Long;
}
extern "C" {
    pub fn FT_RoundFix(a: FT_Fixed) -> FT_Fixed;
}
extern "C" {
    pub fn FT_CeilFix(a: FT_Fixed) -> FT_Fixed;
}
extern "C" {
    pub fn FT_FloorFix(a: FT_Fixed) -> FT_Fixed;
}
extern "C" {
    pub fn FT_Vector_Transform(vector: *mut FT_Vector, matrix: *const FT_Matrix);
}
extern "C" {
    pub fn FT_Library_Version(
        library: FT_Library,
        amajor: *mut FT_Int,
        aminor: *mut FT_Int,
        apatch: *mut FT_Int,
    );
}
extern "C" {
    pub fn FT_Face_CheckTrueTypePatents(face: FT_Face) -> FT_Bool;
}
extern "C" {
    pub fn FT_Face_SetUnpatentedHinting(face: FT_Face, value: FT_Bool) -> FT_Bool;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct FT_Color_ {
    pub blue: FT_Byte,
    pub green: FT_Byte,
    pub red: FT_Byte,
    pub alpha: FT_Byte,
}
pub type FT_Color = FT_Color_;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct FT_Palette_Data_ {
    pub num_palettes: FT_UShort,
    pub palette_name_ids: *const FT_UShort,
    pub palette_flags: *const FT_UShort,
    pub num_palette_entries: FT_UShort,
    pub palette_entry_name_ids: *const FT_UShort,
}
pub type FT_Palette_Data = FT_Palette_Data_;
extern "C" {
    pub fn FT_Palette_Data_Get(face: FT_Face, apalette: *mut FT_Palette_Data) -> FT_Error;
}
extern "C" {
    pub fn FT_Palette_Select(
        face: FT_Face,
        palette_index: FT_UShort,
        apalette: *mut *mut FT_Color,
    ) -> FT_Error;
}
extern "C" {
    pub fn FT_Palette_Set_Foreground_Color(face: FT_Face, foreground_color: FT_Color) -> FT_Error;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct FT_LayerIterator_ {
    pub num_layers: FT_UInt,
    pub layer: FT_UInt,
    pub p: *mut FT_Byte,
}
pub type FT_LayerIterator = FT_LayerIterator_;
extern "C" {
    pub fn FT_Get_Color_Glyph_Layer(
        face: FT_Face,
        base_glyph: FT_UInt,
        aglyph_index: *mut FT_UInt,
        acolor_index: *mut FT_UInt,
        iterator: *mut FT_LayerIterator,
    ) -> FT_Bool;
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum FT_PaintFormat_ {
    FT_COLR_PAINTFORMAT_COLR_LAYERS = 1,
    FT_COLR_PAINTFORMAT_SOLID = 2,
    FT_COLR_PAINTFORMAT_LINEAR_GRADIENT = 4,
    FT_COLR_PAINTFORMAT_RADIAL_GRADIENT = 6,
    FT_COLR_PAINTFORMAT_SWEEP_GRADIENT = 8,
    FT_COLR_PAINTFORMAT_GLYPH = 10,
    FT_COLR_PAINTFORMAT_COLR_GLYPH = 11,
    FT_COLR_PAINTFORMAT_TRANSFORM = 12,
    FT_COLR_PAINTFORMAT_TRANSLATE = 14,
    FT_COLR_PAINTFORMAT_SCALE = 16,
    FT_COLR_PAINTFORMAT_ROTATE = 24,
    FT_COLR_PAINTFORMAT_SKEW = 28,
    FT_COLR_PAINTFORMAT_COMPOSITE = 32,
    FT_COLR_PAINT_FORMAT_MAX = 33,
    FT_COLR_PAINTFORMAT_UNSUPPORTED = 255,
}
pub use self::FT_PaintFormat_ as FT_PaintFormat;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct FT_ColorStopIterator_ {
    pub num_color_stops: FT_UInt,
    pub current_color_stop: FT_UInt,
    pub p: *mut FT_Byte,
    pub read_variable: FT_Bool,
}
pub type FT_ColorStopIterator = FT_ColorStopIterator_;
#[repr(C)]
pub struct FT_ColorIndex_ {
    pub palette_index: FT_UInt16,
    pub alpha: FT_F2Dot14,
}
pub type FT_ColorIndex = FT_ColorIndex_;
#[repr(C)]
pub struct FT_ColorStop_ {
    pub stop_offset: FT_Fixed,
    pub color: FT_ColorIndex,
}
pub type FT_ColorStop = FT_ColorStop_;
#[repr(u32)]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum FT_PaintExtend_ {
    FT_COLR_PAINT_EXTEND_PAD = 0,
    FT_COLR_PAINT_EXTEND_REPEAT = 1,
    FT_COLR_PAINT_EXTEND_REFLECT = 2,
}
pub use self::FT_PaintExtend_ as FT_PaintExtend;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct FT_ColorLine_ {
    pub extend: FT_PaintExtend,
    pub color_stop_iterator: FT_ColorStopIterator,
}
pub type FT_ColorLine = FT_ColorLine_;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct FT_Affine_23_ {
    pub xx: FT_Fixed,
    pub xy: FT_Fixed,
    pub dx: FT_Fixed,
    pub yx: FT_Fixed,
    pub yy: FT_Fixed,
    pub dy: FT_Fixed,
}
pub type FT_Affine23 = FT_Affine_23_;
#[repr(u32)]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum FT_Composite_Mode_ {
    FT_COLR_COMPOSITE_CLEAR = 0,
    FT_COLR_COMPOSITE_SRC = 1,
    FT_COLR_COMPOSITE_DEST = 2,
    FT_COLR_COMPOSITE_SRC_OVER = 3,
    FT_COLR_COMPOSITE_DEST_OVER = 4,
    FT_COLR_COMPOSITE_SRC_IN = 5,
    FT_COLR_COMPOSITE_DEST_IN = 6,
    FT_COLR_COMPOSITE_SRC_OUT = 7,
    FT_COLR_COMPOSITE_DEST_OUT = 8,
    FT_COLR_COMPOSITE_SRC_ATOP = 9,
    FT_COLR_COMPOSITE_DEST_ATOP = 10,
    FT_COLR_COMPOSITE_XOR = 11,
    FT_COLR_COMPOSITE_PLUS = 12,
    FT_COLR_COMPOSITE_SCREEN = 13,
    FT_COLR_COMPOSITE_OVERLAY = 14,
    FT_COLR_COMPOSITE_DARKEN = 15,
    FT_COLR_COMPOSITE_LIGHTEN = 16,
    FT_COLR_COMPOSITE_COLOR_DODGE = 17,
    FT_COLR_COMPOSITE_COLOR_BURN = 18,
    FT_COLR_COMPOSITE_HARD_LIGHT = 19,
    FT_COLR_COMPOSITE_SOFT_LIGHT = 20,
    FT_COLR_COMPOSITE_DIFFERENCE = 21,
    FT_COLR_COMPOSITE_EXCLUSION = 22,
    FT_COLR_COMPOSITE_MULTIPLY = 23,
    FT_COLR_COMPOSITE_HSL_HUE = 24,
    FT_COLR_COMPOSITE_HSL_SATURATION = 25,
    FT_COLR_COMPOSITE_HSL_COLOR = 26,
    FT_COLR_COMPOSITE_HSL_LUMINOSITY = 27,
    FT_COLR_COMPOSITE_MAX = 28,
}
pub use self::FT_Composite_Mode_ as FT_Composite_Mode;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct FT_Opaque_Paint_ {
    pub p: *mut FT_Byte,
    pub insert_root_transform: FT_Bool,
}
pub type FT_OpaquePaint = FT_Opaque_Paint_;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct FT_PaintColrLayers_ {
    pub layer_iterator: FT_LayerIterator,
}
pub type FT_PaintColrLayers = FT_PaintColrLayers_;
#[repr(C)]
pub struct FT_PaintSolid_ {
    pub color: FT_ColorIndex,
}
pub type FT_PaintSolid = FT_PaintSolid_;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct FT_PaintLinearGradient_ {
    pub colorline: FT_ColorLine,
    pub p0: FT_Vector,
    pub p1: FT_Vector,
    pub p2: FT_Vector,
}
pub type FT_PaintLinearGradient = FT_PaintLinearGradient_;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct FT_PaintRadialGradient_ {
    pub colorline: FT_ColorLine,
    pub c0: FT_Vector,
    pub r0: FT_Pos,
    pub c1: FT_Vector,
    pub r1: FT_Pos,
}
pub type FT_PaintRadialGradient = FT_PaintRadialGradient_;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct FT_PaintSweepGradient_ {
    pub colorline: FT_ColorLine,
    pub center: FT_Vector,
    pub start_angle: FT_Fixed,
    pub end_angle: FT_Fixed,
}
pub type FT_PaintSweepGradient = FT_PaintSweepGradient_;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct FT_PaintGlyph_ {
    pub paint: FT_OpaquePaint,
    pub glyphID: FT_UInt,
}
pub type FT_PaintGlyph = FT_PaintGlyph_;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct FT_PaintColrGlyph_ {
    pub glyphID: FT_UInt,
}
pub type FT_PaintColrGlyph = FT_PaintColrGlyph_;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct FT_PaintTransform_ {
    pub paint: FT_OpaquePaint,
    pub affine: FT_Affine23,
}
pub type FT_PaintTransform = FT_PaintTransform_;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct FT_PaintTranslate_ {
    pub paint: FT_OpaquePaint,
    pub dx: FT_Fixed,
    pub dy: FT_Fixed,
}
pub type FT_PaintTranslate = FT_PaintTranslate_;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct FT_PaintScale_ {
    pub paint: FT_OpaquePaint,
    pub scale_x: FT_Fixed,
    pub scale_y: FT_Fixed,
    pub center_x: FT_Fixed,
    pub center_y: FT_Fixed,
}
pub type FT_PaintScale = FT_PaintScale_;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct FT_PaintRotate_ {
    pub paint: FT_OpaquePaint,
    pub angle: FT_Fixed,
    pub center_x: FT_Fixed,
    pub center_y: FT_Fixed,
}
pub type FT_PaintRotate = FT_PaintRotate_;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct FT_PaintSkew_ {
    pub paint: FT_OpaquePaint,
    pub x_skew_angle: FT_Fixed,
    pub y_skew_angle: FT_Fixed,
    pub center_x: FT_Fixed,
    pub center_y: FT_Fixed,
}
pub type FT_PaintSkew = FT_PaintSkew_;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct FT_PaintComposite_ {
    pub source_paint: FT_OpaquePaint,
    pub composite_mode: FT_Composite_Mode,
    pub backdrop_paint: FT_OpaquePaint,
}
pub type FT_PaintComposite = FT_PaintComposite_;
#[repr(C)]
pub struct FT_COLR_Paint_ {
    pub format: FT_PaintFormat,
    pub u: FT_COLR_Paint___bindgen_ty_1,
}
#[repr(C)]
pub struct FT_COLR_Paint___bindgen_ty_1 {
    pub colr_layers: __BindgenUnionField<FT_PaintColrLayers>,
    pub glyph: __BindgenUnionField<FT_PaintGlyph>,
    pub solid: __BindgenUnionField<FT_PaintSolid>,
    pub linear_gradient: __BindgenUnionField<FT_PaintLinearGradient>,
    pub radial_gradient: __BindgenUnionField<FT_PaintRadialGradient>,
    pub sweep_gradient: __BindgenUnionField<FT_PaintSweepGradient>,
    pub transform: __BindgenUnionField<FT_PaintTransform>,
    pub translate: __BindgenUnionField<FT_PaintTranslate>,
    pub scale: __BindgenUnionField<FT_PaintScale>,
    pub rotate: __BindgenUnionField<FT_PaintRotate>,
    pub skew: __BindgenUnionField<FT_PaintSkew>,
    pub composite: __BindgenUnionField<FT_PaintComposite>,
    pub colr_glyph: __BindgenUnionField<FT_PaintColrGlyph>,
    pub bindgen_union_field: [u64; 10usize],
}
pub type FT_COLR_Paint = FT_COLR_Paint_;
#[repr(u32)]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum FT_Color_Root_Transform_ {
    FT_COLOR_INCLUDE_ROOT_TRANSFORM = 0,
    FT_COLOR_NO_ROOT_TRANSFORM = 1,
    FT_COLOR_ROOT_TRANSFORM_MAX = 2,
}
pub use self::FT_Color_Root_Transform_ as FT_Color_Root_Transform;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct FT_ClipBox_ {
    pub bottom_left: FT_Vector,
    pub top_left: FT_Vector,
    pub top_right: FT_Vector,
    pub bottom_right: FT_Vector,
}
pub type FT_ClipBox = FT_ClipBox_;
extern "C" {
    pub fn FT_Get_Color_Glyph_Paint(
        face: FT_Face,
        base_glyph: FT_UInt,
        root_transform: FT_Color_Root_Transform,
        paint: *mut FT_OpaquePaint,
    ) -> FT_Bool;
}
extern "C" {
    pub fn FT_Get_Color_Glyph_ClipBox(
        face: FT_Face,
        base_glyph: FT_UInt,
        clip_box: *mut FT_ClipBox,
    ) -> FT_Bool;
}
extern "C" {
    pub fn FT_Get_Paint_Layers(
        face: FT_Face,
        iterator: *mut FT_LayerIterator,
        paint: *mut FT_OpaquePaint,
    ) -> FT_Bool;
}
extern "C" {
    pub fn FT_Get_Colorline_Stops(
        face: FT_Face,
        color_stop: *mut FT_ColorStop,
        iterator: *mut FT_ColorStopIterator,
    ) -> FT_Bool;
}
extern "C" {
    pub fn FT_Get_Paint(
        face: FT_Face,
        opaque_paint: FT_OpaquePaint,
        paint: *mut FT_COLR_Paint,
    ) -> FT_Bool;
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum FT_LcdFilter_ {
    FT_LCD_FILTER_NONE = 0,
    FT_LCD_FILTER_DEFAULT = 1,
    FT_LCD_FILTER_LIGHT = 2,
    FT_LCD_FILTER_LEGACY1 = 3,
    FT_LCD_FILTER_LEGACY = 16,
    FT_LCD_FILTER_MAX = 17,
}
pub use self::FT_LcdFilter_ as FT_LcdFilter;
extern "C" {
    pub fn FT_Library_SetLcdFilter(library: FT_Library, filter: FT_LcdFilter) -> FT_Error;
}
extern "C" {
    pub fn FT_Library_SetLcdFilterWeights(
        library: FT_Library,
        weights: *mut ::std::os::raw::c_uchar,
    ) -> FT_Error;
}
pub type FT_LcdFiveTapFilter = [FT_Byte; 5usize];
extern "C" {
    pub fn FT_Library_SetLcdGeometry(library: FT_Library, sub: *mut FT_Vector) -> FT_Error;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct TT_Header_ {
    pub Table_Version: FT_Fixed,
    pub Font_Revision: FT_Fixed,
    pub CheckSum_Adjust: FT_Long,
    pub Magic_Number: FT_Long,
    pub Flags: FT_UShort,
    pub Units_Per_EM: FT_UShort,
    pub Created: [FT_ULong; 2usize],
    pub Modified: [FT_ULong; 2usize],
    pub xMin: FT_Short,
    pub yMin: FT_Short,
    pub xMax: FT_Short,
    pub yMax: FT_Short,
    pub Mac_Style: FT_UShort,
    pub Lowest_Rec_PPEM: FT_UShort,
    pub Font_Direction: FT_Short,
    pub Index_To_Loc_Format: FT_Short,
    pub Glyph_Data_Format: FT_Short,
}
pub type TT_Header = TT_Header_;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct TT_HoriHeader_ {
    pub Version: FT_Fixed,
    pub Ascender: FT_Short,
    pub Descender: FT_Short,
    pub Line_Gap: FT_Short,
    pub advance_Width_Max: FT_UShort,
    pub min_Left_Side_Bearing: FT_Short,
    pub min_Right_Side_Bearing: FT_Short,
    pub xMax_Extent: FT_Short,
    pub caret_Slope_Rise: FT_Short,
    pub caret_Slope_Run: FT_Short,
    pub caret_Offset: FT_Short,
    pub Reserved: [FT_Short; 4usize],
    pub metric_Data_Format: FT_Short,
    pub number_Of_HMetrics: FT_UShort,
    pub long_metrics: *mut ::std::os::raw::c_void,
    pub short_metrics: *mut ::std::os::raw::c_void,
}
pub type TT_HoriHeader = TT_HoriHeader_;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct TT_VertHeader_ {
    pub Version: FT_Fixed,
    pub Ascender: FT_Short,
    pub Descender: FT_Short,
    pub Line_Gap: FT_Short,
    pub advance_Height_Max: FT_UShort,
    pub min_Top_Side_Bearing: FT_Short,
    pub min_Bottom_Side_Bearing: FT_Short,
    pub yMax_Extent: FT_Short,
    pub caret_Slope_Rise: FT_Short,
    pub caret_Slope_Run: FT_Short,
    pub caret_Offset: FT_Short,
    pub Reserved: [FT_Short; 4usize],
    pub metric_Data_Format: FT_Short,
    pub number_Of_VMetrics: FT_UShort,
    pub long_metrics: *mut ::std::os::raw::c_void,
    pub short_metrics: *mut ::std::os::raw::c_void,
}
pub type TT_VertHeader = TT_VertHeader_;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct TT_OS2_ {
    pub version: FT_UShort,
    pub xAvgCharWidth: FT_Short,
    pub usWeightClass: FT_UShort,
    pub usWidthClass: FT_UShort,
    pub fsType: FT_UShort,
    pub ySubscriptXSize: FT_Short,
    pub ySubscriptYSize: FT_Short,
    pub ySubscriptXOffset: FT_Short,
    pub ySubscriptYOffset: FT_Short,
    pub ySuperscriptXSize: FT_Short,
    pub ySuperscriptYSize: FT_Short,
    pub ySuperscriptXOffset: FT_Short,
    pub ySuperscriptYOffset: FT_Short,
    pub yStrikeoutSize: FT_Short,
    pub yStrikeoutPosition: FT_Short,
    pub sFamilyClass: FT_Short,
    pub panose: [FT_Byte; 10usize],
    pub ulUnicodeRange1: FT_ULong,
    pub ulUnicodeRange2: FT_ULong,
    pub ulUnicodeRange3: FT_ULong,
    pub ulUnicodeRange4: FT_ULong,
    pub achVendID: [FT_Char; 4usize],
    pub fsSelection: FT_UShort,
    pub usFirstCharIndex: FT_UShort,
    pub usLastCharIndex: FT_UShort,
    pub sTypoAscender: FT_Short,
    pub sTypoDescender: FT_Short,
    pub sTypoLineGap: FT_Short,
    pub usWinAscent: FT_UShort,
    pub usWinDescent: FT_UShort,
    pub ulCodePageRange1: FT_ULong,
    pub ulCodePageRange2: FT_ULong,
    pub sxHeight: FT_Short,
    pub sCapHeight: FT_Short,
    pub usDefaultChar: FT_UShort,
    pub usBreakChar: FT_UShort,
    pub usMaxContext: FT_UShort,
    pub usLowerOpticalPointSize: FT_UShort,
    pub usUpperOpticalPointSize: FT_UShort,
}
pub type TT_OS2 = TT_OS2_;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct TT_Postscript_ {
    pub FormatType: FT_Fixed,
    pub italicAngle: FT_Fixed,
    pub underlinePosition: FT_Short,
    pub underlineThickness: FT_Short,
    pub isFixedPitch: FT_ULong,
    pub minMemType42: FT_ULong,
    pub maxMemType42: FT_ULong,
    pub minMemType1: FT_ULong,
    pub maxMemType1: FT_ULong,
}
pub type TT_Postscript = TT_Postscript_;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct TT_PCLT_ {
    pub Version: FT_Fixed,
    pub FontNumber: FT_ULong,
    pub Pitch: FT_UShort,
    pub xHeight: FT_UShort,
    pub Style: FT_UShort,
    pub TypeFamily: FT_UShort,
    pub CapHeight: FT_UShort,
    pub SymbolSet: FT_UShort,
    pub TypeFace: [FT_Char; 16usize],
    pub CharacterComplement: [FT_Char; 8usize],
    pub FileName: [FT_Char; 6usize],
    pub StrokeWeight: FT_Char,
    pub WidthType: FT_Char,
    pub SerifStyle: FT_Byte,
    pub Reserved: FT_Byte,
}
pub type TT_PCLT = TT_PCLT_;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct TT_MaxProfile_ {
    pub version: FT_Fixed,
    pub numGlyphs: FT_UShort,
    pub maxPoints: FT_UShort,
    pub maxContours: FT_UShort,
    pub maxCompositePoints: FT_UShort,
    pub maxCompositeContours: FT_UShort,
    pub maxZones: FT_UShort,
    pub maxTwilightPoints: FT_UShort,
    pub maxStorage: FT_UShort,
    pub maxFunctionDefs: FT_UShort,
    pub maxInstructionDefs: FT_UShort,
    pub maxStackElements: FT_UShort,
    pub maxSizeOfInstructions: FT_UShort,
    pub maxComponentElements: FT_UShort,
    pub maxComponentDepth: FT_UShort,
}
pub type TT_MaxProfile = TT_MaxProfile_;
#[repr(u32)]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum FT_Sfnt_Tag_ {
    FT_SFNT_HEAD = 0,
    FT_SFNT_MAXP = 1,
    FT_SFNT_OS2 = 2,
    FT_SFNT_HHEA = 3,
    FT_SFNT_VHEA = 4,
    FT_SFNT_POST = 5,
    FT_SFNT_PCLT = 6,
    FT_SFNT_MAX = 7,
}
pub use self::FT_Sfnt_Tag_ as FT_Sfnt_Tag;
extern "C" {
    pub fn FT_Get_Sfnt_Table(face: FT_Face, tag: FT_Sfnt_Tag) -> *mut ::std::os::raw::c_void;
}
extern "C" {
    pub fn FT_Load_Sfnt_Table(
        face: FT_Face,
        tag: FT_ULong,
        offset: FT_Long,
        buffer: *mut FT_Byte,
        length: *mut FT_ULong,
    ) -> FT_Error;
}
extern "C" {
    pub fn FT_Sfnt_Table_Info(
        face: FT_Face,
        table_index: FT_UInt,
        tag: *mut FT_ULong,
        length: *mut FT_ULong,
    ) -> FT_Error;
}
extern "C" {
    pub fn FT_Get_CMap_Language_ID(charmap: FT_CharMap) -> FT_ULong;
}
extern "C" {
    pub fn FT_Get_CMap_Format(charmap: FT_CharMap) -> FT_Long;
}
pub type FT_Module_Interface = FT_Pointer;
pub type FT_Module_Constructor =
    ::std::option::Option<unsafe extern "C" fn(module: FT_Module) -> FT_Error>;
pub type FT_Module_Destructor = ::std::option::Option<unsafe extern "C" fn(module: FT_Module)>;
pub type FT_Module_Requester = ::std::option::Option<
    unsafe extern "C" fn(
        module: FT_Module,
        name: *const ::std::os::raw::c_char,
    ) -> FT_Module_Interface,
>;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct FT_Module_Class_ {
    pub module_flags: FT_ULong,
    pub module_size: FT_Long,
    pub module_name: *const FT_String,
    pub module_version: FT_Fixed,
    pub module_requires: FT_Fixed,
    pub module_interface: *const ::std::os::raw::c_void,
    pub module_init: FT_Module_Constructor,
    pub module_done: FT_Module_Destructor,
    pub get_interface: FT_Module_Requester,
}
pub type FT_Module_Class = FT_Module_Class_;
extern "C" {
    pub fn FT_Add_Module(library: FT_Library, clazz: *const FT_Module_Class) -> FT_Error;
}
extern "C" {
    pub fn FT_Get_Module(
        library: FT_Library,
        module_name: *const ::std::os::raw::c_char,
    ) -> FT_Module;
}
extern "C" {
    pub fn FT_Remove_Module(library: FT_Library, module: FT_Module) -> FT_Error;
}
extern "C" {
    pub fn FT_Property_Set(
        library: FT_Library,
        module_name: *const FT_String,
        property_name: *const FT_String,
        value: *const ::std::os::raw::c_void,
    ) -> FT_Error;
}
extern "C" {
    pub fn FT_Property_Get(
        library: FT_Library,
        module_name: *const FT_String,
        property_name: *const FT_String,
        value: *mut ::std::os::raw::c_void,
    ) -> FT_Error;
}
extern "C" {
    pub fn FT_Set_Default_Properties(library: FT_Library);
}
extern "C" {
    pub fn FT_Reference_Library(library: FT_Library) -> FT_Error;
}
extern "C" {
    pub fn FT_New_Library(memory: FT_Memory, alibrary: *mut FT_Library) -> FT_Error;
}
extern "C" {
    pub fn FT_Done_Library(library: FT_Library) -> FT_Error;
}
pub type FT_DebugHook_Func =
    ::std::option::Option<unsafe extern "C" fn(arg: *mut ::std::os::raw::c_void) -> FT_Error>;
extern "C" {
    pub fn FT_Set_Debug_Hook(
        library: FT_Library,
        hook_index: FT_UInt,
        debug_hook: FT_DebugHook_Func,
    );
}
extern "C" {
    pub fn FT_Add_Default_Modules(library: FT_Library);
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum FT_TrueTypeEngineType_ {
    FT_TRUETYPE_ENGINE_TYPE_NONE = 0,
    FT_TRUETYPE_ENGINE_TYPE_UNPATENTED = 1,
    FT_TRUETYPE_ENGINE_TYPE_PATENTED = 2,
}
pub use self::FT_TrueTypeEngineType_ as FT_TrueTypeEngineType;
extern "C" {
    pub fn FT_Get_TrueType_Engine_Type(library: FT_Library) -> FT_TrueTypeEngineType;
}
extern "C" {
    pub fn FT_Outline_Decompose(
        outline: *mut FT_Outline,
        func_interface: *const FT_Outline_Funcs,
        user: *mut ::std::os::raw::c_void,
    ) -> FT_Error;
}
extern "C" {
    pub fn FT_Outline_New(
        library: FT_Library,
        numPoints: FT_UInt,
        numContours: FT_Int,
        anoutline: *mut FT_Outline,
    ) -> FT_Error;
}
extern "C" {
    pub fn FT_Outline_Done(library: FT_Library, outline: *mut FT_Outline) -> FT_Error;
}
extern "C" {
    pub fn FT_Outline_Check(outline: *mut FT_Outline) -> FT_Error;
}
extern "C" {
    pub fn FT_Outline_Get_CBox(outline: *const FT_Outline, acbox: *mut FT_BBox);
}
extern "C" {
    pub fn FT_Outline_Translate(outline: *const FT_Outline, xOffset: FT_Pos, yOffset: FT_Pos);
}
extern "C" {
    pub fn FT_Outline_Copy(source: *const FT_Outline, target: *mut FT_Outline) -> FT_Error;
}
extern "C" {
    pub fn FT_Outline_Transform(outline: *const FT_Outline, matrix: *const FT_Matrix);
}
extern "C" {
    pub fn FT_Outline_Embolden(outline: *mut FT_Outline, strength: FT_Pos) -> FT_Error;
}
extern "C" {
    pub fn FT_Outline_EmboldenXY(
        outline: *mut FT_Outline,
        xstrength: FT_Pos,
        ystrength: FT_Pos,
    ) -> FT_Error;
}
extern "C" {
    pub fn FT_Outline_Reverse(outline: *mut FT_Outline);
}
extern "C" {
    pub fn FT_Outline_Get_Bitmap(
        library: FT_Library,
        outline: *mut FT_Outline,
        abitmap: *const FT_Bitmap,
    ) -> FT_Error;
}
extern "C" {
    pub fn FT_Outline_Render(
        library: FT_Library,
        outline: *mut FT_Outline,
        params: *mut FT_Raster_Params,
    ) -> FT_Error;
}
impl FT_Orientation_ {
    pub const FT_ORIENTATION_FILL_RIGHT: FT_Orientation_ = FT_Orientation_::FT_ORIENTATION_TRUETYPE;
}
impl FT_Orientation_ {
    pub const FT_ORIENTATION_FILL_LEFT: FT_Orientation_ =
        FT_Orientation_::FT_ORIENTATION_POSTSCRIPT;
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum FT_Orientation_ {
    FT_ORIENTATION_TRUETYPE = 0,
    FT_ORIENTATION_POSTSCRIPT = 1,
    FT_ORIENTATION_NONE = 2,
}
pub use self::FT_Orientation_ as FT_Orientation;
extern "C" {
    pub fn FT_Outline_Get_Orientation(outline: *mut FT_Outline) -> FT_Orientation;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PS_FontInfoRec_ {
    pub version: *mut FT_String,
    pub notice: *mut FT_String,
    pub full_name: *mut FT_String,
    pub family_name: *mut FT_String,
    pub weight: *mut FT_String,
    pub italic_angle: FT_Long,
    pub is_fixed_pitch: FT_Bool,
    pub underline_position: FT_Short,
    pub underline_thickness: FT_UShort,
}
pub type PS_FontInfo = *mut PS_FontInfoRec_;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct PS_PrivateRec_ {
    pub unique_id: FT_Int,
    pub lenIV: FT_Int,
    pub num_blue_values: FT_Byte,
    pub num_other_blues: FT_Byte,
    pub num_family_blues: FT_Byte,
    pub num_family_other_blues: FT_Byte,
    pub blue_values: [FT_Short; 14usize],
    pub other_blues: [FT_Short; 10usize],
    pub family_blues: [FT_Short; 14usize],
    pub family_other_blues: [FT_Short; 10usize],
    pub blue_scale: FT_Fixed,
    pub blue_shift: FT_Int,
    pub blue_fuzz: FT_Int,
    pub standard_width: [FT_UShort; 1usize],
    pub standard_height: [FT_UShort; 1usize],
    pub num_snap_widths: FT_Byte,
    pub num_snap_heights: FT_Byte,
    pub force_bold: FT_Bool,
    pub round_stem_up: FT_Bool,
    pub snap_widths: [FT_Short; 13usize],
    pub snap_heights: [FT_Short; 13usize],
    pub expansion_factor: FT_Fixed,
    pub language_group: FT_Long,
    pub password: FT_Long,
    pub min_feature: [FT_Short; 2usize],
}
pub type PS_Private = *mut PS_PrivateRec_;
extern "C" {
    pub fn FT_Has_PS_Glyph_Names(face: FT_Face) -> FT_Int;
}
extern "C" {
    pub fn FT_Get_PS_Font_Info(face: FT_Face, afont_info: PS_FontInfo) -> FT_Error;
}
extern "C" {
    pub fn FT_Get_PS_Font_Private(face: FT_Face, afont_private: PS_Private) -> FT_Error;
}
impl PS_Dict_Keys_ {
    pub const PS_DICT_MAX: PS_Dict_Keys_ = PS_Dict_Keys_::PS_DICT_ITALIC_ANGLE;
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum PS_Dict_Keys_ {
    PS_DICT_FONT_TYPE = 0,
    PS_DICT_FONT_MATRIX = 1,
    PS_DICT_FONT_BBOX = 2,
    PS_DICT_PAINT_TYPE = 3,
    PS_DICT_FONT_NAME = 4,
    PS_DICT_UNIQUE_ID = 5,
    PS_DICT_NUM_CHAR_STRINGS = 6,
    PS_DICT_CHAR_STRING_KEY = 7,
    PS_DICT_CHAR_STRING = 8,
    PS_DICT_ENCODING_TYPE = 9,
    PS_DICT_ENCODING_ENTRY = 10,
    PS_DICT_NUM_SUBRS = 11,
    PS_DICT_SUBR = 12,
    PS_DICT_STD_HW = 13,
    PS_DICT_STD_VW = 14,
    PS_DICT_NUM_BLUE_VALUES = 15,
    PS_DICT_BLUE_VALUE = 16,
    PS_DICT_BLUE_FUZZ = 17,
    PS_DICT_NUM_OTHER_BLUES = 18,
    PS_DICT_OTHER_BLUE = 19,
    PS_DICT_NUM_FAMILY_BLUES = 20,
    PS_DICT_FAMILY_BLUE = 21,
    PS_DICT_NUM_FAMILY_OTHER_BLUES = 22,
    PS_DICT_FAMILY_OTHER_BLUE = 23,
    PS_DICT_BLUE_SCALE = 24,
    PS_DICT_BLUE_SHIFT = 25,
    PS_DICT_NUM_STEM_SNAP_H = 26,
    PS_DICT_STEM_SNAP_H = 27,
    PS_DICT_NUM_STEM_SNAP_V = 28,
    PS_DICT_STEM_SNAP_V = 29,
    PS_DICT_FORCE_BOLD = 30,
    PS_DICT_RND_STEM_UP = 31,
    PS_DICT_MIN_FEATURE = 32,
    PS_DICT_LEN_IV = 33,
    PS_DICT_PASSWORD = 34,
    PS_DICT_LANGUAGE_GROUP = 35,
    PS_DICT_VERSION = 36,
    PS_DICT_NOTICE = 37,
    PS_DICT_FULL_NAME = 38,
    PS_DICT_FAMILY_NAME = 39,
    PS_DICT_WEIGHT = 40,
    PS_DICT_IS_FIXED_PITCH = 41,
    PS_DICT_UNDERLINE_POSITION = 42,
    PS_DICT_UNDERLINE_THICKNESS = 43,
    PS_DICT_FS_TYPE = 44,
    PS_DICT_ITALIC_ANGLE = 45,
}
pub use self::PS_Dict_Keys_ as PS_Dict_Keys;
extern "C" {
    pub fn FT_Get_PS_Font_Value(
        face: FT_Face,
        key: PS_Dict_Keys,
        idx: FT_UInt,
        value: *mut ::std::os::raw::c_void,
        value_len: FT_Long,
    ) -> FT_Long;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct FT_MM_Axis_ {
    pub name: *mut FT_String,
    pub minimum: FT_Long,
    pub maximum: FT_Long,
}
pub type FT_MM_Axis = FT_MM_Axis_;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct FT_Multi_Master_ {
    pub num_axis: FT_UInt,
    pub num_designs: FT_UInt,
    pub axis: [FT_MM_Axis; 4usize],
}
pub type FT_Multi_Master = FT_Multi_Master_;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct FT_Var_Axis_ {
    pub name: *mut FT_String,
    pub minimum: FT_Fixed,
    pub def: FT_Fixed,
    pub maximum: FT_Fixed,
    pub tag: FT_ULong,
    pub strid: FT_UInt,
}
pub type FT_Var_Axis = FT_Var_Axis_;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct FT_Var_Named_Style_ {
    pub coords: *mut FT_Fixed,
    pub strid: FT_UInt,
    pub psid: FT_UInt,
}
pub type FT_Var_Named_Style = FT_Var_Named_Style_;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct FT_MM_Var_ {
    pub num_axis: FT_UInt,
    pub num_designs: FT_UInt,
    pub num_namedstyles: FT_UInt,
    pub axis: *mut FT_Var_Axis,
    pub namedstyle: *mut FT_Var_Named_Style,
}
pub type FT_MM_Var = FT_MM_Var_;
extern "C" {
    pub fn FT_Get_Multi_Master(face: FT_Face, amaster: *mut FT_Multi_Master) -> FT_Error;
}
extern "C" {
    pub fn FT_Get_MM_Var(face: FT_Face, amaster: *mut *mut FT_MM_Var) -> FT_Error;
}
extern "C" {
    pub fn FT_Done_MM_Var(library: FT_Library, amaster: *mut FT_MM_Var) -> FT_Error;
}
extern "C" {
    pub fn FT_Set_MM_Design_Coordinates(
        face: FT_Face,
        num_coords: FT_UInt,
        coords: *mut FT_Long,
    ) -> FT_Error;
}
extern "C" {
    pub fn FT_Set_Var_Design_Coordinates(
        face: FT_Face,
        num_coords: FT_UInt,
        coords: *mut FT_Fixed,
    ) -> FT_Error;
}
extern "C" {
    pub fn FT_Get_Var_Design_Coordinates(
        face: FT_Face,
        num_coords: FT_UInt,
        coords: *mut FT_Fixed,
    ) -> FT_Error;
}
extern "C" {
    pub fn FT_Set_MM_Blend_Coordinates(
        face: FT_Face,
        num_coords: FT_UInt,
        coords: *mut FT_Fixed,
    ) -> FT_Error;
}
extern "C" {
    pub fn FT_Get_MM_Blend_Coordinates(
        face: FT_Face,
        num_coords: FT_UInt,
        coords: *mut FT_Fixed,
    ) -> FT_Error;
}
extern "C" {
    pub fn FT_Set_Var_Blend_Coordinates(
        face: FT_Face,
        num_coords: FT_UInt,
        coords: *mut FT_Fixed,
    ) -> FT_Error;
}
extern "C" {
    pub fn FT_Get_Var_Blend_Coordinates(
        face: FT_Face,
        num_coords: FT_UInt,
        coords: *mut FT_Fixed,
    ) -> FT_Error;
}
extern "C" {
    pub fn FT_Set_MM_WeightVector(
        face: FT_Face,
        len: FT_UInt,
        weightvector: *mut FT_Fixed,
    ) -> FT_Error;
}
extern "C" {
    pub fn FT_Get_MM_WeightVector(
        face: FT_Face,
        len: *mut FT_UInt,
        weightvector: *mut FT_Fixed,
    ) -> FT_Error;
}
extern "C" {
    pub fn FT_Get_Var_Axis_Flags(
        master: *mut FT_MM_Var,
        axis_index: FT_UInt,
        flags: *mut FT_UInt,
    ) -> FT_Error;
}
extern "C" {
    pub fn FT_Set_Named_Instance(face: FT_Face, instance_index: FT_UInt) -> FT_Error;
}
extern "C" {
    pub fn FT_Get_Default_Named_Instance(face: FT_Face, instance_index: *mut FT_UInt) -> FT_Error;
}
extern "C" {
    pub fn FT_GlyphSlot_Embolden(slot: FT_GlyphSlot);
}
extern "C" {
    pub fn FT_GlyphSlot_AdjustWeight(slot: FT_GlyphSlot, xdelta: FT_Fixed, ydelta: FT_Fixed);
}
extern "C" {
    pub fn FT_GlyphSlot_Oblique(slot: FT_GlyphSlot);
}
extern "C" {
    pub fn FT_GlyphSlot_Slant(slot: FT_GlyphSlot, xslant: FT_Fixed, yslant: FT_Fixed);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct FT_Glyph_Class_ {
    _unused: [u8; 0],
}
pub type FT_Glyph_Class = FT_Glyph_Class_;
pub type FT_Glyph = *mut FT_GlyphRec_;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct FT_GlyphRec_ {
    pub library: FT_Library,
    pub clazz: *const FT_Glyph_Class,
    pub format: FT_Glyph_Format,
    pub advance: FT_Vector,
}
pub type FT_GlyphRec = FT_GlyphRec_;
pub type FT_BitmapGlyph = *mut FT_BitmapGlyphRec_;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct FT_BitmapGlyphRec_ {
    pub root: FT_GlyphRec,
    pub left: FT_Int,
    pub top: FT_Int,
    pub bitmap: FT_Bitmap,
}
pub type FT_BitmapGlyphRec = FT_BitmapGlyphRec_;
pub type FT_OutlineGlyph = *mut FT_OutlineGlyphRec_;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct FT_OutlineGlyphRec_ {
    pub root: FT_GlyphRec,
    pub outline: FT_Outline,
}
pub type FT_OutlineGlyphRec = FT_OutlineGlyphRec_;
pub type FT_SvgGlyph = *mut FT_SvgGlyphRec_;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct FT_SvgGlyphRec_ {
    pub root: FT_GlyphRec,
    pub svg_document: *mut FT_Byte,
    pub svg_document_length: FT_ULong,
    pub glyph_index: FT_UInt,
    pub metrics: FT_Size_Metrics,
    pub units_per_EM: FT_UShort,
    pub start_glyph_id: FT_UShort,
    pub end_glyph_id: FT_UShort,
    pub transform: FT_Matrix,
    pub delta: FT_Vector,
}
pub type FT_SvgGlyphRec = FT_SvgGlyphRec_;
extern "C" {
    pub fn FT_New_Glyph(
        library: FT_Library,
        format: FT_Glyph_Format,
        aglyph: *mut FT_Glyph,
    ) -> FT_Error;
}
extern "C" {
    pub fn FT_Get_Glyph(slot: FT_GlyphSlot, aglyph: *mut FT_Glyph) -> FT_Error;
}
extern "C" {
    pub fn FT_Glyph_Copy(source: FT_Glyph, target: *mut FT_Glyph) -> FT_Error;
}
extern "C" {
    pub fn FT_Glyph_Transform(
        glyph: FT_Glyph,
        matrix: *const FT_Matrix,
        delta: *const FT_Vector,
    ) -> FT_Error;
}
impl FT_Glyph_BBox_Mode_ {
    pub const FT_GLYPH_BBOX_SUBPIXELS: FT_Glyph_BBox_Mode_ =
        FT_Glyph_BBox_Mode_::FT_GLYPH_BBOX_UNSCALED;
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum FT_Glyph_BBox_Mode_ {
    FT_GLYPH_BBOX_UNSCALED = 0,
    FT_GLYPH_BBOX_GRIDFIT = 1,
    FT_GLYPH_BBOX_TRUNCATE = 2,
    FT_GLYPH_BBOX_PIXELS = 3,
}
pub use self::FT_Glyph_BBox_Mode_ as FT_Glyph_BBox_Mode;
extern "C" {
    pub fn FT_Glyph_Get_CBox(glyph: FT_Glyph, bbox_mode: FT_UInt, acbox: *mut FT_BBox);
}
extern "C" {
    pub fn FT_Glyph_To_Bitmap(
        the_glyph: *mut FT_Glyph,
        render_mode: FT_Render_Mode,
        origin: *const FT_Vector,
        destroy: FT_Bool,
    ) -> FT_Error;
}
extern "C" {
    pub fn FT_Done_Glyph(glyph: FT_Glyph);
}
extern "C" {
    pub fn FT_Matrix_Multiply(a: *const FT_Matrix, b: *mut FT_Matrix);
}
extern "C" {
    pub fn FT_Matrix_Invert(matrix: *mut FT_Matrix) -> FT_Error;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct FT_SfntName_ {
    pub platform_id: FT_UShort,
    pub encoding_id: FT_UShort,
    pub language_id: FT_UShort,
    pub name_id: FT_UShort,
    pub string: *mut FT_Byte,
    pub string_len: FT_UInt,
}
pub type FT_SfntName = FT_SfntName_;
extern "C" {
    pub fn FT_Get_Sfnt_Name_Count(face: FT_Face) -> FT_UInt;
}
extern "C" {
    pub fn FT_Get_Sfnt_Name(face: FT_Face, idx: FT_UInt, aname: *mut FT_SfntName) -> FT_Error;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct FT_SfntLangTag_ {
    pub string: *mut FT_Byte,
    pub string_len: FT_UInt,
}
pub type FT_SfntLangTag = FT_SfntLangTag_;
extern "C" {
    pub fn FT_Get_Sfnt_LangTag(
        face: FT_Face,
        langID: FT_UInt,
        alangTag: *mut FT_SfntLangTag,
    ) -> FT_Error;
}
pub type SVG_Lib_Init_Func =
    ::std::option::Option<unsafe extern "C" fn(data_pointer: *mut FT_Pointer) -> FT_Error>;
pub type SVG_Lib_Free_Func =
    ::std::option::Option<unsafe extern "C" fn(data_pointer: *mut FT_Pointer)>;
pub type SVG_Lib_Render_Func = ::std::option::Option<
    unsafe extern "C" fn(slot: FT_GlyphSlot, data_pointer: *mut FT_Pointer) -> FT_Error,
>;
pub type SVG_Lib_Preset_Slot_Func = ::std::option::Option<
    unsafe extern "C" fn(slot: FT_GlyphSlot, cache: FT_Bool, state: *mut FT_Pointer) -> FT_Error,
>;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SVG_RendererHooks_ {
    pub init_svg: SVG_Lib_Init_Func,
    pub free_svg: SVG_Lib_Free_Func,
    pub render_svg: SVG_Lib_Render_Func,
    pub preset_slot: SVG_Lib_Preset_Slot_Func,
}
pub type SVG_RendererHooks = SVG_RendererHooks_;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct FT_SVG_DocumentRec_ {
    pub svg_document: *mut FT_Byte,
    pub svg_document_length: FT_ULong,
    pub metrics: FT_Size_Metrics,
    pub units_per_EM: FT_UShort,
    pub start_glyph_id: FT_UShort,
    pub end_glyph_id: FT_UShort,
    pub transform: FT_Matrix,
    pub delta: FT_Vector,
}
pub type FT_SVG_DocumentRec = FT_SVG_DocumentRec_;
pub type FT_SVG_Document = *mut FT_SVG_DocumentRec_;
