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
613#define FT_ENC_TAG( value, a, b, c, d ) \
614 value = ( ( (FT_UInt32)(a) << 24 ) | \
615 ( (FT_UInt32)(b) << 16 ) | \
616 ( (FT_UInt32)(c) << 8 ) | \
769 FT_ENC_TAG( FT_ENCODING_MS_SYMBOL,
's',
'y',
'm',
'b' ),
770 FT_ENC_TAG( FT_ENCODING_UNICODE,
'u',
'n',
'i',
'c' ),
772 FT_ENC_TAG( FT_ENCODING_SJIS,
's',
'j',
'i',
's' ),
773 FT_ENC_TAG( FT_ENCODING_PRC,
'g',
'b',
' ',
' ' ),
774 FT_ENC_TAG( FT_ENCODING_BIG5,
'b',
'i',
'g',
'5' ),
775 FT_ENC_TAG( FT_ENCODING_WANSUNG,
'w',
'a',
'n',
's' ),
776 FT_ENC_TAG( FT_ENCODING_JOHAB,
'j',
'o',
'h',
'a' ),
786 FT_ENC_TAG( FT_ENCODING_ADOBE_STANDARD,
'A',
'D',
'O',
'B' ),
787 FT_ENC_TAG( FT_ENCODING_ADOBE_EXPERT,
'A',
'D',
'B',
'E' ),
788 FT_ENC_TAG( FT_ENCODING_ADOBE_CUSTOM,
'A',
'D',
'B',
'C' ),
789 FT_ENC_TAG( FT_ENCODING_ADOBE_LATIN_1,
'l',
'a',
't',
'1' ),
791 FT_ENC_TAG( FT_ENCODING_OLD_LATIN_2,
'l',
'a',
't',
'2' ),
793 FT_ENC_TAG( FT_ENCODING_APPLE_ROMAN,
'a',
'r',
'm',
'n' )
800#define ft_encoding_none FT_ENCODING_NONE
801#define ft_encoding_unicode FT_ENCODING_UNICODE
802#define ft_encoding_symbol FT_ENCODING_MS_SYMBOL
803#define ft_encoding_latin_1 FT_ENCODING_ADOBE_LATIN_1
804#define ft_encoding_latin_2 FT_ENCODING_OLD_LATIN_2
805#define ft_encoding_sjis FT_ENCODING_SJIS
806#define ft_encoding_gb2312 FT_ENCODING_PRC
807#define ft_encoding_big5 FT_ENCODING_BIG5
808#define ft_encoding_wansung FT_ENCODING_WANSUNG
809#define ft_encoding_johab FT_ENCODING_JOHAB
811#define ft_encoding_adobe_standard FT_ENCODING_ADOBE_STANDARD
812#define ft_encoding_adobe_expert FT_ENCODING_ADOBE_EXPERT
813#define ft_encoding_adobe_custom FT_ENCODING_ADOBE_CUSTOM
814#define ft_encoding_apple_roman FT_ENCODING_APPLE_ROMAN
1238#define FT_FACE_FLAG_SCALABLE ( 1L << 0 )
1239#define FT_FACE_FLAG_FIXED_SIZES ( 1L << 1 )
1240#define FT_FACE_FLAG_FIXED_WIDTH ( 1L << 2 )
1241#define FT_FACE_FLAG_SFNT ( 1L << 3 )
1242#define FT_FACE_FLAG_HORIZONTAL ( 1L << 4 )
1243#define FT_FACE_FLAG_VERTICAL ( 1L << 5 )
1244#define FT_FACE_FLAG_KERNING ( 1L << 6 )
1245#define FT_FACE_FLAG_FAST_GLYPHS ( 1L << 7 )
1246#define FT_FACE_FLAG_MULTIPLE_MASTERS ( 1L << 8 )
1247#define FT_FACE_FLAG_GLYPH_NAMES ( 1L << 9 )
1248#define FT_FACE_FLAG_EXTERNAL_STREAM ( 1L << 10 )
1249#define FT_FACE_FLAG_HINTER ( 1L << 11 )
1250#define FT_FACE_FLAG_CID_KEYED ( 1L << 12 )
1251#define FT_FACE_FLAG_TRICKY ( 1L << 13 )
1252#define FT_FACE_FLAG_COLOR ( 1L << 14 )
1253#define FT_FACE_FLAG_VARIATION ( 1L << 15 )
1269#define FT_HAS_HORIZONTAL( face ) \
1270 ( (face)->face_flags & FT_FACE_FLAG_HORIZONTAL )
1283#define FT_HAS_VERTICAL( face ) \
1284 ( (face)->face_flags & FT_FACE_FLAG_VERTICAL )
1297#define FT_HAS_KERNING( face ) \
1298 ( (face)->face_flags & FT_FACE_FLAG_KERNING )
1312#define FT_IS_SCALABLE( face ) \
1313 ( (face)->face_flags & FT_FACE_FLAG_SCALABLE )
1331#define FT_IS_SFNT( face ) \
1332 ( (face)->face_flags & FT_FACE_FLAG_SFNT )
1346#define FT_IS_FIXED_WIDTH( face ) \
1347 ( (face)->face_flags & FT_FACE_FLAG_FIXED_WIDTH )
1361#define FT_HAS_FIXED_SIZES( face ) \
1362 ( (face)->face_flags & FT_FACE_FLAG_FIXED_SIZES )
1374#define FT_HAS_FAST_GLYPHS( face ) 0
1387#define FT_HAS_GLYPH_NAMES( face ) \
1388 ( (face)->face_flags & FT_FACE_FLAG_GLYPH_NAMES )
1402#define FT_HAS_MULTIPLE_MASTERS( face ) \
1403 ( (face)->face_flags & FT_FACE_FLAG_MULTIPLE_MASTERS )
1424#define FT_IS_NAMED_INSTANCE( face ) \
1425 ( (face)->face_index & 0x7FFF0000L )
1442#define FT_IS_VARIATION( face ) \
1443 ( (face)->face_flags & FT_FACE_FLAG_VARIATION )
1460#define FT_IS_CID_KEYED( face ) \
1461 ( (face)->face_flags & FT_FACE_FLAG_CID_KEYED )
1474#define FT_IS_TRICKY( face ) \
1475 ( (face)->face_flags & FT_FACE_FLAG_TRICKY )
1491#define FT_HAS_COLOR( face ) \
1492 ( (face)->face_flags & FT_FACE_FLAG_COLOR )
1517#define FT_STYLE_FLAG_ITALIC ( 1 << 0 )
1518#define FT_STYLE_FLAG_BOLD ( 1 << 1 )
2034#define FT_OPEN_MEMORY 0x1
2035#define FT_OPEN_STREAM 0x2
2036#define FT_OPEN_PATHNAME 0x4
2037#define FT_OPEN_DRIVER 0x8
2038#define FT_OPEN_PARAMS 0x10
2043#define ft_open_memory FT_OPEN_MEMORY
2044#define ft_open_stream FT_OPEN_STREAM
2045#define ft_open_pathname FT_OPEN_PATHNAME
2046#define ft_open_driver FT_OPEN_DRIVER
2047#define ft_open_params FT_OPEN_PARAMS
2179 const char* filepathname,
2389 const char* filepathname );
2800 FT_Int32 load_flags );
2839 FT_Int32 load_flags );
3008#define FT_LOAD_DEFAULT 0x0
3009#define FT_LOAD_NO_SCALE ( 1L << 0 )
3010#define FT_LOAD_NO_HINTING ( 1L << 1 )
3011#define FT_LOAD_RENDER ( 1L << 2 )
3012#define FT_LOAD_NO_BITMAP ( 1L << 3 )
3013#define FT_LOAD_VERTICAL_LAYOUT ( 1L << 4 )
3014#define FT_LOAD_FORCE_AUTOHINT ( 1L << 5 )
3015#define FT_LOAD_CROP_BITMAP ( 1L << 6 )
3016#define FT_LOAD_PEDANTIC ( 1L << 7 )
3017#define FT_LOAD_IGNORE_GLOBAL_ADVANCE_WIDTH ( 1L << 9 )
3018#define FT_LOAD_NO_RECURSE ( 1L << 10 )
3019#define FT_LOAD_IGNORE_TRANSFORM ( 1L << 11 )
3020#define FT_LOAD_MONOCHROME ( 1L << 12 )
3021#define FT_LOAD_LINEAR_DESIGN ( 1L << 13 )
3022#define FT_LOAD_NO_AUTOHINT ( 1L << 15 )
3024#define FT_LOAD_COLOR ( 1L << 20 )
3025#define FT_LOAD_COMPUTE_METRICS ( 1L << 21 )
3026#define FT_LOAD_BITMAP_METRICS_ONLY ( 1L << 22 )
3031#define FT_LOAD_ADVANCE_ONLY ( 1L << 8 )
3032#define FT_LOAD_SBITS_ONLY ( 1L << 14 )
3118#define FT_LOAD_TARGET_( x ) ( (FT_Int32)( (x) & 15 ) << 16 )
3120#define FT_LOAD_TARGET_NORMAL FT_LOAD_TARGET_( FT_RENDER_MODE_NORMAL )
3121#define FT_LOAD_TARGET_LIGHT FT_LOAD_TARGET_( FT_RENDER_MODE_LIGHT )
3122#define FT_LOAD_TARGET_MONO FT_LOAD_TARGET_( FT_RENDER_MODE_MONO )
3123#define FT_LOAD_TARGET_LCD FT_LOAD_TARGET_( FT_RENDER_MODE_LCD )
3124#define FT_LOAD_TARGET_LCD_V FT_LOAD_TARGET_( FT_RENDER_MODE_LCD_V )
3137#define FT_LOAD_TARGET_MODE( x ) ( (FT_Render_Mode)( ( (x) >> 16 ) & 15 ) )
3247#define ft_render_mode_normal FT_RENDER_MODE_NORMAL
3248#define ft_render_mode_mono FT_RENDER_MODE_MONO
3398#define ft_kerning_default FT_KERNING_DEFAULT
3399#define ft_kerning_unfitted FT_KERNING_UNFITTED
3400#define ft_kerning_unscaled FT_KERNING_UNSCALED
3922#define FT_SUBGLYPH_FLAG_ARGS_ARE_WORDS 1
3923#define FT_SUBGLYPH_FLAG_ARGS_ARE_XY_VALUES 2
3924#define FT_SUBGLYPH_FLAG_ROUND_XY_TO_GRID 4
3925#define FT_SUBGLYPH_FLAG_SCALE 8
3926#define FT_SUBGLYPH_FLAG_XY_SCALE 0x40
3927#define FT_SUBGLYPH_FLAG_2X2 0x80
3928#define FT_SUBGLYPH_FLAG_USE_MY_METRICS 0x200
4037#define FT_FSTYPE_INSTALLABLE_EMBEDDING 0x0000
4038#define FT_FSTYPE_RESTRICTED_LICENSE_EMBEDDING 0x0002
4039#define FT_FSTYPE_PREVIEW_AND_PRINT_EMBEDDING 0x0004
4040#define FT_FSTYPE_EDITABLE_EMBEDDING 0x0008
4041#define FT_FSTYPE_NO_SUBSETTING 0x0100
4042#define FT_FSTYPE_BITMAP_EMBEDDING_ONLY 0x0200
4553#define FREETYPE_MAJOR 2
4554#define FREETYPE_MINOR 9
4555#define FREETYPE_PATCH 0
FT_Load_Glyph(FT_Face face, FT_UInt glyph_index, FT_Int32 load_flags)
struct FT_Bitmap_Size_ FT_Bitmap_Size
enum FT_Size_Request_Type_ FT_Size_Request_Type
struct FT_CharMapRec_ FT_CharMapRec
FT_BEGIN_HEADER struct FT_Glyph_Metrics_ FT_Glyph_Metrics
FT_Set_Transform(FT_Face face, FT_Matrix *matrix, FT_Vector *delta)
struct FT_RendererRec_ * FT_Renderer
FT_Vector_Transform(FT_Vector *vec, const FT_Matrix *matrix)
struct FT_SubGlyphRec_ * FT_SubGlyph
struct FT_Size_RequestRec_ FT_Size_RequestRec
FT_New_Face(FT_Library library, const char *filepathname, FT_Long face_index, FT_Face *aface)
FT_Face_GetVariantSelectors(FT_Face face)
struct FT_Parameter_ FT_Parameter
FT_Face_CheckTrueTypePatents(FT_Face face)
@ FT_SIZE_REQUEST_TYPE_BBOX
@ FT_SIZE_REQUEST_TYPE_NOMINAL
@ FT_SIZE_REQUEST_TYPE_REAL_DIM
@ FT_SIZE_REQUEST_TYPE_SCALES
@ FT_SIZE_REQUEST_TYPE_MAX
@ FT_SIZE_REQUEST_TYPE_CELL
struct FT_Face_InternalRec_ * FT_Face_Internal
FT_Library_Version(FT_Library library, FT_Int *amajor, FT_Int *aminor, FT_Int *apatch)
FT_Set_Pixel_Sizes(FT_Face face, FT_UInt pixel_width, FT_UInt pixel_height)
FT_Done_Face(FT_Face face)
FT_Get_First_Char(FT_Face face, FT_UInt *agindex)
FT_Face_GetVariantsOfChar(FT_Face face, FT_ULong charcode)
FT_Open_Face(FT_Library library, const FT_Open_Args *args, FT_Long face_index, FT_Face *aface)
enum FT_Render_Mode_ FT_Render_Mode
struct FT_FaceRec_ FT_FaceRec
FT_Get_FSType_Flags(FT_Face face)
FT_Face_SetUnpatentedHinting(FT_Face face, FT_Bool value)
FT_DivFix(FT_Long a, FT_Long b)
FT_Get_Char_Index(FT_Face face, FT_ULong charcode)
struct FT_DriverRec_ * FT_Driver
struct FT_Size_InternalRec_ * FT_Size_Internal
FT_Select_Charmap(FT_Face face, FT_Encoding encoding)
struct FT_ModuleRec_ * FT_Module
FT_Select_Size(FT_Face face, FT_Int strike_index)
struct FT_GlyphSlotRec_ FT_GlyphSlotRec
struct FT_Size_RequestRec_ * FT_Size_Request
FT_Request_Size(FT_Face face, FT_Size_Request req)
struct FT_GlyphSlotRec_ * FT_GlyphSlot
struct FT_SizeRec_ * FT_Size
FT_Get_Postscript_Name(FT_Face face)
struct FT_FaceRec_ * FT_Face
FT_Face_GetCharVariantIndex(FT_Face face, FT_ULong charcode, FT_ULong variantSelector)
FT_Get_Next_Char(FT_Face face, FT_ULong char_code, FT_UInt *agindex)
enum FT_Kerning_Mode_ FT_Kerning_Mode
FT_Get_Charmap_Index(FT_CharMap charmap)
FT_Set_Charmap(FT_Face face, FT_CharMap charmap)
struct FT_LibraryRec_ * FT_Library
#define FT_ENC_TAG(value, a, b, c, d)
enum FT_Encoding_ FT_Encoding
struct FT_SizeRec_ FT_SizeRec
struct FT_Open_Args_ FT_Open_Args
FT_Get_Glyph_Name(FT_Face face, FT_UInt glyph_index, FT_Pointer buffer, FT_UInt buffer_max)
struct FT_Slot_InternalRec_ * FT_Slot_Internal
FT_Render_Glyph(FT_GlyphSlot slot, FT_Render_Mode render_mode)
FT_Done_FreeType(FT_Library library)
FT_Get_Track_Kerning(FT_Face face, FT_Fixed point_size, FT_Int degree, FT_Fixed *akerning)
FT_Get_Name_Index(FT_Face face, FT_String *glyph_name)
FT_Get_Kerning(FT_Face face, FT_UInt left_glyph, FT_UInt right_glyph, FT_UInt kern_mode, FT_Vector *akerning)
FT_Attach_Stream(FT_Face face, FT_Open_Args *parameters)
struct FT_Size_Metrics_ FT_Size_Metrics
FT_Get_SubGlyph_Info(FT_GlyphSlot glyph, FT_UInt sub_index, FT_Int *p_index, FT_UInt *p_flags, FT_Int *p_arg1, FT_Int *p_arg2, FT_Matrix *p_transform)
FT_Face_GetCharVariantIsDefault(FT_Face face, FT_ULong charcode, FT_ULong variantSelector)
FT_Face_GetCharsOfVariant(FT_Face face, FT_ULong variantSelector)
FT_MulDiv(FT_Long a, FT_Long b, FT_Long c)
FT_Set_Char_Size(FT_Face face, FT_F26Dot6 char_width, FT_F26Dot6 char_height, FT_UInt horz_resolution, FT_UInt vert_resolution)
FT_Face_Properties(FT_Face face, FT_UInt num_properties, FT_Parameter *properties)
FT_Reference_Face(FT_Face face)
FT_Attach_File(FT_Face face, const char *filepathname)
FT_New_Memory_Face(FT_Library library, const FT_Byte *file_base, FT_Long file_size, FT_Long face_index, FT_Face *aface)
FT_MulFix(FT_Long a, FT_Long b)
FT_Load_Char(FT_Face face, FT_ULong char_code, FT_Int32 load_flags)
FT_Init_FreeType(FT_Library *alibrary)
struct FT_CharMapRec_ * FT_CharMap
enum FT_Glyph_Format_ FT_Glyph_Format
FT_BEGIN_HEADER typedef signed long FT_Pos
typedefFT_BEGIN_HEADER struct FT_MemoryRec_ * FT_Memory
FT_BEGIN_HEADER typedef unsigned char FT_Bool
GLenum GLuint GLint GLenum face
GLboolean GLboolean GLboolean b
GLboolean GLboolean GLboolean GLboolean a
static unsigned int file_size
FT_Bitmap_Size * available_sizes
FT_Short underline_thickness
FT_Short max_advance_height
FT_Short underline_position
FT_Short max_advance_width
FT_Face_Internal internal
FT_Slot_Internal internal
FT_Fixed linearHoriAdvance
FT_Fixed linearVertAdvance
const FT_Byte * memory_base
FT_Size_Internal internal
FT_Size_Request_Type type
FT_UInt FT_UInt right_glyph