Crusius:
On Mon, 06 Nov 2000, [EMAIL PROTECTED] wrote:
> first bringing the happines of anti-aliased truetype/postscript fonts
Maybe you would like to try my libft for this. I understand you probably have
your own subroutines but nevertheless you may like it. It might serve GGI well
as a whole to get your feedback.
--
Lee Brown Jr.
[EMAIL PROTECTED]
/*
libft
*/
#ifndef _GGI_FT_H
#define _GGI_FT_H
#include <freetype/freetype.h>
#include <freetype/ftglyph.h>
#include <ggi/ggi.h>
#include "ft_types.h"
__BEGIN_DECLS
/*
Initialization
*/
int ftInit(void);
void ftExit(void);
/*
Attaching
*/
int ftAttach(ggi_visual_t vis);
int ftDetach(ggi_visual_t vis);
/*
Constructor
*/
ft_font_t ftInitFont(FT_Face ftface);
void ftRemoveFont(ft_font_t font);
/*
util
*/
uint32* ftCharS2GlyphS(ft_font_t font, const char* string, size_t n);
/*
Caching
*/
int ftFillFontCache(ft_font_t font);
void ftClearFontCache(ft_font_t font);
int ftCacheChar(ft_font_t font, uint32 char_code);
int ftCacheGlyph(ft_font_t font, uint32 index);
int ftCacheCharS(ft_font_t font, const char* string);
int ftCacheGlyphS(ft_font_t font, const uint32* indices, size_t num);
/*
Printing
*/
ggi_pixel* ftMapColors(ggi_visual_t vis, ggi_color* fg, ggi_color* bg);
int ftPrintChar(ggi_visual_t vis, ft_font_t font, uint32 char_code, sint32 x, sint32
y,const ggi_pixel* pix);
int ftPrintGlyph(ggi_visual_t vis, ft_font_t font, uint32 index, sint32 x, sint32 y,
const ggi_pixel* pix);
int ftPrintCharS(ggi_visual_t vis, ft_font_t font, const char* string, sint32 x,
sint32 y, const ggi_pixel* pix);
int ftPrintGlyphS(ggi_visual_t vis, ft_font_t font, const uint32* indices, size_t num,
sint32 x, sint32 y, const ggi_pixel* pix);
/*
Dimensions
*/
int ftCharDim(ft_font_t font, uint32 char_code, ft_font_dim* dim);
int ftGlyphDim(ft_font_t font, uint32 index, ft_font_dim* dim);
int ftCharSDim(ft_font_t font, const char* string, ft_font_dim* dim);
int ftGlyphSDim(ft_font_t font, const uint32* indices, size_t num, ft_font_dim* dim);
/*
Advances
*/
int ftCharAdv(ft_font_t font, uint32 char_code, sint32* adv);
int ftGlyphAdv(ft_font_t font, uint32 index, sint32* adv);
int ftCharSAdv(ft_font_t font, const char* string, sint32* adv);
int ftGlyphSAdv(ft_font_t font, const uint32* indices, size_t num, sint32* adv);
/*
Bitmaps
*/
int ftCharBitmap(ft_font_t font, uint32 char_code, void* buf);
int ftGlyphBitmap(ft_font_t font, uint32 index, void* buf);
int ftCharSBitmap(ft_font_t font, const char* string, void* buf);
int ftGlyphSBitmap(ft_font_t font, const uint32* indices, size_t num, void* buf);
__END_DECLS
#endif