From a02611511c1704c653e5951a44b294a953cdb470 Mon Sep 17 00:00:00 2001 From: Jakob Fries Date: Mon, 24 Dec 2007 13:09:34 +0000 Subject: more font stuffs --- src/engine/client/ec_font.h | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 src/engine/client/ec_font.h (limited to 'src/engine/client/ec_font.h') diff --git a/src/engine/client/ec_font.h b/src/engine/client/ec_font.h new file mode 100644 index 00000000..6b4d5910 --- /dev/null +++ b/src/engine/client/ec_font.h @@ -0,0 +1,40 @@ +/* copyright (c) 2007 magnus auvinen, see licence.txt for more info */ +#ifndef _FONT_H +#define _FONT_H + +typedef struct +{ + float tex_x0; + float tex_y0; + float tex_x1; + float tex_y1; + float width; + float height; + float x_offset; + float y_offset; + float x_advance; +} +CHARACTER; + +typedef struct +{ + int texture; + int size; + CHARACTER characters[256]; + float kerning[256*256]; +} FONT; + +typedef struct +{ + int font_count; + FONT fonts[8]; +} FONT_SET; + +int font_load(FONT *font, const char *filename); +int font_set_load(FONT_SET *font_set, const char *font_filename, const char *texture_filename, int fonts, ...); +float font_string_width(FONT_SET *font_set, const char *string, float size); +void font_character_info(FONT *font, unsigned char c, float *tex_x0, float *tex_y0, float *tex_x1, float *tex_y1, float *width, float *height, float *x_offset, float *y_offset, float *x_advance); +float font_kerning(FONT *font, unsigned char c1, unsigned char c2); +FONT *font_set_pick(FONT_SET *font_set, float size); + +#endif -- cgit 1.4.1