横向纵向的5*7字库
来源:互联网 发布:origin由图导出数据 编辑:程序博客网 时间:2024/05/17 22:43
对于较小的显示屏而言,对字库的显示有所苛刻,这里我们用到的是5*7的字库,不过终于找到了一个,是纵向的,与我所用的接口有所不符合,所以我转换了下,变成了横向的了。这里贴出代码,及其新的横向字库。代码在QT的控制台上缩写,之前都是VC控制台写的。
#include <QDebug>/******************************************************************************** * 从字节0xff某个高位开始往低位的方向截取长度(0~8),所得的内容 * 比如从bit6开始往低位截图长度为2,我们很快可以得知为0x60 * 这里面就是Get_Middle_Byte[7 - 6][2] ********************************************************************************/const uint8_t Get_Middle_Byte[8][9] = { {0x00, 0x80, 0xc0, 0xe0, 0xf0, 0xf8, 0xfc, 0xfe, 0xff}, {0x00, 0x40, 0x60, 0x70, 0x78, 0x7c, 0x7e, 0x7f, 0x00}, {0x00, 0x20, 0x30, 0x38, 0x3c, 0x3e, 0x3f, 0x00, 0x00}, {0x00, 0x10, 0x18, 0x1c, 0x1e, 0x1f, 0x00, 0x00, 0x00}, {0x00, 0x08, 0x0c, 0x0e, 0x0f, 0x00, 0x00, 0x00, 0x00}, {0x00, 0x04, 0x06, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00}, {0x00, 0x02, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, {0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},};const char g57Ascii[95][5]={ //纵向 { 0x00, 0x00, 0x00, 0x00, 0x00 }, // sp { 0x00, 0x00, 0x2f, 0x00, 0x00 }, // ! { 0x00, 0x07, 0x00, 0x07, 0x00 }, // " { 0x14, 0x7f, 0x14, 0x7f, 0x14 }, // # { 0x24, 0x2a, 0x7f, 0x2a, 0x12 }, // $ { 0xc4, 0xc8, 0x10, 0x26, 0x46 }, // % { 0x36, 0x49, 0x55, 0x22, 0x50 }, // & { 0x00, 0x05, 0x03, 0x00, 0x00 }, // ' { 0x00, 0x1c, 0x22, 0x41, 0x00 }, // ( { 0x00, 0x41, 0x22, 0x1c, 0x00 }, // ) { 0x14, 0x08, 0x3E, 0x08, 0x14 }, // * { 0x08, 0x08, 0x3E, 0x08, 0x08 }, // + { 0x00, 0x00, 0x50, 0x30, 0x00 }, // , { 0x10, 0x10, 0x10, 0x10, 0x10 }, // - { 0x00, 0x60, 0x60, 0x00, 0x00 }, // . { 0x20, 0x10, 0x08, 0x04, 0x02 }, // / { 0x3E, 0x51, 0x49, 0x45, 0x3E }, // 0 { 0x00, 0x42, 0x7F, 0x40, 0x00 }, // 1 { 0x42, 0x61, 0x51, 0x49, 0x46 }, // 2 { 0x21, 0x41, 0x45, 0x4B, 0x31 }, // 3 { 0x18, 0x14, 0x12, 0x7F, 0x10 }, // 4 { 0x27, 0x45, 0x45, 0x45, 0x39 }, // 5 { 0x3C, 0x4A, 0x49, 0x49, 0x30 }, // 6 { 0x01, 0x71, 0x09, 0x05, 0x03 }, // 7 { 0x36, 0x49, 0x49, 0x49, 0x36 }, // 8 { 0x06, 0x49, 0x49, 0x29, 0x1E }, // 9 { 0x00, 0x36, 0x36, 0x00, 0x00 }, // : { 0x00, 0x56, 0x36, 0x00, 0x00 }, // ; { 0x08, 0x14, 0x22, 0x41, 0x00 }, // < { 0x14, 0x14, 0x14, 0x14, 0x14 }, // = { 0x00, 0x41, 0x22, 0x14, 0x08 }, // > { 0x02, 0x01, 0x51, 0x09, 0x06 }, // ? { 0x32, 0x49, 0x59, 0x51, 0x3E }, // @ { 0x7E, 0x11, 0x11, 0x11, 0x7E }, // A { 0x7F, 0x49, 0x49, 0x49, 0x36 }, // B { 0x3E, 0x41, 0x41, 0x41, 0x22 }, // C { 0x7F, 0x41, 0x41, 0x22, 0x1C }, // D { 0x7F, 0x49, 0x49, 0x49, 0x41 }, // E { 0x7F, 0x09, 0x09, 0x09, 0x01 }, // F { 0x3E, 0x41, 0x49, 0x49, 0x7A }, // G { 0x7F, 0x08, 0x08, 0x08, 0x7F }, // H { 0x00, 0x41, 0x7F, 0x41, 0x00 }, // I { 0x20, 0x40, 0x41, 0x3F, 0x01 }, // J { 0x7F, 0x08, 0x14, 0x22, 0x41 }, // K { 0x7F, 0x40, 0x40, 0x40, 0x40 }, // L { 0x7F, 0x02, 0x0C, 0x02, 0x7F }, // M { 0x7F, 0x04, 0x08, 0x10, 0x7F }, // N { 0x3E, 0x41, 0x41, 0x41, 0x3E }, // O { 0x7F, 0x09, 0x09, 0x09, 0x06 }, // P { 0x3E, 0x41, 0x51, 0x21, 0x5E }, // Q { 0x7F, 0x09, 0x19, 0x29, 0x46 }, // R { 0x46, 0x49, 0x49, 0x49, 0x31 }, // S { 0x01, 0x01, 0x7F, 0x01, 0x01 }, // T { 0x3F, 0x40, 0x40, 0x40, 0x3F }, // U { 0x1F, 0x20, 0x40, 0x20, 0x1F }, // V { 0x3F, 0x40, 0x38, 0x40, 0x3F }, // W { 0x63, 0x14, 0x08, 0x14, 0x63 }, // X { 0x07, 0x08, 0x70, 0x08, 0x07 }, // Y { 0x61, 0x51, 0x49, 0x45, 0x43 }, // Z { 0x00, 0x7F, 0x41, 0x41, 0x00 }, // [ { 0x55, 0x2A, 0x55, 0x2A, 0x55 }, // 55 { 0x00, 0x41, 0x41, 0x7F, 0x00 }, // ] { 0x04, 0x02, 0x01, 0x02, 0x04 }, // ^ { 0x40, 0x40, 0x40, 0x40, 0x40 }, // _ { 0x00, 0x01, 0x02, 0x04, 0x00 }, // ' { 0x20, 0x54, 0x54, 0x54, 0x78 }, // a { 0x7F, 0x48, 0x44, 0x44, 0x38 }, // b { 0x38, 0x44, 0x44, 0x44, 0x20 }, // c { 0x38, 0x44, 0x44, 0x48, 0x7F }, // d { 0x38, 0x54, 0x54, 0x54, 0x18 }, // e { 0x08, 0x7E, 0x09, 0x01, 0x02 }, // f { 0x0C, 0x52, 0x52, 0x52, 0x3E }, // g { 0x7F, 0x08, 0x04, 0x04, 0x78 }, // h { 0x00, 0x44, 0x7D, 0x40, 0x00 }, // i { 0x20, 0x40, 0x44, 0x3D, 0x00 }, // j { 0x7F, 0x10, 0x28, 0x44, 0x00 }, // k { 0x00, 0x41, 0x7F, 0x40, 0x00 }, // l { 0x7C, 0x04, 0x18, 0x04, 0x78 }, // m { 0x7C, 0x08, 0x04, 0x04, 0x78 }, // n { 0x38, 0x44, 0x44, 0x44, 0x38 }, // o { 0x7C, 0x14, 0x14, 0x14, 0x08 }, // p { 0x08, 0x14, 0x14, 0x18, 0x7C }, // q { 0x7C, 0x08, 0x04, 0x04, 0x08 }, // r { 0x48, 0x54, 0x54, 0x54, 0x20 }, // s { 0x04, 0x3F, 0x44, 0x40, 0x20 }, // t { 0x3C, 0x40, 0x40, 0x20, 0x7C }, // u { 0x1C, 0x20, 0x40, 0x20, 0x1C }, // v { 0x3C, 0x40, 0x30, 0x40, 0x3C }, // w { 0x44, 0x28, 0x10, 0x28, 0x44 }, // x { 0x0C, 0x50, 0x50, 0x50, 0x3C }, // y { 0x44, 0x64, 0x54, 0x4C, 0x44 }, // z { 0x00, 0x08, 0x36, 0x41, 0x00 }, // { { 0x00, 0x00, 0x77, 0x00, 0x00 }, // | { 0x00, 0x41, 0x36, 0x08, 0x00 }, // } { 0x04, 0x02, 0x04, 0x08, 0x04 }, // ~};void Convert_Ver_To_Hor(uint8_t *dest, char c){ uint8_t col = 0, k = 0; for (; col < 5; col++) { for (k = 1; k < 8; k++) { if (g57Ascii[c - 0x20][col] & Get_Middle_Byte[k][1]) { dest[7 - k] |= Get_Middle_Byte[col][1]; } } }}int main(int argc, char *argv[]){ QCoreApplication a(argc, argv); uint8_t row = 0; uint8_t t[7]; printf("const char g57Ascii[95][7]={\r\n"); for (char c = ' '; c <= '~'; c++) { memset(t, 0, 7); Convert_Ver_To_Hor(t, c); printf("\t{ "); //\t表示tab键 for (row = 0; row < 6; row++) { printf("0x%02x, ", t[row]); } printf("0x%02x }, //%c\r\n", t[row], c); } printf("};\r\n"); return a.exec();}
运行的打印结果为:
const char g57Ascii[95][7]={ { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, // { 0x20, 0x20, 0x20, 0x20, 0x00, 0x20, 0x00 }, //! { 0x50, 0x50, 0x50, 0x00, 0x00, 0x00, 0x00 }, //" { 0x50, 0x50, 0xf8, 0x50, 0xf8, 0x50, 0x50 }, //# { 0x20, 0x78, 0xa0, 0x70, 0x28, 0xf0, 0x20 }, //$ { 0x00, 0x18, 0x98, 0x40, 0x20, 0x10, 0xc8 }, //% { 0x60, 0x90, 0xa0, 0x40, 0xa8, 0x90, 0x68 }, //& { 0x60, 0x20, 0x40, 0x00, 0x00, 0x00, 0x00 }, //' { 0x10, 0x20, 0x40, 0x40, 0x40, 0x20, 0x10 }, //( { 0x40, 0x20, 0x10, 0x10, 0x10, 0x20, 0x40 }, //) { 0x00, 0x20, 0xa8, 0x70, 0xa8, 0x20, 0x00 }, //* { 0x00, 0x20, 0x20, 0xf8, 0x20, 0x20, 0x00 }, //+ { 0x00, 0x00, 0x00, 0x00, 0x30, 0x10, 0x20 }, //, { 0x00, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x00 }, //- { 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x60 }, //. { 0x00, 0x08, 0x10, 0x20, 0x40, 0x80, 0x00 }, /// { 0x70, 0x88, 0x98, 0xa8, 0xc8, 0x88, 0x70 }, //0 { 0x20, 0x60, 0x20, 0x20, 0x20, 0x20, 0x70 }, //1 { 0x70, 0x88, 0x08, 0x10, 0x20, 0x40, 0xf8 }, //2 { 0xf8, 0x10, 0x20, 0x10, 0x08, 0x88, 0x70 }, //3 { 0x10, 0x30, 0x50, 0x90, 0xf8, 0x10, 0x10 }, //4 { 0xf8, 0x80, 0xf0, 0x08, 0x08, 0x88, 0x70 }, //5 { 0x30, 0x40, 0x80, 0xf0, 0x88, 0x88, 0x70 }, //6 { 0xf8, 0x08, 0x10, 0x20, 0x40, 0x40, 0x40 }, //7 { 0x70, 0x88, 0x88, 0x70, 0x88, 0x88, 0x70 }, //8 { 0x70, 0x88, 0x88, 0x78, 0x08, 0x10, 0x60 }, //9 { 0x00, 0x60, 0x60, 0x00, 0x60, 0x60, 0x00 }, //: { 0x00, 0x60, 0x60, 0x00, 0x60, 0x20, 0x40 }, //; { 0x10, 0x20, 0x40, 0x80, 0x40, 0x20, 0x10 }, //< { 0x00, 0x00, 0xf8, 0x00, 0xf8, 0x00, 0x00 }, //= { 0x40, 0x20, 0x10, 0x08, 0x10, 0x20, 0x40 }, //> { 0x70, 0x88, 0x08, 0x10, 0x20, 0x00, 0x20 }, //? { 0x70, 0x88, 0x08, 0x68, 0xb8, 0x88, 0x70 }, //@ { 0x70, 0x88, 0x88, 0x88, 0xf8, 0x88, 0x88 }, //A { 0xf0, 0x88, 0x88, 0xf0, 0x88, 0x88, 0xf0 }, //B { 0x70, 0x88, 0x80, 0x80, 0x80, 0x88, 0x70 }, //C { 0xe0, 0x90, 0x88, 0x88, 0x88, 0x90, 0xe0 }, //D { 0xf8, 0x80, 0x80, 0xf0, 0x80, 0x80, 0xf8 }, //E { 0xf8, 0x80, 0x80, 0xf0, 0x80, 0x80, 0x80 }, //F { 0x70, 0x88, 0x80, 0xb8, 0x88, 0x88, 0x78 }, //G { 0x88, 0x88, 0x88, 0xf8, 0x88, 0x88, 0x88 }, //H { 0x70, 0x20, 0x20, 0x20, 0x20, 0x20, 0x70 }, //I { 0x38, 0x10, 0x10, 0x10, 0x10, 0x90, 0x60 }, //J { 0x88, 0x90, 0xa0, 0xc0, 0xa0, 0x90, 0x88 }, //K { 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0xf8 }, //L { 0x88, 0xd8, 0xa8, 0xa8, 0x88, 0x88, 0x88 }, //M { 0x88, 0x88, 0xc8, 0xa8, 0x98, 0x88, 0x88 }, //N { 0x70, 0x88, 0x88, 0x88, 0x88, 0x88, 0x70 }, //O { 0xf0, 0x88, 0x88, 0xf0, 0x80, 0x80, 0x80 }, //P { 0x70, 0x88, 0x88, 0x88, 0xa8, 0x90, 0x68 }, //Q { 0xf0, 0x88, 0x88, 0xf0, 0xa0, 0x90, 0x88 }, //R { 0x78, 0x80, 0x80, 0x70, 0x08, 0x08, 0xf0 }, //S { 0xf8, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20 }, //T { 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x70 }, //U { 0x88, 0x88, 0x88, 0x88, 0x88, 0x50, 0x20 }, //V { 0x88, 0x88, 0x88, 0xa8, 0xa8, 0xa8, 0x50 }, //W { 0x88, 0x88, 0x50, 0x20, 0x50, 0x88, 0x88 }, //X { 0x88, 0x88, 0x88, 0x50, 0x20, 0x20, 0x20 }, //Y { 0xf8, 0x08, 0x10, 0x20, 0x40, 0x80, 0xf8 }, //Z { 0x70, 0x40, 0x40, 0x40, 0x40, 0x40, 0x70 }, //[ { 0xa8, 0x50, 0xa8, 0x50, 0xa8, 0x50, 0xa8 }, //\ { 0x70, 0x10, 0x10, 0x10, 0x10, 0x10, 0x70 }, //] { 0x20, 0x50, 0x88, 0x00, 0x00, 0x00, 0x00 }, //^ { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8 }, //_ { 0x40, 0x20, 0x10, 0x00, 0x00, 0x00, 0x00 }, //` { 0x00, 0x00, 0x70, 0x08, 0x78, 0x88, 0x78 }, //a { 0x80, 0x80, 0xb0, 0xc8, 0x88, 0x88, 0xf0 }, //b { 0x00, 0x00, 0x70, 0x80, 0x80, 0x88, 0x70 }, //c { 0x08, 0x08, 0x68, 0x98, 0x88, 0x88, 0x78 }, //d { 0x00, 0x00, 0x70, 0x88, 0xf8, 0x80, 0x70 }, //e { 0x30, 0x48, 0x40, 0xe0, 0x40, 0x40, 0x40 }, //f { 0x00, 0x78, 0x88, 0x88, 0x78, 0x08, 0x70 }, //g { 0x80, 0x80, 0xb0, 0xc8, 0x88, 0x88, 0x88 }, //h { 0x20, 0x00, 0x60, 0x20, 0x20, 0x20, 0x70 }, //i { 0x10, 0x00, 0x30, 0x10, 0x10, 0x90, 0x60 }, //j { 0x80, 0x80, 0x90, 0xa0, 0xc0, 0xa0, 0x90 }, //k { 0x60, 0x20, 0x20, 0x20, 0x20, 0x20, 0x70 }, //l { 0x00, 0x00, 0xd0, 0xa8, 0xa8, 0x88, 0x88 }, //m { 0x00, 0x00, 0xb0, 0xc8, 0x88, 0x88, 0x88 }, //n { 0x00, 0x00, 0x70, 0x88, 0x88, 0x88, 0x70 }, //o { 0x00, 0x00, 0xf0, 0x88, 0xf0, 0x80, 0x80 }, //p { 0x00, 0x00, 0x68, 0x98, 0x78, 0x08, 0x08 }, //q { 0x00, 0x00, 0xb0, 0xc8, 0x80, 0x80, 0x80 }, //r { 0x00, 0x00, 0x70, 0x80, 0x70, 0x08, 0xf0 }, //s { 0x40, 0x40, 0xe0, 0x40, 0x40, 0x48, 0x30 }, //t { 0x00, 0x00, 0x88, 0x88, 0x88, 0x98, 0x68 }, //u { 0x00, 0x00, 0x88, 0x88, 0x88, 0x50, 0x20 }, //v { 0x00, 0x00, 0x88, 0x88, 0xa8, 0xa8, 0x50 }, //w { 0x00, 0x00, 0x88, 0x50, 0x20, 0x50, 0x88 }, //x { 0x00, 0x00, 0x88, 0x88, 0x78, 0x08, 0x70 }, //y { 0x00, 0x00, 0xf8, 0x10, 0x20, 0x40, 0xf8 }, //z { 0x10, 0x20, 0x20, 0x40, 0x20, 0x20, 0x10 }, //{ { 0x20, 0x20, 0x20, 0x00, 0x20, 0x20, 0x20 }, //| { 0x40, 0x20, 0x20, 0x10, 0x20, 0x20, 0x40 }, //} { 0x00, 0x40, 0xa8, 0x10, 0x00, 0x00, 0x00 }, //~};
0 0
- 横向纵向的5*7字库
- 技术人员的横向纵向发展
- GridView产生纵向横向的滚动条
- GridView产生纵向横向的滚动条
- Oracle的表结构:纵向和横向
- 不间断的滚动(横向/纵向)
- RDLC报表的纵向横向设置
- Oracle的表结构:纵向和横向
- html td 的横向与纵向合并
- div的横向与纵向排列
- Oracle的表结构:纵向和横向
- 横向和纵向的数据库分表
- 横向和纵向的ViewPage,引导页
- DirectionalViewPager支持横向和纵向的ViewPager
- div的横向与纵向排列
- 将数据表的纵向数据横向显示
- DirectionalViewPager支持横向和纵向的ViewPager
- 横向,纵向的3dGallery效果
- 指针与二维数组
- Day3对继承和对象的一点理解
- mysql 密码忘掉怎么办
- R-CNN和SPP-net
- LeetCode 数组 Set Matrix Zeroes
- 横向纵向的5*7字库
- C# winform 引用Grid++Report
- javascript——窗口大小和视口大小
- python(第三天):参数匹配类型
- vim mark
- PLSQL连接不上,配置tnsnames.ora后连接失败的可能原因
- GridControlClass公用方法
- 哪种将pdf转换成为word的软件好用
- Java Socket实战之二:多线程通信