24#include FT_CONFIG_CONFIG_H
25#include <freetype/fttypes.h>
26#include <freetype/fterrors.h>
772#define FT_ENC_TAG( value, a, b, c, d ) \
773 value = ( ( FT_STATIC_BYTE_CAST( FT_UInt32, a ) << 24 ) | \
774 ( FT_STATIC_BYTE_CAST( FT_UInt32, b ) << 16 ) | \
775 ( FT_STATIC_BYTE_CAST( FT_UInt32, c ) << 8 ) | \
776 FT_STATIC_BYTE_CAST( FT_UInt32, d ) )
931 FT_ENC_TAG( FT_ENCODING_MS_SYMBOL,
's',
'y',
'm',
'b' ),
932 FT_ENC_TAG( FT_ENCODING_UNICODE,
'u',
'n',
'i',
'c' ),
934 FT_ENC_TAG( FT_ENCODING_SJIS,
's',
'j',
'i',
's' ),
935 FT_ENC_TAG( FT_ENCODING_PRC,
'g',
'b',
' ',
' ' ),
936 FT_ENC_TAG( FT_ENCODING_BIG5,
'b',
'i',
'g',
'5' ),
937 FT_ENC_TAG( FT_ENCODING_WANSUNG,
'w',
'a',
'n',
's' ),
938 FT_ENC_TAG( FT_ENCODING_JOHAB,
'j',
'o',
'h',
'a' ),
948 FT_ENC_TAG( FT_ENCODING_ADOBE_STANDARD,
'A',
'D',
'O',
'B' ),
949 FT_ENC_TAG( FT_ENCODING_ADOBE_EXPERT,
'A',
'D',
'B',
'E' ),
950 FT_ENC_TAG( FT_ENCODING_ADOBE_CUSTOM,
'A',
'D',
'B',
'C' ),
951 FT_ENC_TAG( FT_ENCODING_ADOBE_LATIN_1,
'l',
'a',
't',
'1' ),
953 FT_ENC_TAG( FT_ENCODING_OLD_LATIN_2,
'l',
'a',
't',
'2' ),
955 FT_ENC_TAG( FT_ENCODING_APPLE_ROMAN,
'a',
'r',
'm',
'n' )
962#define ft_encoding_none FT_ENCODING_NONE
963#define ft_encoding_unicode FT_ENCODING_UNICODE
964#define ft_encoding_symbol FT_ENCODING_MS_SYMBOL
965#define ft_encoding_latin_1 FT_ENCODING_ADOBE_LATIN_1
966#define ft_encoding_latin_2 FT_ENCODING_OLD_LATIN_2
967#define ft_encoding_sjis FT_ENCODING_SJIS
968#define ft_encoding_gb2312 FT_ENCODING_PRC
969#define ft_encoding_big5 FT_ENCODING_BIG5
970#define ft_encoding_wansung FT_ENCODING_WANSUNG
971#define ft_encoding_johab FT_ENCODING_JOHAB
973#define ft_encoding_adobe_standard FT_ENCODING_ADOBE_STANDARD
974#define ft_encoding_adobe_expert FT_ENCODING_ADOBE_EXPERT
975#define ft_encoding_adobe_custom FT_ENCODING_ADOBE_CUSTOM
976#define ft_encoding_apple_roman FT_ENCODING_APPLE_ROMAN
1413#define FT_FACE_FLAG_SCALABLE ( 1L << 0 )
1414#define FT_FACE_FLAG_FIXED_SIZES ( 1L << 1 )
1415#define FT_FACE_FLAG_FIXED_WIDTH ( 1L << 2 )
1416#define FT_FACE_FLAG_SFNT ( 1L << 3 )
1417#define FT_FACE_FLAG_HORIZONTAL ( 1L << 4 )
1418#define FT_FACE_FLAG_VERTICAL ( 1L << 5 )
1419#define FT_FACE_FLAG_KERNING ( 1L << 6 )
1420#define FT_FACE_FLAG_FAST_GLYPHS ( 1L << 7 )
1421#define FT_FACE_FLAG_MULTIPLE_MASTERS ( 1L << 8 )
1422#define FT_FACE_FLAG_GLYPH_NAMES ( 1L << 9 )
1423#define FT_FACE_FLAG_EXTERNAL_STREAM ( 1L << 10 )
1424#define FT_FACE_FLAG_HINTER ( 1L << 11 )
1425#define FT_FACE_FLAG_CID_KEYED ( 1L << 12 )
1426#define FT_FACE_FLAG_TRICKY ( 1L << 13 )
1427#define FT_FACE_FLAG_COLOR ( 1L << 14 )
1428#define FT_FACE_FLAG_VARIATION ( 1L << 15 )
1429#define FT_FACE_FLAG_SVG ( 1L << 16 )
1430#define FT_FACE_FLAG_SBIX ( 1L << 17 )
1431#define FT_FACE_FLAG_SBIX_OVERLAY ( 1L << 18 )
1454#define FT_HAS_HORIZONTAL( face ) \
1455 ( !!( (face)->face_flags & FT_FACE_FLAG_HORIZONTAL ) )
1468#define FT_HAS_VERTICAL( face ) \
1469 ( !!( (face)->face_flags & FT_FACE_FLAG_VERTICAL ) )
1482#define FT_HAS_KERNING( face ) \
1483 ( !!( (face)->face_flags & FT_FACE_FLAG_KERNING ) )
1497#define FT_IS_SCALABLE( face ) \
1498 ( !!( (face)->face_flags & FT_FACE_FLAG_SCALABLE ) )
1516#define FT_IS_SFNT( face ) \
1517 ( !!( (face)->face_flags & FT_FACE_FLAG_SFNT ) )
1531#define FT_IS_FIXED_WIDTH( face ) \
1532 ( !!( (face)->face_flags & FT_FACE_FLAG_FIXED_WIDTH ) )
1546#define FT_HAS_FIXED_SIZES( face ) \
1547 ( !!( (face)->face_flags & FT_FACE_FLAG_FIXED_SIZES ) )
1566#define FT_HAS_FAST_GLYPHS( face ) 0
1586#define FT_HAS_GLYPH_NAMES( face ) \
1587 ( !!( (face)->face_flags & FT_FACE_FLAG_GLYPH_NAMES ) )
1601#define FT_HAS_MULTIPLE_MASTERS( face ) \
1602 ( !!( (face)->face_flags & FT_FACE_FLAG_MULTIPLE_MASTERS ) )
1623#define FT_IS_NAMED_INSTANCE( face ) \
1624 ( !!( (face)->face_index & 0x7FFF0000L ) )
1641#define FT_IS_VARIATION( face ) \
1642 ( !!( (face)->face_flags & FT_FACE_FLAG_VARIATION ) )
1658#define FT_IS_CID_KEYED( face ) \
1659 ( !!( (face)->face_flags & FT_FACE_FLAG_CID_KEYED ) )
1672#define FT_IS_TRICKY( face ) \
1673 ( !!( (face)->face_flags & FT_FACE_FLAG_TRICKY ) )
1689#define FT_HAS_COLOR( face ) \
1690 ( !!( (face)->face_flags & FT_FACE_FLAG_COLOR ) )
1705#define FT_HAS_SVG( face ) \
1706 ( !!( (face)->face_flags & FT_FACE_FLAG_SVG ) )
1789#define FT_HAS_SBIX( face ) \
1790 ( !!( (face)->face_flags & FT_FACE_FLAG_SBIX ) )
1807#define FT_HAS_SBIX_OVERLAY( face ) \
1808 ( !!( (face)->face_flags & FT_FACE_FLAG_SBIX_OVERLAY ) )
1840#define FT_STYLE_FLAG_ITALIC ( 1 << 0 )
1841#define FT_STYLE_FLAG_BOLD ( 1 << 1 )
2410#define FT_OPEN_MEMORY 0x1
2411#define FT_OPEN_STREAM 0x2
2412#define FT_OPEN_PATHNAME 0x4
2413#define FT_OPEN_DRIVER 0x8
2414#define FT_OPEN_PARAMS 0x10
2419#define ft_open_memory FT_OPEN_MEMORY
2420#define ft_open_stream FT_OPEN_STREAM
2421#define ft_open_pathname FT_OPEN_PATHNAME
2422#define ft_open_driver FT_OPEN_DRIVER
2423#define ft_open_params FT_OPEN_PARAMS
2575 const
char* filepathname,
2790 const
char* filepathname );
3233 FT_Int32 load_flags );
3283 FT_Int32 load_flags );
3498#define FT_LOAD_DEFAULT 0x0
3499#define FT_LOAD_NO_SCALE ( 1L << 0 )
3500#define FT_LOAD_NO_HINTING ( 1L << 1 )
3501#define FT_LOAD_RENDER ( 1L << 2 )
3502#define FT_LOAD_NO_BITMAP ( 1L << 3 )
3503#define FT_LOAD_VERTICAL_LAYOUT ( 1L << 4 )
3504#define FT_LOAD_FORCE_AUTOHINT ( 1L << 5 )
3505#define FT_LOAD_CROP_BITMAP ( 1L << 6 )
3506#define FT_LOAD_PEDANTIC ( 1L << 7 )
3507#define FT_LOAD_IGNORE_GLOBAL_ADVANCE_WIDTH ( 1L << 9 )
3508#define FT_LOAD_NO_RECURSE ( 1L << 10 )
3509#define FT_LOAD_IGNORE_TRANSFORM ( 1L << 11 )
3510#define FT_LOAD_MONOCHROME ( 1L << 12 )
3511#define FT_LOAD_LINEAR_DESIGN ( 1L << 13 )
3512#define FT_LOAD_SBITS_ONLY ( 1L << 14 )
3513#define FT_LOAD_NO_AUTOHINT ( 1L << 15 )
3515#define FT_LOAD_COLOR ( 1L << 20 )
3516#define FT_LOAD_COMPUTE_METRICS ( 1L << 21 )
3517#define FT_LOAD_BITMAP_METRICS_ONLY ( 1L << 22 )
3518#define FT_LOAD_NO_SVG ( 1L << 24 )
3523#define FT_LOAD_ADVANCE_ONLY ( 1L << 8 )
3524#define FT_LOAD_SVG_ONLY ( 1L << 23 )
3614#define FT_LOAD_TARGET_( x ) ( FT_STATIC_CAST( FT_Int32, (x) & 15 ) << 16 )
3616#define FT_LOAD_TARGET_NORMAL FT_LOAD_TARGET_( FT_RENDER_MODE_NORMAL )
3617#define FT_LOAD_TARGET_LIGHT FT_LOAD_TARGET_( FT_RENDER_MODE_LIGHT )
3618#define FT_LOAD_TARGET_MONO FT_LOAD_TARGET_( FT_RENDER_MODE_MONO )
3619#define FT_LOAD_TARGET_LCD FT_LOAD_TARGET_( FT_RENDER_MODE_LCD )
3620#define FT_LOAD_TARGET_LCD_V FT_LOAD_TARGET_( FT_RENDER_MODE_LCD_V )
3633#define FT_LOAD_TARGET_MODE( x ) \
3634 FT_STATIC_CAST( FT_Render_Mode, ( (x) >> 16 ) & 15 )
3803#define ft_render_mode_normal FT_RENDER_MODE_NORMAL
3804#define ft_render_mode_mono FT_RENDER_MODE_MONO
3954#define ft_kerning_default FT_KERNING_DEFAULT
3955#define ft_kerning_unfitted FT_KERNING_UNFITTED
3956#define ft_kerning_unscaled FT_KERNING_UNSCALED
4545#define FT_SUBGLYPH_FLAG_ARGS_ARE_WORDS 1
4546#define FT_SUBGLYPH_FLAG_ARGS_ARE_XY_VALUES 2
4547#define FT_SUBGLYPH_FLAG_ROUND_XY_TO_GRID 4
4548#define FT_SUBGLYPH_FLAG_SCALE 8
4549#define FT_SUBGLYPH_FLAG_XY_SCALE 0x40
4550#define FT_SUBGLYPH_FLAG_2X2 0x80
4551#define FT_SUBGLYPH_FLAG_USE_MY_METRICS 0x200
4662#define FT_FSTYPE_INSTALLABLE_EMBEDDING 0x0000
4663#define FT_FSTYPE_RESTRICTED_LICENSE_EMBEDDING 0x0002
4664#define FT_FSTYPE_PREVIEW_AND_PRINT_EMBEDDING 0x0004
4665#define FT_FSTYPE_EDITABLE_EMBEDDING 0x0008
4666#define FT_FSTYPE_NO_SUBSETTING 0x0100
4667#define FT_FSTYPE_BITMAP_EMBEDDING_ONLY 0x0200
5175#define FREETYPE_MAJOR 2
5176#define FREETYPE_MINOR 13
5177#define FREETYPE_PATCH 3
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
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
FT_Attach_Stream(FT_Face face, const FT_Open_Args *parameters)
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_Get_Transform(FT_Face face, FT_Matrix *matrix, FT_Vector *delta)
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
FT_Vector_Transform(FT_Vector *vector, const FT_Matrix *matrix)
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)
FT_Get_Name_Index(FT_Face face, const FT_String *glyph_name)
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_Kerning(FT_Face face, FT_UInt left_glyph, FT_UInt right_glyph, FT_UInt kern_mode, FT_Vector *akerning)
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
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