📄 ddd.c
字号:
#include "ddd.h"
#ifndef EX_FONT_CHAR
# define EX_FONT_CHAR(value)
# define EX_FONT_UNICODE_VAL(value) (value),
# define EX_FONT_ANSI_VAL(value) (value),
#endif
struct _thin_unicode_font8x16 {unsigned short value; unsigned char data[1][16];} thin_unicode_font8x16[14] =
{
{
EX_FONT_CHAR("0")
EX_FONT_UNICODE_VAL(0x0030)
{0x00, 0x00, 0x00, 0x1e, 0x33, 0x37, 0x37, 0x33, 0x3b, 0x3b, 0x33, 0x1e, 0x00, 0x00, 0x00, 0x00}
},
{
EX_FONT_CHAR("1")
EX_FONT_UNICODE_VAL(0x0031)
{0x00, 0x00, 0x00, 0x0c, 0x1c, 0x7c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x00, 0x00, 0x00, 0x00}
},
{
EX_FONT_CHAR("2")
EX_FONT_UNICODE_VAL(0x0032)
{0x00, 0x00, 0x00, 0x3c, 0x66, 0x66, 0x06, 0x0c, 0x18, 0x30, 0x60, 0x7e, 0x00, 0x00, 0x00, 0x00}
},
{
EX_FONT_CHAR("3")
EX_FONT_UNICODE_VAL(0x0033)
{0x00, 0x00, 0x00, 0x3c, 0x66, 0x66, 0x06, 0x1c, 0x06, 0x66, 0x66, 0x3c, 0x00, 0x00, 0x00, 0x00}
},
{
EX_FONT_CHAR("4")
EX_FONT_UNICODE_VAL(0x0034)
{0x00, 0x00, 0x00, 0x30, 0x30, 0x36, 0x36, 0x36, 0x66, 0x7f, 0x06, 0x06, 0x00, 0x00, 0x00, 0x00}
},
{
EX_FONT_CHAR("5")
EX_FONT_UNICODE_VAL(0x0035)
{0x00, 0x00, 0x00, 0x7e, 0x60, 0x60, 0x60, 0x7c, 0x06, 0x06, 0x0c, 0x78, 0x00, 0x00, 0x00, 0x00}
},
{
EX_FONT_CHAR("6")
EX_FONT_UNICODE_VAL(0x0036)
{0x00, 0x00, 0x00, 0x1c, 0x18, 0x30, 0x7c, 0x66, 0x66, 0x66, 0x66, 0x3c, 0x00, 0x00, 0x00, 0x00}
},
{
EX_FONT_CHAR("7")
EX_FONT_UNICODE_VAL(0x0037)
{0x00, 0x00, 0x00, 0x7e, 0x06, 0x0c, 0x0c, 0x18, 0x18, 0x30, 0x30, 0x30, 0x00, 0x00, 0x00, 0x00}
},
{
EX_FONT_CHAR("8")
EX_FONT_UNICODE_VAL(0x0038)
{0x00, 0x00, 0x00, 0x3c, 0x66, 0x66, 0x76, 0x3c, 0x6e, 0x66, 0x66, 0x3c, 0x00, 0x00, 0x00, 0x00}
},
{
EX_FONT_CHAR("9")
EX_FONT_UNICODE_VAL(0x0039)
{0x00, 0x00, 0x00, 0x3c, 0x66, 0x66, 0x66, 0x66, 0x3e, 0x0c, 0x18, 0x38, 0x00, 0x00, 0x00, 0x00}
},
{
EX_FONT_CHAR("a")
EX_FONT_UNICODE_VAL(0x0061)
{0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x06, 0x06, 0x3e, 0x66, 0x66, 0x3e, 0x00, 0x00, 0x00, 0x00}
},
{
EX_FONT_CHAR("b")
EX_FONT_UNICODE_VAL(0x0062)
{0x00, 0x00, 0x00, 0x60, 0x60, 0x7c, 0x66, 0x66, 0x66, 0x66, 0x66, 0x7c, 0x00, 0x00, 0x00, 0x00}
},
{
EX_FONT_CHAR("c")
EX_FONT_UNICODE_VAL(0x0063)
{0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x66, 0x60, 0x60, 0x60, 0x66, 0x3c, 0x00, 0x00, 0x00, 0x00}
},
{
EX_FONT_CHAR("d")
EX_FONT_UNICODE_VAL(0x0064)
{0x00, 0x00, 0x00, 0x06, 0x06, 0x3e, 0x66, 0x66, 0x66, 0x66, 0x66, 0x3e, 0x00, 0x00, 0x00, 0x00}
}
};
#undef thin_char_nr
#define thin_char_nr sizeof(thin_unicode_font8x16)/sizeof(thin_unicode_font8x16[0])
#undef wide_char_nr
#define wide_char_nr sizeof(wide_unicode_font16x16)/sizeof(wide_unicode_font16x16[0])
static EXFONT_DATA_ITEM thin_font16_items[thin_char_nr];
static EXFONT_DATA_ITEM wide_font16_items[wide_char_nr];
static EXFONT_DATA thin_font16;
static EXFONT_DATA wide_font16;
EXFONT g_unicode_font16;
#ifndef RGB
#define RGB(r, g, b) (r) << 16 | (g) << 8 | (b)
#endif
void install_unicode_16x16_font(draw_pixel_func my_draw_pixel)
{
size_t i = 0;
for(i = 0; i < thin_char_nr; i++)
{
thin_font16_items[i].value = thin_unicode_font8x16[i].value;
thin_font16_items[i].data = (unsigned char*)thin_unicode_font8x16[i].data;
}
for(i = 0; i < wide_char_nr; i++)
{
wide_font16_items[i].value = wide_unicode_font16x16[i].value;
wide_font16_items[i].data = (unsigned char*)wide_unicode_font16x16[i].data;
}
EXFONT_data_init(&thin_font16, 8, 16, thin_char_nr, thin_font16_items);
EXFONT_data_init(&wide_font16, 16, 16, wide_char_nr, wide_font16_items);
EXFONT_init(&g_unicode_font16, "g_unicode_font16",
RGB(255, 0, 0),
RGB(0, 255, 0),
BKMODE_TRANSPARENT,
my_draw_pixel);
EXFONT_set_thin_font_data(&g_unicode_font16, &thin_font16);
EXFONT_set_wide_font_data(&g_unicode_font16, &wide_font16);
return;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -