| /** |
| * Copyright (C) 2002 Alex Gitelman |
| * |
| */ |
| #ifndef __BDF2AJF__ |
| #define __BDF2AJF__ |
| |
| #include "../firmware/ajf.h" |
| |
| |
| #define STARTFONT "STARTFONT" |
| #define ENDFONT "ENDFONT" |
| #define COMMENT "COMMENT" |
| #define FONT "FONT" |
| #define SIZE "SIZE" |
| #define FONTBOUNDINGBOX "FONTBOUNDINGBOX" |
| #define STARTPROPERTIES "STARTPROPERTIES" |
| #define ENDPROPERTIES "ENDPROPERTIES" |
| #define CHARS "CHARS" |
| #define STARTCHAR "STARTCHAR" |
| #define ENDCHAR "ENDCHAR" |
| #define ENCODING "ENCODING" |
| #define SWIDTH "SWIDTH" |
| #define DWIDTH "DWIDTH" |
| #define BBX "BBX" |
| #define BITMAP "BITMAP" |
| |
| typedef struct |
| { |
| char *glyph_name; |
| int encoding; |
| int swidth_x; |
| int swidth_y; |
| int dwidth_x; |
| int dwidth_y; |
| int bbx_width; |
| int bbx_height; |
| int bbx_disp_x; |
| int bbx_disp_y; |
| unsigned char *bitmap; |
| short bitmap_len; |
| } BDF_GLYPH; |
| |
| typedef struct |
| { |
| char *bdf_ver; |
| char *name; |
| int point_size; |
| int x_res; |
| int y_res; |
| int bound_width; |
| int bound_height; |
| int bound_disp_x; |
| int bound_disp_y; |
| int prop_count; |
| char **prop_name; |
| char **prop_value; |
| int char_count; |
| BDF_GLYPH** glyph; |
| BDF_GLYPH* enc_table[256]; |
| } BDF; |
| |
| typedef union |
| { |
| unsigned char db[2]; |
| unsigned short sval; |
| } DOUBLE_BYTE; |
| |
| BDF* readFont(const char *name); |
| BDF_GLYPH* getGlyph(unsigned char c, BDF* bdf, short* enc_map); |
| void getBitmap(BDF_GLYPH* g, unsigned char* src); |
| |
| void test_print(unsigned char c, BDF* font, short *map); |
| void test_print2(unsigned char *src, int height, int len); |
| |
| |
| extern short win_koi_map[]; |
| |
| extern int _font_error_code; |
| extern char _font_error_msg[]; |
| void report_error(int code, const char *msg); |
| void writeAJF(BDF* bdf, const char* fname); |
| |
| |
| |
| |
| |
| |
| #endif |
| |