2 * Based on the code from the ft2.library from MorphOS, the ttf.library by
3 * Richard Griffith and the type1.library by Amish S. Dave
5 #include "ftglyphengine.h"
8 #include <aros/libcall.h>
9 #include <proto/utility.h>
10 #include <aros/debug.h>
11 #include <utility/tagitem.h>
12 #include <diskfont/glyph.h>
13 #include <diskfont/diskfonttag.h>
15 #include LC_LIBDEFS_FILE
17 /* ReleaseInfoA, release allocated memory from ObtainInfo */
18 AROS_LH2(ULONG
, ReleaseInfoA
,
19 AROS_LHA(struct GlyphEngine
*, ge
, A0
),
20 AROS_LHA(struct TagItem
*, tags
, A1
),
21 LIBBASETYPEPTR
, LIBBASE
, 9, FreeType2
26 FT_GlyphEngine
*engine
= (FT_GlyphEngine
*)ge
;
30 struct TagItem
*tstate
;
32 struct GlyphMap
*GMap
;
34 D(bug("ReleaseInfoA engine = 0x%lx tags = 0x%lx\n",engine
,tags
));
37 while ((tag
= NextTagItem(&tstate
)))
39 otagtag
= tag
->ti_Tag
;
40 otagdata
= tag
->ti_Data
;
45 case OT_GlyphMap8Bits
:
46 case OT_GlyphMap8Bit_Old
:
47 //D(bug("Release: OT_GlyphMap Data=%lx\n", otagdata));
48 GMap
=(struct GlyphMap
*)otagdata
;
49 if(GMap
->glm_BitMap
) FreeVec(GMap
->glm_BitMap
);
54 //D(bug("Release: OT_WidthList Data=%lx\n", otagdata));
55 FreeWidthList(engine
,(struct MinList
*)otagdata
);
59 D(bug("Unknown Release: Tag=%lx Data=%lx\n",(LONG
)otagtag
, otagdata
));