25#include FT_TRUETYPE_TABLES_H
26#include FT_INTERNAL_OBJECTS_H
29#ifdef TT_CONFIG_OPTION_GX_VAR_SUPPORT
30#include FT_MULTIPLE_MASTERS_H
428#define TT_GASP_GRIDFIT 0x01
429#define TT_GASP_DOGRAY 0x02
956#ifdef TT_CONFIG_OPTION_GX_VAR_SUPPORT
957 typedef struct GX_BlendRec_ *GX_Blend;
1012#ifdef TT_CONFIG_OPTION_BDF
1014 typedef struct TT_BDFRec_
1023 } TT_BDFRec, *TT_BDF;
1208#define TT_FACE_FLAG_VAR_FVAR ( 1 << 0 )
1211#define TT_FACE_FLAG_VAR_HADVANCE ( 1 << 1 )
1212#define TT_FACE_FLAG_VAR_LSB ( 1 << 2 )
1213#define TT_FACE_FLAG_VAR_RSB ( 1 << 3 )
1216#define TT_FACE_FLAG_VAR_VADVANCE ( 1 << 4 )
1217#define TT_FACE_FLAG_VAR_TSB ( 1 << 5 )
1218#define TT_FACE_FLAG_VAR_BSB ( 1 << 6 )
1219#define TT_FACE_FLAG_VAR_VORG ( 1 << 7 )
1222#define TT_FACE_FLAG_VAR_MVAR ( 1 << 8 )
1579#ifdef TT_CONFIG_OPTION_GX_VAR_SUPPORT
1659#ifdef TT_CONFIG_OPTION_GX_VAR_SUPPORT
1663 FT_UInt32 variation_support;
1665 const char* var_postscript_prefix;
1666 FT_UInt var_postscript_prefix_len;
1696#ifdef TT_CONFIG_OPTION_BDF
1704#ifdef TT_SUPPORT_SUBPIXEL_HINTING_INFINALITY
1708 FT_Bool sph_compatibility_mode;
1711#ifdef TT_CONFIG_OPTION_EMBEDDED_BITMAPS
FT_BEGIN_HEADER struct FT_Color_ FT_Color
typedefFT_BEGIN_HEADER struct FT_MemoryRec_ * FT_Memory
Definition ftsystem.h:65
signed char FT_Char
Definition fttypes.h:143
FT_BEGIN_HEADER typedef unsigned char FT_Bool
Definition fttypes.h:108
unsigned long FT_ULong
Definition fttypes.h:253
unsigned char FT_Byte
Definition fttypes.h:154
signed long FT_Fixed
Definition fttypes.h:287
int FT_Error
Definition fttypes.h:299
signed long FT_Long
Definition fttypes.h:242
unsigned short FT_UShort
Definition fttypes.h:209
signed short FT_Short
Definition fttypes.h:198
unsigned int FT_UInt
Definition fttypes.h:231
signed int FT_Int
Definition fttypes.h:220
Definition freetype.h:1042
Definition freetype.h:1878
Definition ftsystem.h:329
Definition tttypes.h:1537
void * psaux
Definition tttypes.h:1590
TT_GaspRec gasp
Definition tttypes.h:1600
TT_VertHeader vertical
Definition tttypes.h:1552
FT_Byte * cmap_table
Definition tttypes.h:1560
FT_ULong glyf_len
Definition tttypes.h:1654
FT_UShort palette_index
Definition tttypes.h:1614
TT_SbitTableType sbit_table_type
Definition tttypes.h:1686
FT_Byte * glyph_locations
Definition tttypes.h:1676
TT_SBit_Scale sbit_scales
Definition tttypes.h:1607
TT_PCLT pclt
Definition tttypes.h:1603
FT_Short * cvt
Definition tttypes.h:1636
TT_MaxProfile max_profile
Definition tttypes.h:1549
void * colr
Definition tttypes.h:1719
FT_ULong num_locations
Definition tttypes.h:1675
FT_ULong hdmx_table_size
Definition tttypes.h:1679
void * cpal
Definition tttypes.h:1718
FT_ULong vert_metrics_offset
Definition tttypes.h:1702
TT_NameTableRec name_table
Definition tttypes.h:1555
TT_Loader_ReadGlyphFunc read_glyph_header
Definition tttypes.h:1567
FT_ULong hdmx_record_size
Definition tttypes.h:1681
TT_Loader_GotoTableFunc goto_table
Definition tttypes.h:1563
FT_Bool vertical_info
Definition tttypes.h:1551
void * sfnt
Definition tttypes.h:1573
FT_ULong cmap_size
Definition tttypes.h:1561
TT_OS2 os2
Definition tttypes.h:1557
FT_ULong num_sbit_scales
Definition tttypes.h:1606
TT_Postscript postscript
Definition tttypes.h:1558
FT_UInt32 kern_avail_bits
Definition tttypes.h:1693
FT_ULong horz_metrics_offset
Definition tttypes.h:1701
FT_Byte * cvt_program
Definition tttypes.h:1632
FT_Byte * hdmx_table
Definition tttypes.h:1678
TT_Loader_StartGlyphFunc access_glyph_frame
Definition tttypes.h:1565
FT_UInt * sbit_strike_map
Definition tttypes.h:1688
void * psnames
Definition tttypes.h:1577
FT_Color foreground_color
Definition tttypes.h:1617
const char * postscript_name
Definition tttypes.h:1652
FT_Byte * font_program
Definition tttypes.h:1628
FT_ULong cvt_size
Definition tttypes.h:1635
FT_UInt sbit_num_strikes
Definition tttypes.h:1687
TT_HoriHeader horizontal
Definition tttypes.h:1547
FT_UInt32 kern_order_bits
Definition tttypes.h:1694
FT_ULong horz_metrics_size
Definition tttypes.h:1672
TT_Post_NamesRec postscript_names
Definition tttypes.h:1610
TT_Interpreter interpreter
Definition tttypes.h:1640
FT_UInt num_kern_tables
Definition tttypes.h:1692
TTC_HeaderRec ttc_header
Definition tttypes.h:1540
FT_UShort num_tables
Definition tttypes.h:1543
FT_ULong vert_metrics_size
Definition tttypes.h:1673
TT_Loader_ReadGlyphFunc read_simple_glyph
Definition tttypes.h:1568
FT_FaceRec root
Definition tttypes.h:1538
FT_Bool have_foreground_color
Definition tttypes.h:1616
FT_Generic extra
Definition tttypes.h:1650
TT_Loader_ReadGlyphFunc read_composite_glyph
Definition tttypes.h:1569
FT_ULong glyf_offset
Definition tttypes.h:1655
FT_UInt hdmx_record_count
Definition tttypes.h:1680
TT_Header header
Definition tttypes.h:1546
FT_Byte * hdmx_record_sizes
Definition tttypes.h:1682
TT_Loader_EndGlyphFunc forget_glyph_frame
Definition tttypes.h:1566
FT_ULong kern_table_size
Definition tttypes.h:1691
FT_Byte * sbit_table
Definition tttypes.h:1684
FT_ULong font_program_size
Definition tttypes.h:1627
FT_ULong sbit_table_size
Definition tttypes.h:1685
FT_Byte * kern_table
Definition tttypes.h:1690
TT_Table dir_tables
Definition tttypes.h:1544
FT_ULong format_tag
Definition tttypes.h:1542
FT_UShort num_names
Definition tttypes.h:1554
FT_Palette_Data palette_data
Definition tttypes.h:1613
FT_ULong cvt_program_size
Definition tttypes.h:1631
FT_Color * palette
Definition tttypes.h:1615
FT_Bool is_cff2
Definition tttypes.h:1657
FT_UShort gaspFlag
Definition tttypes.h:423
FT_UShort maxPPEM
Definition tttypes.h:422
FT_UShort version
Definition tttypes.h:453
FT_UShort numRanges
Definition tttypes.h:454
TT_GaspRange gaspRanges
Definition tttypes.h:455
Definition tttypes.h:1765
FT_Short n_contours
Definition tttypes.h:1770
FT_Vector * org
Definition tttypes.h:1772
FT_UShort n_points
Definition tttypes.h:1769
FT_Vector * orus
Definition tttypes.h:1774
FT_Vector * cur
Definition tttypes.h:1773
FT_UShort first_point
Definition tttypes.h:1779
FT_UShort max_points
Definition tttypes.h:1767
FT_UShort * contours
Definition tttypes.h:1777
FT_Memory memory
Definition tttypes.h:1766
FT_Short max_contours
Definition tttypes.h:1768
FT_Byte * tags
Definition tttypes.h:1776
FT_Byte * string
Definition tttypes.h:342
FT_UShort stringLength
Definition tttypes.h:336
FT_ULong stringOffset
Definition tttypes.h:337
Definition tttypes.h:1801
FT_Int top_bearing
Definition tttypes.h:1834
FT_Vector pp4
Definition tttypes.h:1837
FT_ULong load_flags
Definition tttypes.h:1807
FT_Byte * limit
Definition tttypes.h:1841
TT_ExecContext exec
Definition tttypes.h:1826
TT_Size size
Definition tttypes.h:1803
FT_Vector pp3
Definition tttypes.h:1836
FT_Int byte_len
Definition tttypes.h:1811
void * other
Definition tttypes.h:1831
FT_UInt glyph_index
Definition tttypes.h:1808
FT_ULong ins_pos
Definition tttypes.h:1828
FT_GlyphLoader gloader
Definition tttypes.h:1805
FT_Byte * cursor
Definition tttypes.h:1840
FT_Int advance
Definition tttypes.h:1816
FT_ListRec composites
Definition tttypes.h:1844
FT_GlyphSlot glyph
Definition tttypes.h:1804
FT_Short n_contours
Definition tttypes.h:1813
FT_Vector pp2
Definition tttypes.h:1820
FT_Bool linear_def
Definition tttypes.h:1818
FT_Vector pp1
Definition tttypes.h:1819
TT_GlyphZoneRec zone
Definition tttypes.h:1824
FT_Byte * instructions
Definition tttypes.h:1827
TT_GlyphZoneRec base
Definition tttypes.h:1823
FT_Stream stream
Definition tttypes.h:1810
TT_Face face
Definition tttypes.h:1802
FT_BBox bbox
Definition tttypes.h:1814
FT_Int linear
Definition tttypes.h:1817
FT_Int left_bearing
Definition tttypes.h:1815
FT_Int vadvance
Definition tttypes.h:1835
FT_Short bearing
Definition tttypes.h:247
FT_UShort advance
Definition tttypes.h:246
Definition tttables.h:569
FT_ULong stringOffset
Definition tttypes.h:304
FT_Byte * string
Definition tttypes.h:309
FT_UShort languageID
Definition tttypes.h:301
FT_UShort stringLength
Definition tttypes.h:303
FT_UShort encodingID
Definition tttypes.h:300
FT_UShort platformID
Definition tttypes.h:299
FT_UShort nameID
Definition tttypes.h:302
Definition tttables.h:377
Definition tttables.h:479
FT_UShort * glyph_indices
Definition tttypes.h:881
FT_Char ** glyph_names
Definition tttypes.h:882
FT_UShort num_glyphs
Definition tttypes.h:879
FT_UShort num_names
Definition tttypes.h:880
FT_Char * offsets
Definition tttypes.h:906
FT_UShort num_glyphs
Definition tttypes.h:905
union TT_Post_NamesRec_::@500 names
TT_Post_20Rec format_20
Definition tttypes.h:935
FT_Bool loaded
Definition tttypes.h:931
TT_Post_25Rec format_25
Definition tttypes.h:936
Definition tttables.h:452
FT_UShort glyph_code
Definition tttypes.h:793
FT_Char x_offset
Definition tttypes.h:794
FT_Char y_offset
Definition tttypes.h:795
FT_Char caret_slope_denominator
Definition tttypes.h:622
FT_Char caret_offset
Definition tttypes.h:623
FT_Char descender
Definition tttypes.h:619
FT_Char ascender
Definition tttypes.h:618
FT_Char min_after_BL
Definition tttypes.h:627
FT_Char max_before_BL
Definition tttypes.h:626
FT_Char caret_slope_numerator
Definition tttypes.h:621
FT_Char min_origin_SB
Definition tttypes.h:624
FT_Char pads[2]
Definition tttypes.h:628
FT_Char min_advance_SB
Definition tttypes.h:625
FT_Byte max_width
Definition tttypes.h:620
FT_Short vertBearingY
Definition tttypes.h:518
FT_Short horiBearingX
Definition tttypes.h:513
FT_UShort horiAdvance
Definition tttypes.h:515
FT_Short horiBearingY
Definition tttypes.h:514
FT_Short vertBearingX
Definition tttypes.h:517
FT_UShort height
Definition tttypes.h:510
FT_UShort width
Definition tttypes.h:511
FT_UShort vertAdvance
Definition tttypes.h:519
FT_UShort last_glyph
Definition tttypes.h:683
FT_UShort first_glyph
Definition tttypes.h:682
FT_ULong * glyph_offsets
Definition tttypes.h:693
FT_ULong table_offset
Definition tttypes.h:696
FT_UShort index_format
Definition tttypes.h:685
TT_SBit_MetricsRec metrics
Definition tttypes.h:690
FT_UShort image_format
Definition tttypes.h:686
FT_UShort * glyph_codes
Definition tttypes.h:694
FT_ULong image_size
Definition tttypes.h:689
FT_ULong image_offset
Definition tttypes.h:687
FT_ULong num_glyphs
Definition tttypes.h:691
FT_Byte x_ppem
Definition tttypes.h:833
TT_SBit_LineMetricsRec hori
Definition tttypes.h:830
FT_Byte y_ppem_substitute
Definition tttypes.h:837
FT_Byte x_ppem_substitute
Definition tttypes.h:836
FT_Byte y_ppem
Definition tttypes.h:834
TT_SBit_LineMetricsRec vert
Definition tttypes.h:831
FT_Byte advance
Definition tttypes.h:557
FT_Char bearingX
Definition tttypes.h:555
FT_Char bearingY
Definition tttypes.h:556
FT_Byte width
Definition tttypes.h:553
FT_Byte height
Definition tttypes.h:552
FT_UShort start_glyph
Definition tttypes.h:761
TT_SBit_LineMetricsRec hori
Definition tttypes.h:758
FT_UShort end_glyph
Definition tttypes.h:762
FT_Byte x_ppem
Definition tttypes.h:764
FT_Char flags
Definition tttypes.h:768
FT_ULong color_ref
Definition tttypes.h:756
TT_SBit_LineMetricsRec vert
Definition tttypes.h:759
TT_SBit_Range sbit_ranges
Definition tttypes.h:753
FT_ULong ranges_offset
Definition tttypes.h:754
FT_Byte bit_depth
Definition tttypes.h:767
FT_Byte y_ppem
Definition tttypes.h:765
FT_Int num_ranges
Definition tttypes.h:752
FT_ULong Offset
Definition tttypes.h:147
FT_ULong Length
Definition tttypes.h:148
FT_ULong Tag
Definition tttypes.h:145
FT_ULong CheckSum
Definition tttypes.h:146
FT_ULong OrigOffset
Definition tttypes.h:223
FT_ULong Tag
Definition tttypes.h:217
FT_ULong CompLength
Definition tttypes.h:219
FT_ULong OrigLength
Definition tttypes.h:220
FT_ULong CheckSum
Definition tttypes.h:221
FT_ULong Offset
Definition tttypes.h:218
FT_BEGIN_HEADER struct TT_Header_ TT_Header
struct TT_LoaderRec_ * TT_Loader
Definition tttypes.h:1072
struct TT_LangTagRec_ TT_LangTagRec
struct SFNT_HeaderRec_ * SFNT_Header
struct TT_Post_NamesRec_ TT_Post_NamesRec
struct TT_ExecContextRec_ * TT_ExecContext
Definition tttypes.h:1785
struct TT_GlyphZoneRec_ * TT_GlyphZone
void(* TT_Loader_EndGlyphFunc)(TT_Loader loader)
Definition tttypes.h:1180
FT_Error(* TT_Loader_ReadGlyphFunc)(TT_Loader loader)
Definition tttypes.h:1164
struct TT_LongMetricsRec_ TT_LongMetricsRec
struct TT_NameTableRec_ * TT_NameTable
struct TT_SBit_ScaleRec_ TT_SBit_ScaleRec
struct TT_SBit_Small_Metrics_ TT_SBit_SmallMetricsRec
struct WOFF_TableRec_ WOFF_TableRec
struct TT_NameTableRec_ TT_NameTableRec
struct TT_FaceRec_ * TT_Face
Definition tttypes.h:1064
struct TT_Post_25_ * TT_Post_25
FT_Error(* TT_Loader_StartGlyphFunc)(TT_Loader loader, FT_UInt glyph_index, FT_ULong offset, FT_UInt byte_count)
Definition tttypes.h:1141
struct TT_Post_NamesRec_ * TT_Post_Names
struct TT_TableRec_ TT_TableRec
struct TT_LangTagRec_ * TT_LangTag
struct TT_SBit_ComponentRec_ * TT_SBit_Component
FT_Short TT_ShortMetrics
Definition tttypes.h:261
struct TT_FaceRec_ TT_FaceRec
struct TT_SBit_ScaleRec_ * TT_SBit_Scale
struct TT_GaspRangeRec_ * TT_GaspRange
struct TT_SBit_MetricsRec_ * TT_SBit_Metrics
struct TT_SBit_LineMetricsRec_ * TT_SBit_LineMetrics
struct TT_Post_25_ TT_Post_25Rec
struct TT_SizeRec_ * TT_Size
Definition tttypes.h:1796
FT_Error(* TT_Loader_GotoTableFunc)(TT_Face face, FT_ULong tag, FT_Stream stream, FT_ULong *length)
Definition tttypes.h:1104
struct TT_NameRec_ TT_NameRec
struct TT_NameRec_ * TT_Name
struct TT_SBit_RangeRec_ * TT_SBit_Range
enum TT_SbitTableType_ TT_SbitTableType
struct WOFF_TableRec_ * WOFF_Table
struct TT_SBit_LineMetricsRec_ TT_SBit_LineMetricsRec
struct TT_SBit_StrikeRec_ * TT_SBit_Strike
FT_Error(* TT_Interpreter)(void *exec_context)
Definition tttypes.h:1069
struct TT_SBit_StrikeRec_ TT_SBit_StrikeRec
struct TT_Gasp_ TT_GaspRec
struct TT_Post_20Rec_ TT_Post_20Rec
struct TT_LongMetricsRec_ * TT_LongMetrics
struct TT_LoaderRec_ TT_LoaderRec
struct WOFF_HeaderRec_ WOFF_HeaderRec
TT_SbitTableType_
Definition tttypes.h:1184
@ TT_SBIT_TABLE_TYPE_MAX
Definition tttypes.h:1192
@ TT_SBIT_TABLE_TYPE_CBLC
Definition tttypes.h:1188
@ TT_SBIT_TABLE_TYPE_NONE
Definition tttypes.h:1185
@ TT_SBIT_TABLE_TYPE_SBIX
Definition tttypes.h:1189
@ TT_SBIT_TABLE_TYPE_EBLC
Definition tttypes.h:1186
struct SFNT_HeaderRec_ SFNT_HeaderRec
struct TT_SBit_ComponentRec_ TT_SBit_ComponentRec
FT_BEGIN_HEADER struct TTC_HeaderRec_ TTC_HeaderRec
struct TT_SBit_MetricsRec_ TT_SBit_MetricsRec
struct TT_GaspRangeRec_ TT_GaspRangeRec
struct TT_GlyphZoneRec_ TT_GlyphZoneRec
struct TT_Post_20Rec_ * TT_Post_20
struct WOFF_HeaderRec_ * WOFF_Header
struct TT_SBit_RangeRec_ TT_SBit_RangeRec
struct TT_TableRec_ * TT_Table
struct TT_SBit_Small_Metrics_ * TT_SBit_SmallMetrics