24#error "`ft2build.h' hasn't been included yet!"
25#error "Please always use macros to include FreeType header files."
27#error " #include <ft2build.h>"
28#error " #include FT_FREETYPE_H"
33#include FT_CONFIG_CONFIG_H
408 typedef struct FT_LibraryRec_ *FT_Library;
428 typedef struct FT_ModuleRec_* FT_Module;
440 typedef struct FT_DriverRec_* FT_Driver;
454 typedef struct FT_RendererRec_* FT_Renderer;
603#define FT_ENC_TAG( value, a, b, c, d ) \
604 value = ( ( (FT_UInt32)(a) << 24 ) | \
605 ( (FT_UInt32)(b) << 16 ) | \
606 ( (FT_UInt32)(c) << 8 ) | \
756 typedef enum FT_Encoding_
758 FT_ENC_TAG( FT_ENCODING_NONE, 0, 0, 0, 0 ),
760 FT_ENC_TAG( FT_ENCODING_MS_SYMBOL,
's',
'y',
'm',
'b' ),
761 FT_ENC_TAG( FT_ENCODING_UNICODE,
'u',
'n',
'i',
'c' ),
763 FT_ENC_TAG( FT_ENCODING_SJIS,
's',
'j',
'i',
's' ),
764 FT_ENC_TAG( FT_ENCODING_GB2312,
'g',
'b',
' ',
' ' ),
765 FT_ENC_TAG( FT_ENCODING_BIG5,
'b',
'i',
'g',
'5' ),
766 FT_ENC_TAG( FT_ENCODING_WANSUNG,
'w',
'a',
'n',
's' ),
767 FT_ENC_TAG( FT_ENCODING_JOHAB,
'j',
'o',
'h',
'a' ),
770 FT_ENCODING_MS_SJIS = FT_ENCODING_SJIS,
771 FT_ENCODING_MS_GB2312 = FT_ENCODING_GB2312,
772 FT_ENCODING_MS_BIG5 = FT_ENCODING_BIG5,
773 FT_ENCODING_MS_WANSUNG = FT_ENCODING_WANSUNG,
774 FT_ENCODING_MS_JOHAB = FT_ENCODING_JOHAB,
776 FT_ENC_TAG( FT_ENCODING_ADOBE_STANDARD,
'A',
'D',
'O',
'B' ),
777 FT_ENC_TAG( FT_ENCODING_ADOBE_EXPERT,
'A',
'D',
'B',
'E' ),
778 FT_ENC_TAG( FT_ENCODING_ADOBE_CUSTOM,
'A',
'D',
'B',
'C' ),
779 FT_ENC_TAG( FT_ENCODING_ADOBE_LATIN_1,
'l',
'a',
't',
'1' ),
781 FT_ENC_TAG( FT_ENCODING_OLD_LATIN_2,
'l',
'a',
't',
'2' ),
783 FT_ENC_TAG( FT_ENCODING_APPLE_ROMAN,
'a',
'r',
'm',
'n' )
790#define ft_encoding_none FT_ENCODING_NONE
791#define ft_encoding_unicode FT_ENCODING_UNICODE
792#define ft_encoding_symbol FT_ENCODING_MS_SYMBOL
793#define ft_encoding_latin_1 FT_ENCODING_ADOBE_LATIN_1
794#define ft_encoding_latin_2 FT_ENCODING_OLD_LATIN_2
795#define ft_encoding_sjis FT_ENCODING_SJIS
796#define ft_encoding_gb2312 FT_ENCODING_GB2312
797#define ft_encoding_big5 FT_ENCODING_BIG5
798#define ft_encoding_wansung FT_ENCODING_WANSUNG
799#define ft_encoding_johab FT_ENCODING_JOHAB
801#define ft_encoding_adobe_standard FT_ENCODING_ADOBE_STANDARD
802#define ft_encoding_adobe_expert FT_ENCODING_ADOBE_EXPERT
803#define ft_encoding_adobe_custom FT_ENCODING_ADOBE_CUSTOM
804#define ft_encoding_apple_roman FT_ENCODING_APPLE_ROMAN
833 FT_Encoding encoding;
834 FT_UShort platform_id;
835 FT_UShort encoding_id;
861 typedef struct FT_Face_InternalRec_* FT_Face_Internal;
1039 FT_Long style_flags;
1043 FT_String* family_name;
1044 FT_String* style_name;
1046 FT_Int num_fixed_sizes;
1049 FT_Int num_charmaps;
1059 FT_UShort units_per_EM;
1064 FT_Short max_advance_width;
1065 FT_Short max_advance_height;
1067 FT_Short underline_position;
1068 FT_Short underline_thickness;
1085 FT_Face_Internal internal;
1194#define FT_FACE_FLAG_SCALABLE ( 1L << 0 )
1195#define FT_FACE_FLAG_FIXED_SIZES ( 1L << 1 )
1196#define FT_FACE_FLAG_FIXED_WIDTH ( 1L << 2 )
1197#define FT_FACE_FLAG_SFNT ( 1L << 3 )
1198#define FT_FACE_FLAG_HORIZONTAL ( 1L << 4 )
1199#define FT_FACE_FLAG_VERTICAL ( 1L << 5 )
1200#define FT_FACE_FLAG_KERNING ( 1L << 6 )
1201#define FT_FACE_FLAG_FAST_GLYPHS ( 1L << 7 )
1202#define FT_FACE_FLAG_MULTIPLE_MASTERS ( 1L << 8 )
1203#define FT_FACE_FLAG_GLYPH_NAMES ( 1L << 9 )
1204#define FT_FACE_FLAG_EXTERNAL_STREAM ( 1L << 10 )
1205#define FT_FACE_FLAG_HINTER ( 1L << 11 )
1206#define FT_FACE_FLAG_CID_KEYED ( 1L << 12 )
1207#define FT_FACE_FLAG_TRICKY ( 1L << 13 )
1208#define FT_FACE_FLAG_COLOR ( 1L << 14 )
1224#define FT_HAS_HORIZONTAL( face ) \
1225 ( face->face_flags & FT_FACE_FLAG_HORIZONTAL )
1238#define FT_HAS_VERTICAL( face ) \
1239 ( face->face_flags & FT_FACE_FLAG_VERTICAL )
1252#define FT_HAS_KERNING( face ) \
1253 ( face->face_flags & FT_FACE_FLAG_KERNING )
1267#define FT_IS_SCALABLE( face ) \
1268 ( face->face_flags & FT_FACE_FLAG_SCALABLE )
1286#define FT_IS_SFNT( face ) \
1287 ( face->face_flags & FT_FACE_FLAG_SFNT )
1301#define FT_IS_FIXED_WIDTH( face ) \
1302 ( face->face_flags & FT_FACE_FLAG_FIXED_WIDTH )
1316#define FT_HAS_FIXED_SIZES( face ) \
1317 ( face->face_flags & FT_FACE_FLAG_FIXED_SIZES )
1329#define FT_HAS_FAST_GLYPHS( face ) 0
1342#define FT_HAS_GLYPH_NAMES( face ) \
1343 ( face->face_flags & FT_FACE_FLAG_GLYPH_NAMES )
1357#define FT_HAS_MULTIPLE_MASTERS( face ) \
1358 ( face->face_flags & FT_FACE_FLAG_MULTIPLE_MASTERS )
1375#define FT_IS_CID_KEYED( face ) \
1376 ( face->face_flags & FT_FACE_FLAG_CID_KEYED )
1389#define FT_IS_TRICKY( face ) \
1390 ( face->face_flags & FT_FACE_FLAG_TRICKY )
1403#define FT_HAS_COLOR( face ) \
1404 ( face->face_flags & FT_FACE_FLAG_COLOR )
1429#define FT_STYLE_FLAG_ITALIC ( 1 << 0 )
1430#define FT_STYLE_FLAG_BOLD ( 1 << 1 )
1442 typedef struct FT_Size_InternalRec_* FT_Size_Internal;
1540 FT_Size_Internal internal;
1561 typedef struct FT_SubGlyphRec_* FT_SubGlyph;
1573 typedef struct FT_Slot_InternalRec_* FT_Slot_Internal;
1752 FT_Glyph_Metrics metrics;
1753 FT_Fixed linearHoriAdvance;
1754 FT_Fixed linearVertAdvance;
1757 FT_Glyph_Format format;
1765 FT_UInt num_subglyphs;
1766 FT_SubGlyph subglyphs;
1776 FT_Slot_Internal internal;
1816 FT_EXPORT( FT_Error )
1817 FT_Init_FreeType( FT_Library *alibrary );
1835 FT_EXPORT( FT_Error )
1836 FT_Done_FreeType( FT_Library library );
1864#define FT_OPEN_MEMORY 0x1
1865#define FT_OPEN_STREAM 0x2
1866#define FT_OPEN_PATHNAME 0x4
1867#define FT_OPEN_DRIVER 0x8
1868#define FT_OPEN_PARAMS 0x10
1873#define ft_open_memory FT_OPEN_MEMORY
1874#define ft_open_stream FT_OPEN_STREAM
1875#define ft_open_pathname FT_OPEN_PATHNAME
1876#define ft_open_driver FT_OPEN_DRIVER
1877#define ft_open_params FT_OPEN_PARAMS
1967 const FT_Byte* memory_base;
1968 FT_Long memory_size;
1969 FT_String* pathname;
2006 FT_EXPORT( FT_Error )
2007 FT_New_Face( FT_Library library,
2008 const char* filepathname,
2043 FT_EXPORT( FT_Error )
2044 FT_New_Memory_Face( FT_Library library,
2045 const FT_Byte* file_base,
2191 FT_EXPORT( FT_Error )
2192 FT_Open_Face( FT_Library library,
2215 FT_EXPORT( FT_Error )
2217 const char* filepathname );
2250 FT_EXPORT( FT_Error )
2251 FT_Attach_Stream(
FT_Face face,
2278 FT_EXPORT( FT_Error )
2279 FT_Reference_Face(
FT_Face face );
2301 FT_EXPORT( FT_Error )
2323 FT_EXPORT( FT_Error )
2325 FT_Int strike_index );
2370 typedef enum FT_Size_Request_Type_
2372 FT_SIZE_REQUEST_TYPE_NOMINAL,
2373 FT_SIZE_REQUEST_TYPE_REAL_DIM,
2374 FT_SIZE_REQUEST_TYPE_BBOX,
2375 FT_SIZE_REQUEST_TYPE_CELL,
2376 FT_SIZE_REQUEST_TYPE_SCALES,
2378 FT_SIZE_REQUEST_TYPE_MAX
2380 } FT_Size_Request_Type;
2412 FT_Size_Request_Type type;
2415 FT_UInt horiResolution;
2416 FT_UInt vertResolution;
2463 FT_EXPORT( FT_Error )
2464 FT_Request_Size(
FT_Face face,
2504 FT_EXPORT( FT_Error )
2505 FT_Set_Char_Size(
FT_Face face,
2506 FT_F26Dot6 char_width,
2507 FT_F26Dot6 char_height,
2508 FT_UInt horz_resolution,
2509 FT_UInt vert_resolution );
2539 FT_EXPORT( FT_Error )
2540 FT_Set_Pixel_Sizes(
FT_Face face,
2541 FT_UInt pixel_width,
2542 FT_UInt pixel_height );
2581 FT_EXPORT( FT_Error )
2583 FT_UInt glyph_index,
2584 FT_Int32 load_flags );
2616 FT_EXPORT( FT_Error )
2619 FT_Int32 load_flags );
2783#define FT_LOAD_DEFAULT 0x0
2784#define FT_LOAD_NO_SCALE ( 1L << 0 )
2785#define FT_LOAD_NO_HINTING ( 1L << 1 )
2786#define FT_LOAD_RENDER ( 1L << 2 )
2787#define FT_LOAD_NO_BITMAP ( 1L << 3 )
2788#define FT_LOAD_VERTICAL_LAYOUT ( 1L << 4 )
2789#define FT_LOAD_FORCE_AUTOHINT ( 1L << 5 )
2790#define FT_LOAD_CROP_BITMAP ( 1L << 6 )
2791#define FT_LOAD_PEDANTIC ( 1L << 7 )
2792#define FT_LOAD_IGNORE_GLOBAL_ADVANCE_WIDTH ( 1L << 9 )
2793#define FT_LOAD_NO_RECURSE ( 1L << 10 )
2794#define FT_LOAD_IGNORE_TRANSFORM ( 1L << 11 )
2795#define FT_LOAD_MONOCHROME ( 1L << 12 )
2796#define FT_LOAD_LINEAR_DESIGN ( 1L << 13 )
2797#define FT_LOAD_NO_AUTOHINT ( 1L << 15 )
2799#define FT_LOAD_COLOR ( 1L << 20 )
2800#define FT_LOAD_COMPUTE_METRICS ( 1L << 21 )
2805#define FT_LOAD_ADVANCE_ONLY ( 1L << 8 )
2806#define FT_LOAD_SBITS_ONLY ( 1L << 14 )
2874#define FT_LOAD_TARGET_( x ) ( (FT_Int32)( (x) & 15 ) << 16 )
2876#define FT_LOAD_TARGET_NORMAL FT_LOAD_TARGET_( FT_RENDER_MODE_NORMAL )
2877#define FT_LOAD_TARGET_LIGHT FT_LOAD_TARGET_( FT_RENDER_MODE_LIGHT )
2878#define FT_LOAD_TARGET_MONO FT_LOAD_TARGET_( FT_RENDER_MODE_MONO )
2879#define FT_LOAD_TARGET_LCD FT_LOAD_TARGET_( FT_RENDER_MODE_LCD )
2880#define FT_LOAD_TARGET_LCD_V FT_LOAD_TARGET_( FT_RENDER_MODE_LCD_V )
2893#define FT_LOAD_TARGET_MODE( x ) ( (FT_Render_Mode)( ( (x) >> 16 ) & 15 ) )
2925 FT_Set_Transform(
FT_Face face,
2988 typedef enum FT_Render_Mode_
2990 FT_RENDER_MODE_NORMAL = 0,
2991 FT_RENDER_MODE_LIGHT,
2992 FT_RENDER_MODE_MONO,
2994 FT_RENDER_MODE_LCD_V,
3003#define ft_render_mode_normal FT_RENDER_MODE_NORMAL
3004#define ft_render_mode_mono FT_RENDER_MODE_MONO
3110 FT_EXPORT( FT_Error )
3112 FT_Render_Mode render_mode );
3141 typedef enum FT_Kerning_Mode_
3143 FT_KERNING_DEFAULT = 0,
3144 FT_KERNING_UNFITTED,
3152#define ft_kerning_default FT_KERNING_DEFAULT
3153#define ft_kerning_unfitted FT_KERNING_UNFITTED
3154#define ft_kerning_unscaled FT_KERNING_UNSCALED
3191 FT_EXPORT( FT_Error )
3194 FT_UInt right_glyph,
3232 FT_EXPORT( FT_Error )
3233 FT_Get_Track_Kerning(
FT_Face face,
3234 FT_Fixed point_size,
3236 FT_Fixed* akerning );
3278 FT_EXPORT( FT_Error )
3279 FT_Get_Glyph_Name(
FT_Face face,
3280 FT_UInt glyph_index,
3282 FT_UInt buffer_max );
3304 FT_EXPORT(
const char* )
3305 FT_Get_Postscript_Name(
FT_Face face );
3336 FT_EXPORT( FT_Error )
3337 FT_Select_Charmap(
FT_Face face,
3338 FT_Encoding encoding );
3365 FT_EXPORT( FT_Error )
3421 FT_EXPORT( FT_UInt )
3422 FT_Get_Char_Index(
FT_Face face,
3423 FT_ULong charcode );
3476 FT_EXPORT( FT_ULong )
3477 FT_Get_First_Char(
FT_Face face,
3510 FT_EXPORT( FT_ULong )
3511 FT_Get_Next_Char(
FT_Face face,
3533 FT_EXPORT( FT_UInt )
3534 FT_Get_Name_Index(
FT_Face face,
3535 FT_String* glyph_name );
3557#define FT_SUBGLYPH_FLAG_ARGS_ARE_WORDS 1
3558#define FT_SUBGLYPH_FLAG_ARGS_ARE_XY_VALUES 2
3559#define FT_SUBGLYPH_FLAG_ROUND_XY_TO_GRID 4
3560#define FT_SUBGLYPH_FLAG_SCALE 8
3561#define FT_SUBGLYPH_FLAG_XY_SCALE 0x40
3562#define FT_SUBGLYPH_FLAG_2X2 0x80
3563#define FT_SUBGLYPH_FLAG_USE_MY_METRICS 0x200
3609 FT_EXPORT( FT_Error )
3674#define FT_FSTYPE_INSTALLABLE_EMBEDDING 0x0000
3675#define FT_FSTYPE_RESTRICTED_LICENSE_EMBEDDING 0x0002
3676#define FT_FSTYPE_PREVIEW_AND_PRINT_EMBEDDING 0x0004
3677#define FT_FSTYPE_EDITABLE_EMBEDDING 0x0008
3678#define FT_FSTYPE_NO_SUBSETTING 0x0100
3679#define FT_FSTYPE_BITMAP_EMBEDDING_ONLY 0x0200
3704 FT_EXPORT( FT_UShort )
3705 FT_Get_FSType_Flags(
FT_Face face );
3790 FT_EXPORT( FT_UInt )
3791 FT_Face_GetCharVariantIndex(
FT_Face face,
3793 FT_ULong variantSelector );
3827 FT_Face_GetCharVariantIsDefault(
FT_Face face,
3829 FT_ULong variantSelector );
3857 FT_EXPORT( FT_UInt32* )
3858 FT_Face_GetVariantSelectors(
FT_Face face );
3890 FT_EXPORT( FT_UInt32* )
3891 FT_Face_GetVariantsOfChar(
FT_Face face,
3892 FT_ULong charcode );
3924 FT_EXPORT( FT_UInt32* )
3925 FT_Face_GetCharsOfVariant(
FT_Face face,
3926 FT_ULong variantSelector );
3981 FT_EXPORT( FT_Long )
3982 FT_MulDiv( FT_Long a,
4016 FT_EXPORT( FT_Long )
4017 FT_MulFix( FT_Long a,
4038 FT_EXPORT( FT_Long )
4039 FT_DivFix( FT_Long a,
4058 FT_EXPORT( FT_Fixed )
4059 FT_RoundFix( FT_Fixed a );
4077 FT_EXPORT( FT_Fixed )
4078 FT_CeilFix( FT_Fixed a );
4096 FT_EXPORT( FT_Fixed )
4097 FT_FloorFix( FT_Fixed a );
4173#define FREETYPE_MAJOR 2
4174#define FREETYPE_MINOR 6
4175#define FREETYPE_PATCH 3
4208 FT_Library_Version( FT_Library library,
4234 FT_EXPORT( FT_Bool )
4235 FT_Face_CheckTrueTypePatents(
FT_Face face );
4260 FT_EXPORT( FT_Bool )
4261 FT_Face_SetUnpatentedHinting(
FT_Face face,
Definition freetype.h:363
Definition freetype.h:831
Definition freetype.h:1034
Definition freetype.h:309
Definition freetype.h:1745
Definition freetype.h:1965
Definition freetype.h:1899
Definition freetype.h:1501
Definition freetype.h:2411
Definition freetype.h:1536
Definition ftsystem.h:331