📄 draw.c
字号:
/* * draw.c * * Routines for drawing text on images * * Copyright 2000, Jeroen Vreeken * This program is published under the GNU public license version 2 * See also the file 'COPYING' * */#include <ctype.h>#include "motion.h"/* highest ascii value is 126 (~) */#define ASCII_MAX 127unsigned char *small_char_arr_ptr[ASCII_MAX];unsigned char *big_char_arr_ptr[ASCII_MAX];struct draw_char { unsigned char ascii; unsigned char pix[8][7];};struct big_char { unsigned char ascii; unsigned char pix[16][14];};struct draw_char draw_table[]= { { ' ', { {0,0,0,0,0,0,0}, {0,0,0,0,0,0,0}, {0,0,0,0,0,0,0}, {0,0,0,0,0,0,0}, {0,0,0,0,0,0,0}, {0,0,0,0,0,0,0}, {0,0,0,0,0,0,0}, {0,0,0,0,0,0,0} } }, { '0', { {0,0,1,1,1,0,0}, {0,1,2,2,2,1,0}, {1,2,1,1,2,2,1}, {1,2,1,2,1,2,1}, {1,2,1,2,1,2,1}, {1,2,2,1,1,2,1}, {0,1,2,2,2,1,0}, {0,0,1,1,1,0,0} } }, { '1', { {0,0,0,1,0,0,0}, {0,0,1,2,1,0,0}, {0,1,2,2,1,0,0}, {0,0,1,2,1,0,0}, {0,0,1,2,1,0,0}, {0,0,1,2,1,0,0}, {0,1,2,2,2,1,0}, {0,0,1,1,1,0,0} } }, { '2', { {0,0,1,1,1,0,0}, {0,1,2,2,2,1,0}, {1,2,1,1,1,2,1}, {0,1,1,2,2,1,0}, {0,1,2,1,1,0,0}, {1,2,1,1,1,1,0}, {1,2,2,2,2,2,1}, {0,1,1,1,1,1,0} } }, { '3', { {0,0,1,1,1,0,0}, {0,1,2,2,2,1,0}, {1,2,1,1,1,2,1}, {0,1,1,2,2,1,0}, {0,1,0,1,1,2,1}, {1,2,1,1,1,2,1}, {0,1,2,2,2,1,0}, {0,0,1,1,1,0,0} } }, { '4', { {0,0,0,0,1,0,0}, {0,0,0,1,2,1,0}, {0,0,1,2,2,1,0}, {0,1,2,1,2,1,0}, {1,2,2,2,2,2,1}, {0,1,1,1,2,1,0}, {0,0,0,1,2,1,0}, {0,0,0,0,1,0,0} } }, { '5', { {0,1,1,1,1,1,0}, {1,2,2,2,2,2,1}, {1,2,1,1,1,1,0}, {1,2,2,2,2,1,0}, {0,1,1,1,1,2,0}, {0,1,1,1,1,2,0}, {1,2,2,2,2,1,0}, {0,1,1,1,1,0,0} } }, { '6', { {0,0,1,1,1,1,0}, {0,1,2,2,2,2,1}, {1,2,1,1,1,1,0}, {1,2,2,2,2,1,0}, {1,2,1,1,1,2,1}, {1,2,1,1,1,2,1}, {0,1,2,2,2,1,0}, {0,0,1,1,1,0,0} } }, { '7', { {0,1,1,1,1,1,0}, {1,2,2,2,2,2,1}, {0,1,1,1,1,2,1}, {0,0,0,1,2,1,0}, {0,0,1,2,1,0,0}, {0,1,2,1,0,0,0}, {0,1,2,1,0,0,0}, {0,0,1,0,0,0,0} } }, { '8', { {0,0,1,1,1,0,0}, {0,1,2,2,2,1,0}, {1,2,1,1,1,2,1}, {0,1,2,2,2,1,0}, {1,2,1,1,1,2,1}, {1,2,1,1,1,2,1}, {0,1,2,2,2,1,0}, {0,0,1,1,1,0,0} } }, { '9', { {0,0,1,1,1,0,0}, {0,1,2,2,2,1,0}, {1,2,1,1,1,2,1}, {0,1,2,2,2,2,1}, {0,1,1,1,1,2,1}, {1,2,1,1,1,2,1}, {0,1,2,2,2,1,0}, {0,0,1,1,1,0,0} } }, { '"', { {0,0,1,0,1,0,0}, {0,1,2,1,2,1,0}, {0,1,2,1,2,1,0}, {0,0,1,0,1,0,0}, {0,0,0,0,0,0,0}, {0,0,0,0,0,0,0}, {0,0,0,0,0,0,0}, {0,0,0,0,0,0,0} } }, { '/', { {0,0,0,0,1,0,0}, {0,0,0,1,2,1,0}, {0,0,0,1,2,1,0}, {0,0,1,2,1,0,0}, {0,0,1,2,1,0,0}, {0,1,2,1,0,0,0}, {0,1,2,1,0,0,0}, {0,0,1,0,0,0,0} } }, { '(', { {0,0,0,1,0,0,0}, {0,0,1,2,1,0,0}, {0,1,2,1,0,0,0}, {0,1,2,1,0,0,0}, {0,1,2,1,0,0,0}, {0,1,2,1,0,0,0}, {0,0,1,2,1,0,0}, {0,0,0,1,0,0,0} } }, { ')', { {0,0,0,1,0,0,0}, {0,0,1,2,1,0,0}, {0,0,0,1,2,1,0}, {0,0,0,1,2,1,0}, {0,0,0,1,2,1,0}, {0,0,0,1,2,1,0}, {0,0,1,2,1,0,0}, {0,0,0,1,0,0,0} } }, { '@', { {0,0,1,1,1,0,0}, {0,1,2,2,2,1,0}, {1,2,1,1,1,2,1}, {1,2,1,2,2,2,1}, {1,2,1,2,2,2,1}, {1,2,1,1,1,1,0}, {0,1,2,2,2,1,0}, {0,0,1,1,1,0,0} } }, { '~', { {0,0,0,0,0,0,0}, {0,0,0,0,0,0,0}, {0,0,1,0,0,0,0}, {0,1,2,1,0,1,0}, {1,2,1,2,1,2,1}, {0,1,0,1,2,1,0}, {0,0,0,0,1,0,0}, {0,0,0,0,0,0,0} } }, { '#', { {0,0,1,0,1,0,0}, {0,1,2,1,2,1,0}, {1,2,2,2,2,2,1}, {0,1,2,1,2,1,0}, {0,1,2,1,2,1,0}, {1,2,2,2,2,2,1}, {0,1,2,1,2,1,0}, {0,0,1,0,1,0,0} } }, { '<', { {0,0,0,0,0,1,0}, {0,0,0,1,1,2,1}, {0,1,1,2,2,1,0}, {1,2,2,1,1,0,0}, {0,1,1,2,2,1,0}, {0,0,0,1,1,2,1}, {0,0,0,0,0,1,0}, {0,0,0,0,0,0,0} } }, { '>', { {0,1,0,0,0,0,0}, {1,2,1,1,0,0,0}, {0,1,2,2,1,1,0}, {0,0,1,1,2,2,1}, {0,1,2,2,1,1,0}, {1,2,1,1,0,0,0}, {0,1,0,0,0,0,0}, {0,0,0,0,0,0,0} } }, { '|', { {0,0,0,1,0,0,0}, {0,0,1,2,1,0,0}, {0,0,1,2,1,0,0}, {0,0,1,2,1,0,0}, {0,0,1,2,1,0,0}, {0,0,1,2,1,0,0}, {0,0,1,2,1,0,0}, {0,0,0,1,0,0,0} } }, { ',', { {0,0,0,0,0,0,0}, {0,0,0,0,0,0,0}, {0,0,0,0,0,0,0}, {0,0,1,1,0,0,0}, {0,1,2,2,1,0,0}, {0,1,2,2,1,0,0}, {0,1,2,1,0,0,0}, {0,0,1,0,0,0,0} } }, { '.', { {0,0,0,0,0,0,0}, {0,0,0,0,0,0,0}, {0,0,0,0,0,0,0}, {0,0,1,1,0,0,0}, {0,1,2,2,1,0,0}, {0,1,2,2,1,0,0}, {0,0,1,1,0,0,0}, {0,0,0,0,0,0,0} } }, { ':', { {0,0,1,1,0,0,0}, {0,1,2,2,1,0,0}, {0,1,2,2,1,0,0}, {0,0,1,1,0,0,0}, {0,0,1,1,0,0,0}, {0,1,2,2,1,0,0}, {0,1,2,2,1,0,0}, {0,0,1,1,0,0,0} } }, { '-', { {0,0,0,0,0,0,0}, {0,0,0,0,0,0,0}, {0,0,1,1,1,0,0}, {0,1,2,2,2,1,0}, {0,0,1,1,1,0,0}, {0,0,0,0,0,0,0}, {0,0,0,0,0,0,0}, {0,0,0,0,0,0,0} } }, { '+', { {0,0,0,0,0,0,0}, {0,0,0,1,0,0,0}, {0,0,1,2,1,0,0}, {0,1,2,2,2,1,0}, {0,0,1,2,1,0,0}, {0,0,0,1,0,0,0}, {0,0,0,0,0,0,0}, {0,0,0,0,0,0,0} } }, { '_', { {0,0,0,0,0,0,0}, {0,0,0,0,0,0,0}, {0,0,0,0,0,0,0}, {0,0,0,0,0,0,0}, {0,0,0,0,0,0,0}, {0,1,1,1,1,1,0}, {1,2,2,2,2,2,1}, {0,1,1,1,1,1,0} } }, { '\'', { {0,0,0,1,0,0,0}, {0,0,1,2,1,0,0}, {0,0,1,2,1,0,0}, {0,0,0,1,0,0,0}, {0,0,0,0,0,0,0}, {0,0,0,0,0,0,0}, {0,0,0,0,0,0,0}, {0,0,0,0,0,0,0} } }, { 'a', { {0,0,0,0,0,0,0}, {0,0,0,0,0,0,0}, {0,0,1,1,1,1,0}, {0,1,2,2,2,2,1}, {1,2,1,1,1,2,1}, {1,2,1,1,1,2,1}, {0,1,2,2,2,2,1}, {0,0,1,1,1,1,0} } }, { 'b', { {0,1,0,0,0,0,0}, {1,2,1,0,0,0,0}, {1,2,1,1,1,0,0}, {1,2,2,2,2,1,0}, {1,2,1,1,1,2,1}, {1,2,1,1,1,2,1}, {1,2,2,2,2,1,0}, {0,1,1,1,1,0,0} } }, { 'c', { {0,0,0,0,0,0,0}, {0,0,0,0,0,0,0}, {0,0,1,1,1,1,0}, {0,1,2,2,2,2,1}, {1,2,1,1,1,1,0}, {1,2,1,1,1,1,0}, {0,1,2,2,2,2,1}, {0,0,1,1,1,1,0} } }, { 'd', { {0,0,0,0,0,1,0}, {0,0,0,0,1,2,1}, {0,0,1,1,1,2,1}, {0,1,2,2,2,2,1}, {1,2,1,1,1,2,1}, {1,2,1,1,1,2,1}, {0,1,2,2,2,2,1}, {0,0,1,1,1,1,0} } }, { 'e', { {0,0,0,0,0,0,0}, {0,0,0,0,0,0,0}, {0,0,1,1,1,0,0}, {0,1,2,2,2,1,0}, {1,2,2,1,1,2,1}, {1,2,1,2,2,1,0}, {0,1,2,2,2,2,1}, {0,0,1,1,1,1,0} } }, { 'f', { {0,0,0,0,1,1,0}, {0,0,0,1,2,2,1}, {0,0,1,2,1,1,0}, {0,1,2,2,2,1,0}, {0,0,1,2,1,0,0}, {0,0,1,2,1,0,0}, {0,0,1,2,1,0,0}, {0,0,0,1,0,0,0} } }, { 'g', { {0,0,0,0,0,0,0}, {0,0,1,1,1,1,0}, {0,1,2,2,2,2,1}, {1,2,1,1,1,2,1}, {0,1,2,2,2,2,1}, {0,1,1,1,1,2,1}, {1,2,2,2,2,1,0}, {0,1,1,1,1,0,0} } }, { 'h', { {0,1,0,0,0,0,0}, {1,2,1,0,0,0,0}, {1,2,1,1,1,0,0}, {1,2,1,2,2,1,0}, {1,2,2,1,1,2,1}, {1,2,1,0,1,2,1}, {1,2,1,0,1,2,1}, {0,1,0,0,0,1,0} } }, { 'i', { {0,0,0,1,0,0,0}, {0,0,1,2,1,0,0}, {0,0,0,1,0,0,0}, {0,0,1,2,1,0,0}, {0,0,1,2,1,0,0}, {0,0,1,2,1,0,0}, {0,1,2,2,2,1,0}, {0,0,1,1,1,0,0} } }, { 'j', { {0,0,0,1,0,0,0}, {0,0,1,2,1,0,0}, {0,0,0,1,0,0,0}, {0,0,1,2,1,0,0}, {0,0,1,2,1,0,0}, {0,1,1,2,1,0,0}, {1,2,2,1,0,0,0}, {0,1,1,0,0,0,0} } }, { 'k', { {0,1,0,0,0,0,0}, {1,2,1,0,0,0,0}, {1,2,1,0,1,0,0}, {1,2,1,1,2,1,0}, {1,2,1,2,1,0,0}, {1,2,2,1,2,1,0}, {1,2,1,0,1,2,1}, {0,1,0,0,0,1,0} } }, { 'l', { {0,0,1,1,0,0,0}, {0,1,2,2,1,0,0}, {0,0,1,2,1,0,0}, {0,0,1,2,1,0,0}, {0,0,1,2,1,0,0}, {0,0,1,2,1,0,0}, {0,0,0,1,2,1,0}, {0,0,0,0,1,0,0} } }, { 'm', { {0,0,0,0,0,0,0}, {0,0,0,0,0,0,0}, {0,1,1,0,1,0,0}, {1,2,2,1,2,1,0}, {1,2,1,2,1,2,1}, {1,2,1,2,1,2,1}, {1,2,1,2,1,2,1}, {0,1,0,1,0,1,0} } }, { 'n', { {0,0,0,0,0,0,0}, {0,0,0,0,0,0,0}, {0,1,0,1,1,0,0}, {1,2,1,2,2,1,0}, {1,2,2,1,1,2,1}, {1,2,1,0,1,2,1}, {1,2,1,0,1,2,1}, {0,1,0,0,0,1,0} } }, { 'o', { {0,0,0,0,0,0,0}, {0,0,0,0,0,0,0}, {0,0,1,1,1,0,0}, {0,1,2,2,2,1,0}, {1,2,1,1,1,2,1}, {1,2,1,1,1,2,1}, {0,1,2,2,2,1,0}, {0,0,1,1,1,0,0} }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -