是否可以仅从二进制数中获取 ASCII 字体位图数组?

MrY*_*Yui 0 c bitmap char

我正在寻找一种解决方案,我可以仅从二进制数生成 6*8 位图。

假设你得到的 charA是 binary 0b01000001。您是否可以从AC 中的字母创建 6*8 位图(只有 0 和 1 两种颜色)?

或者我是否需要像这样的字符集列表来查找位图的形状?

在此处输入图片说明

chu*_*ica 5

当然,你必须为每个字符形成一个字符映射。

然而代码可以反映你的字体设计,乏味,但有点有趣。

#define MAP(s) ((s[0]=='*')<<5 | (s[1]=='*')<<4 | (s[2]=='*')<<3 | \
                (s[3]=='*')<<2 | (s[4]=='*')<<1 | (s[5]=='*')<<0)
static const unsigned char map[256][8] = {
  // ...
  // 2 examples
  // A
  { MAP( "  *** "),
    MAP( " *   *"),
    MAP( " *   *"),
    MAP( " *****"),
    MAP( " *   *"),
    MAP( " *   *"),
    MAP( " *   *"),
    MAP( "      ") },
    // B
  { MAP( " **** "),
    MAP( " *   *"),
    MAP( " *   *"),
    MAP( " ****"),
    MAP( " *   *"),
    MAP( " *   *"),
    MAP( " **** "),
    MAP( "      ") },
    // ...
};
Run Code Online (Sandbox Code Playgroud)

各种宏可以根据需要以替代方式包装初始化。