X-Git-Url: http://git.asbjorn.biz/?p=swftools.git;a=blobdiff_plain;f=lib%2Fttf.h;h=9a76949d13cc350cc27584564be94d0e8e7a0e47;hp=a5ca5236d90dfb169f92d17035b26b500f7efb7d;hb=27a1543b139be30ef7e9d2ba21cb067f8ae685c0;hpb=f4d875b670dfcdfd8b62c396c88098dc1ba7f8d8 diff --git a/lib/ttf.h b/lib/ttf.h index a5ca523..9a76949 100644 --- a/lib/ttf.h +++ b/lib/ttf.h @@ -54,7 +54,6 @@ typedef struct _table_os2 { S16 xAvgCharWidth; U16 usWeightClass; U16 usWidthClass; - U16 fsType; U16 ySubscriptXSize; U16 ySubscriptYSize; U16 ySubscriptXOffset; @@ -77,7 +76,6 @@ typedef struct _table_os2 { U8 panose_Midline; U8 panose_XHeight; U32 ulCharRange[4]; - U8 achVendID[4]; U16 fsSelection; U16 fsFirstCharIndex; @@ -103,9 +101,6 @@ typedef struct _table_os2 { typedef struct _table_hea { - S16 ascent; - S16 descent; - S16 lineGap; U16 advanceWidthMax; S16 minLeftSideBearing; S16 minRightSideBearing; @@ -144,16 +139,57 @@ typedef struct _table_head { S16 dir_hint; } table_head_t; +typedef struct _table_post { + U16 italic_angle; + U16 underline_position; + U16 underline_thickness; +} table_post_t; + +typedef struct _table_cvt { + S16*values; + int num; +} table_cvt_t; + +typedef struct _table_gasp { + int num; + struct { + U16 size; + U16 behaviour; + } *records; +} table_gasp_t; + +typedef struct _table_code { + U8*code; + int size; +} table_code_t; + typedef struct _ttf { + char*family_name; /* nameId 1 */ + char*subfamily_name; /* nameId 2 */ + char*font_uid; /* nameId 3 */ + char*full_name; /* nameId 4 */ + char*version_string; /* nameId 5 */ + char*postscript_name; /* nameId 6 */ + ttf_table_t*tables; table_head_t*head; table_maxp_t*maxp; table_os2_t*os2; table_hea_t*hea; + table_post_t*post; + table_cvt_t*cvt; + table_gasp_t*gasp; + table_code_t*prep; + table_code_t*fpgm; U16 flags; char is_vertical; + + S16 ascent; + S16 descent; + S16 lineGap; + int num_glyphs; ttfglyph_t*glyphs; @@ -164,7 +200,14 @@ typedef struct _ttf { } ttf_t; -ttf_t*load_ttf(void*data, int length); +ttf_t*ttf_new(); +void ttf_reduce(ttf_t*ttf); +ttf_t*ttf_load(void*data, int length); ttf_table_t*ttf_addtable(ttf_t*ttf, U32 tag); +void ttf_create_truetype_tables(ttf_t*ttf); +void ttf_dump(ttf_t*ttf); +void ttf_destroy(ttf_t*ttf); +void ttf_save(ttf_t*ttf, const char*filename); +void ttf_save_eot(ttf_t*ttf, const char*filename); #endif