91 lines
1.7 KiB
C
91 lines
1.7 KiB
C
|
/**
|
||
|
* 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
|
||
|
|