Using FreeType to display Chinese characters
Last Update:2018-07-26
Source: Internet
Author: User
#include <sys/mman.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <unistd.h>
#include <linux/fb.h>
#include <fcntl.h>
#include <stdio.h>
#include <string.h>
#include <math.h>
#include <wchar.h>
#include <ft2build.h>
#include ft_freetype_h
#include ft_glyph_h
#define FONTDATAMAX 4096
static const unsigned char Fontdata_8x16[fontdatamax] = {
* * 0 0x00 ' ^@ ' *
0x00, * 00000000 * *
0x00, * 00000000 * *
0x00, * 00000000 * *
0x00, * 00000000 * *
0x00, * 00000000 * *
0x00, * 00000000 * *
0x00, * 00000000 * *
0x00, * 00000000 * *
0x00, * 00000000 * *
0x00, * 00000000 * *
0x00, * 00000000 * *
0x00, * 00000000 * *
0x00, * 00000000 * *
0x00, * 00000000 * *
0x00, * 00000000 * *
0x00, * 00000000 * *
* * 1 0x01 ' ^a ' *
0x00, * 00000000 * *
0x00, * 00000000 * *
0x7e, * 01111110 * *
0X81, * 10000001 * *
0XA5, * 10100101 * *
0X81, * 10000001 * *
0X81, * 10000001 * *
0XBD,/* 10111101 * *
0x99, * 10011001 * *
0X81, * 10000001 * *
0X81, * 10000001 * *
0x7e, * 01111110 * *
0x00, * 00000000 * *
0x00, * 00000000 * *
0x00, * 00000000 * *
0x00, * 00000000 * *
* * 2 0x02 ' ^b ' *
0x00, * 00000000 * *
0x00, * 00000000 * *
0x7e, * 01111110 * *
0xFF,/* 11111111 * *
0XDB,/* 11011011 * *
0xFF,/* 11111111 * *
0xFF,/* 11111111 * *
0XC3, * 11000011 * *
0xe7, * 11100111 * *
0xFF,/* 11111111 * *
0xFF,/* 11111111 * *
0x7e, * 01111110 * *
0x00, * 00000000 * *
0x00, * 00000000 * *
0x00, * 00000000 * *
0x00, * 00000000 * *
* * 3 0x03 ' ^c ' *
0x00, * 00000000 * *
0x00, * 00000000 * *
0x00, * 00000000 * *
0x00, * 00000000 * *
0X6C, * 01101100 * *
0xFE,/* 11111110 * *
0xFE,/* 11111110 * *
0xFE,/* 11111110 * *
0xFE,/* 11111110 * *
0x7c, * 01111100 * *
0x38, * 00111000 * *
0x10, * 00010000 * *
0x00, * 00000000 * *
0x00, * 00000000 * *
0x00, * 00000000 * *
0x00, * 00000000 * *
* * 4 0x04 ' ^d ' *
0x00, * 00000000 * *
0x00, * 00000000 * *
0x00, * 00000000 * *
0x00, * 00000000 * *
0x10, * 00010000 * *
0x38, * 00111000 * *
0x7c, * 01111100 * *
0xFE,/* 11111110 * *
0x7c, * 01111100 * *
0x38, * 00111000 * *
0x10, * 00010000 * *
0x00, * 00000000 * *
0x00, * 00000000 * *
0x00, * 00000000 * *
0x00, * 00000000 * *
0x00, * 00000000 * *
* * 5 0x05 ' ^e ' *
0x00, * 00000000 * *
0x00, * 00000000 * *
0x00, * 00000000 * *
0x18, * 00011000 * *
0X3C, * 00111100 * *
0X3C, * 00111100 * *
0xe7, * 11100111 * *
0xe7, * 11100111 * *
0xe7, * 11100111 * *
0x18, * 00011000 * *
0x18, * 00011000 * *
0X3C, * 00111100 * *
0x00, * 00000000 * *
0x00, * 00000000 * *
0x00, * 00000000 * *
0x00, * 00000000 * *
* * 6 0x06 ' ^f ' *
0x00, * 00000000 * *
0x00, * 00000000 * *
0x00, * 00000000 * *
0x18, * 00011000 * *
0X3C, * 00111100 * *
0x7e, * 01111110 * *
0xFF,/* 11111111 * *
0xFF,/* 11111111 * *
0x7e, * 01111110 * *
0x18, * 00011000 * *
0x18, * 00011000 * *
0X3C, * 00111100 * *
0x00, * 00000000 * *
0x00, * 00000000 * *
0x00, * 00000000 * *
0x00, * 00000000 * *
* * 7 0x07 ' ^g ' *
0x00, * 00000000 * *
0x00, * 00000000 * *
0x00, * 00000000 * *
0x00, * 00000000 * *
0x00, * 00000000 * *
0x00, * 00000000 * *
0x18, * 00011000 * *
0X3C, * 00111100 * *
0X3C, * 00111100 * *
0x18, * 00011000 * *
0x00, * 00000000 * *
0x00, * 00000000 * *
0x00, * 00000000 * *
0x00, * 00000000 * *
0x00, * 00000000 * *
0x00, * 00000000 * *
* * 8 0x08 ' ^h ' *
0xFF,/* 11111111 * *
0xFF,/* 11111111 * *
0xFF,/* 11111111 * *
0xFF,/* 11111111 * *
0xFF,/* 11111111 * *
0xFF,/* 11111111 * *
0xe7, * 11100111 * *
0XC3, * 11000011 * *
0XC3, * 11000011 * *
0xe7, * 11100111 * *
0xFF,/* 11111111 * *
0xFF,/* 11111111 * *
0xFF,/* 11111111 * *
0xFF,/* 11111111 * *
0xFF,/* 11111111 * *
0xFF,/* 11111111 * *
* * 9 0x09 ' ^i ' *
0x00, * 00000000 * *
0x00, * 00000000 * *
0x00, * 00000000 * *
0x00, * 00000000 * *
0x00, * 00000000 * *
0X3C, * 00111100 * *
0X66, * 01100110 * *
0x42, * 01000010 * *
0x42, * 01000010 * *
0X66, * 01100110 * *
0X3C, * 00111100 * *
0x00, * 00000000 * *
0x00, * 00000000 * *
0x00, * 00000000 * *
0x00, * 00000000 * *
0x00, * 00000000 * *
* 0x0a ' ^j ' *
0xFF,/* 11111111 * *
0xFF,/* 11111111 * *
0xFF,/* 11111111 * *
0xFF,/* 11111111 * *
0xFF,/* 11111111 * *
0XC3, * 11000011 * *
0x99, * 10011001 * *
0XBD,/* 10111101 * *
0XBD,/* 10111101 * *
0x99, * 10011001 * *
0XC3, * 11000011 * *
0xFF,/* 11111111 * *
0xFF,/* 11111111 * *
0xFF,/* 11111111 * *
0xFF,/* 11111111 * *
0xFF,/* 11111111 * *
/* One 0x0b ' ^k ' *
0x00, * 00000000 * *
0x00, * 00000000 * *
0X1E, * 00011110 * *
0X0E, * 00001110 * *
0X1A, * 00011010 * *
0x32, * 00110010 * *
0x78, * 01111000 * *
0XCC,/* 11001100 * *
0XCC,/* 11001100 * *
0XCC,/* 11001100 * *
0XCC,/* 11001100 * *
0x78, * 01111000 * *
0x00, * 00000000 * *
0x00, * 00000000 * *
0x00, * 00000000 * *
0x00, * 00000000 * *
/* 0x0c ' ^l ' *
0x00, * 00000000 * *
0x00, * 00000000 * *
0X3C, * 00111100 * *
0X66, * 01100110 * *
0X66, * 01100110 * *
0X66, * 01100110 * *
0X66, * 01100110 * *
0X3C, * 00111100 * *
0x18, * 00011000 * *
0x7e, * 01111110 * *
0x18, * 00011000 * *
0x18, * 00011000 * *
0x00, * 00000000 * *
0x00, * 00000000 * *
0x00, * 00000000 * *
0x00, * 00000000 * *
* 0x0d ' ^m ' * *
0x00, * 00000000 * *
0x00, * 00000000 * *
0x3f, * 00111111 * *
0X33, * 00110011 * *
0x3f, * 00111111 * *
0x30, * 00110000 * *
0x30, * 00110000 * *
0x30, * 00110000 * *
0x30, * 00110000 * *
0X70, * 01110000 * *
0XF0, * 11110000 * *
0XE0, * 11100000 * *
0x00, * 00000000 * *
0x00, * 00000000 * *
0x00, * 00000000 * *
0x00, * 00000000 * *
/* 0x0e ' ^n ' *
0x00, * 00000000 * *
0x00, * 00000000 * *
0x7f, * 01111111 * *
0x63, * 01100011 * *
0x7f, * 01111111 * *
0x63, * 01100011 * *
0x63, * 01100011 * *
0x63, * 01100011 * *
0x63, * 01100011 * *
0x67, * 01100111 * *
0xe7, * 11100111 * *
0xe6, * 11100110 * *
0XC0, * 11000000 * *
0x00, * 00000000 * *
0x00, * 00000000 * *
0x00, * 00000000 * *
* 0x0f ' ^o ' *
0x00, * 00000000 * *
0x00, * 00000000 * *
0x00, * 00000000 * *
0x18, * 00011000 * *
0x18, * 00011000 * *
0XDB,/* 11011011 * *
0X3C, * 00111100 * *
0xe7, * 11100111 * *
0X3C, * 00111100 * *
0XDB,/* 11011011 * *
0x18, * 00011000 * *
0x18, * 00011000 * *
0x00, * 00000000 * *
0x00, * 00000000 * *
0x00, * 00000000 * *
0x00, * 00000000 * *
* 0x10 ' ^p ' *
0x00, * 00000000 * *
0x80, * 10000000 * *
0XC0, * 11000000 * *
0XE0, * 11100000 * *
0XF0, * 11110000 * *
0xf8, * 11111000 * *
0xFE,/* 11111110 * *
0xf8, * 11111000 * *
0XF0, * 11110000 * *
0XE0, * 11100000 * *
0XC0, * 11000000 * *
0x80, * 10000000 * *
0x00, * 00000000 * *
0x00, * 00000000 * *
0x00, * 00000000 * *
0x00, * 00000000 * *
* 0x11 ' ^q ' *
0x00, * 00000000 * *
0x02, * 00000010 * *
0x06, * 00000110 * *
0X0E, * 00001110 * *
0X1E, * 00011110 * *
0x3e, * 00111110 * *
0xFE,/* 11111110 * *
0x3e, * 00111110 * *
0X1E, * 00011110 * *
0X0E, * 00001110 * *
0x06, * 00000110 * *
0x02, * 00000010 * *
0x00, * 00000000 * *
0x00, * 00000000 * *
0x00, * 00000000 * *
0x00, * 00000000 * *
/* 0x12 ' ^r ' *
0x00, * 00000000 * *
0x00, * 00000000 * *
0x18, * 00011000 * *
0X3C, * 00111100 * *
0x7e, * 01111110 * *
0x18, * 00011000 * *
0x18, * 00011000 * *
0x18, * 00011000 * *
0x7e, * 01111110 * *
0X3C, * 00111100 * *
0x18, * 00011000 * *
0x00, * 00000000 * *
0x00, * 00000000 * *
0x00, * 00000000 * *
0x00, * 00000000 * *
0x00, * 00000000 * *
/* 0x13 ' ^s ' *
0x00, * 00000000 * *
0x00, * 00000000 * *
0X66, * 01100110 * *
0X66, * 01100110 * *
0X66, * 01100110 * *
0X66, * 01100110 * *
0X66, * 01100110 * *
0X66, * 01100110 * *
0X66, * 01100110 * *
0x00, * 00000000 * *
0X66, * 01100110 * *
0X66, * 01100110 * *
0x00, * 00000000 * *
0x00, * 00000000 * *
0x00, * 00000000 * *
0x00, * 00000000 * *
* 0x14 ' ^t ' * *
0x00, * 00000000 * *
0x00, * 00000000 * *
0x7f, * 01111111 * *
0XDB,/* 11011011 * *
0XDB,/* 11011011 * *
0XDB,/* 11011011 * *
0x7b, * 01111011 * *
0x1b, * 00011011 * *
0x1b, * 00011011 * *
0x1b, * 00011011 * *
0x1b, * 00011011 * *
0x1b, * 00011011 * *
0x00, * 00000000 * *
0x00, * 00000000 * *
0x00, * 00000000 * *
0x00, * 00000000 * *
* 0x15 ' ^u ' *
0x00, * 00000000 * *
0x7c, * 01111100 * *
0XC6, * 11000110 * *
0x60, * 01100000 * *
0x38, * 00111000 * *
0X6C, * 01101100 * *
0XC6, * 11000110 * *
0XC6, * 11000110 * *
0X6C, * 01101100 * *
0x38, * 00111000 * *
0x0c, * 00001100 * *
0XC6, * 11000110 * *
0x7c, * 01111100 * *
0x00, * 00000000 * *
0x00, * 00000000 * *
0x00, * 00000000 * *
* 0x16 ' ^v ' *
0x00, * 00000000 * *
0x00, * 00000000 * *
0x00, * 00000000 * *
0x00, * 00000000 * *
0x00, * 00000000 * *
0x00, * 00000000 * *
0x00, * 00000000 * *
0x00, * 00000000 * *
0xFE,/* 11111110 * *
0xFE,/* 11111110 * *
0xFE,/* 11111110 * *
0xFE,/* 11111110 * *
0x00, * 00000000 * *
0x00, * 00000000 * *
0x00, * 00000000 * *
0x00, * 00000000 * *
* 0x17 ' ^w ' *
0x00, * 00000000 * *
0x00, * 00000000 * *
0x18, * 00011000 * *
0X3C, * 00111100 * *
0x7e, * 01111110 * *
0x18, * 00011000 * *
0x18, * 00011000 * *
0x18, * 00011000 * *
0x7e, * 01111110 * *
0X3C, * 00111100 * *
0x18, * 00011000 * *
0x7e, * 01111110 * *
0x00, * 00000000 * *
0x00, * 00000000 * *
0x00, * 00000000 * *
0x00, * 00000000 * *
* 0x18 ' ^x ' * *
0x00, * 00000000 * *
0x00, * 00000000 * *
0x18, * 00011000 * *
0X3C, * 00111100 * *
0x7e, * 01111110 * *
0x18, * 00011000 * *
0x18, * 00011000 * *
0x18, * 00011000 * *
0x18, * 00011000 * *
0x18, * 00011000 * *
0x18, * 00011000 * *
0x18, * 00011000 * *
0x00, * 00000000 * *
0x00, * 00000000 * *
0x00, * 00000000 * *
0x00, * 00000000 * *
/* 0x19 ' ^y ' *
0x00, * 00000000 * *
0x00, * 00000000 * *
0x18, * 00011000 * *
0x18, * 00011000 * *
0x18, * 00011000 * *
0x18, * 00011000 * *
0x18, * 00011000 * *
0x18, * 00011000 * *
0x18, * 00011000 * *
0x7e, * 01111110 * *
0X3C, * 00111100 * *
0x18, * 00011000 * *
0x00, * 00000000 * *
0x00, * 00000000 * *
0x00, * 00000000 * *
0x00, * 00000000 * *
<