--- nono/vm/lcd.cpp 2026/04/29 17:04:58 1.1.1.8 +++ nono/vm/lcd.cpp 2026/04/29 17:05:14 1.1.1.10 @@ -11,31 +11,27 @@ #include "lcd.h" #include "uimessage.h" -std::unique_ptr gLCD; +// グローバル参照用 +LCDDevice *gLCD; +// コンストラクタ LCDDevice::LCDDevice() : inherited("LCD") { - monitor.func = (MonitorCallback_t)&LCDDevice::MonitorUpdate; + monitor.func = ToMonitorCallback(&LCDDevice::MonitorUpdate); monitor.SetSize(67, 3); monitor.Regist(ID_MONITOR_LCD); } +// デストラクタ LCDDevice::~LCDDevice() { + gLCD = NULL; } -bool -LCDDevice::PowerOff() -{ - // XXX 電源オフは色を落としたほうがいい - memset(ddram, 0x20, sizeof(ddram)); - UIMessage::Post(UIMessage::LCD); - return true; -} - +// リセット void -LCDDevice::ResetHard() +LCDDevice::ResetHard(bool poweron) { // とりあえずモニタ画面での表示を消す memset(ddram, 0x20, sizeof(ddram)); @@ -47,6 +43,15 @@ LCDDevice::ResetHard() UIMessage::Post(UIMessage::LCD); } +// 電源オフ +void +LCDDevice::PowerOff() +{ + // XXX 電源オフは色を落としたほうがいい + memset(ddram, 0x20, sizeof(ddram)); + UIMessage::Post(UIMessage::LCD); +} + void LCDDevice::SetRW(bool val) { @@ -82,7 +87,8 @@ void LCDDevice::LatchData() { if (addr_is_cgram) { - data_reg = cgram[addr_counter]; + // cgram は 5 bit 有効で左詰めされている + data_reg = cgram[addr_counter] >> 3; } else { data_reg = ddram[addr_counter]; } @@ -178,20 +184,20 @@ LCDDevice::Write(uint8 data) if ((data & 0x80)) { SetAddr(data & 0x7f, false); - putlog(1, "DDRAM アドレスセット $%02x", addr_counter); + putlog(1, "DDRAM Address <- $%02x", addr_counter); } else if ((data & 0x40)) { SetAddr(data & 0x3f, true); - putlog(1, "CGRAM アドレスセット $%02x", addr_counter); + putlog(1, "CGRAM Address <- $%02x", addr_counter); } else if ((data & 0x20)) { // ファンクション・セット // 0x38 (8ビットバス、2行表示、8ライン/行)モードのみサポート if (data != 0x38) { - putlog(0, "コマンド書き込み $%02x ファンクションセット(未実装)", - data); + putlog(0, "Write Command $%02x Function Set (NOT IMPLEMENTED)", data); } } else if ((data & 0x10)) { // カーソル移動 - putlog(0, "コマンド書き込み $%02x カーソル移動(未実装)", data); + putlog(0, "Write Command $%02x Move Cursor (NOT IMPLEMENTED)", + data); } else if ((data & 0x08)) { // 表示ON/OFF // 文字表示 ON/OFF のみサポート @@ -214,17 +220,18 @@ LCDDevice::Write(uint8 data) } else { // $00 が書き込まれるんだけど、データシートにはないんだよね。 // 無視していいかな。 - putlog(2, "未定義書き込み $%02x", data); + putlog(2, "Write undefined $%02x", data); } } else { // データ書き込み if (addr_is_cgram) { - cgram[addr_counter] = data; - putlog(1, "CGRAM データ書き込み $%02x <- $%02x", + // cgram は 5 bit 有効で左詰めで格納 + cgram[addr_counter] = data << 3; + putlog(1, "CGRAM Data $%02x <- $%02x", addr_counter, data); } else { ddram[addr_counter] = data; - putlog(1, "DDRAM データ書き込み X=%d Y=%d <- $%02x", + putlog(1, "DDRAM Data X=%2d Y=%d <- $%02x", addr_counter % 0x40, addr_counter / 0x40, data); } NextAddr(); @@ -348,1736 +355,1739 @@ LCDDevice::GetFont(int ch) const return &CGROM[(ch - 0xa0 + 0x60) * 8]; } +// MSB 側 5 ビットに詰める +#define B(x) (0b##x##000) + /*static*/ const uint8 LCDDevice::CGROM[12 * 16 * 8] = { - 0b000'00000, // 0x20 space - 0b000'00000, - 0b000'00000, - 0b000'00000, - 0b000'00000, - 0b000'00000, - 0b000'00000, - 0, - - 0b000'00100, // 0x21 ! - 0b000'00100, - 0b000'00100, - 0b000'00100, - 0b000'00100, - 0b000'00000, - 0b000'00100, - 0, - - 0b000'01010, // 0x22 " - 0b000'01010, - 0b000'00000, - 0b000'00000, - 0b000'00000, - 0b000'00000, - 0b000'00000, - 0, - - 0b000'01010, // 0x23 # - 0b000'01010, - 0b000'11111, - 0b000'01010, - 0b000'11111, - 0b000'01010, - 0b000'01010, - 0, - - 0b000'00100, // 0x24 $ - 0b000'01110, - 0b000'10100, - 0b000'01110, - 0b000'00101, - 0b000'01110, - 0b000'00100, - 0, - - 0b000'11000, // 0x25 % - 0b000'11001, - 0b000'00010, - 0b000'00100, - 0b000'01011, - 0b000'10011, - 0b000'00000, - 0, - - 0b000'01100, // 0x26 & - 0b000'10010, - 0b000'10100, - 0b000'01000, - 0b000'10100, - 0b000'10010, - 0b000'01101, - 0, - - 0b000'01100, // 0x27 ' - 0b000'00100, - 0b000'01000, - 0b000'00000, - 0b000'00000, - 0b000'00000, - 0b000'00000, - 0, - - 0b000'00010, // 0x28 ( - 0b000'00100, - 0b000'01000, - 0b000'01000, - 0b000'01000, - 0b000'00100, - 0b000'00010, - 0, - - 0b000'01000, // 0x29 ) - 0b000'00100, - 0b000'00010, - 0b000'00010, - 0b000'00010, - 0b000'00100, - 0b000'01000, - 0, - - 0b000'00000, // 0x2a * - 0b000'00100, - 0b000'10101, - 0b000'01110, - 0b000'10101, - 0b000'00100, - 0b000'00000, - 0, - - 0b000'00000, // 0x2b + - 0b000'00100, - 0b000'00100, - 0b000'11111, - 0b000'00100, - 0b000'00100, - 0b000'00000, - 0, - - 0b000'00000, // 0x2c , - 0b000'00000, - 0b000'00000, - 0b000'00000, - 0b000'01100, - 0b000'00100, - 0b000'01000, - 0, - - 0b000'00000, // 0x2d - - 0b000'00000, - 0b000'00000, - 0b000'11111, - 0b000'00000, - 0b000'00000, - 0b000'00000, - 0, - - 0b000'00000, // 0x2e . - 0b000'00000, - 0b000'00000, - 0b000'00000, - 0b000'00000, - 0b000'01100, - 0b000'01100, - 0, - - 0b000'00000, // 0x2f / - 0b000'00001, - 0b000'00010, - 0b000'00100, - 0b000'01000, - 0b000'10000, - 0b000'00000, - 0, - - 0b000'01110, // 0x30 0 - 0b000'10001, - 0b000'10011, - 0b000'10101, - 0b000'11001, - 0b000'10001, - 0b000'01110, - 0, - - 0b000'00100, // 0x31 1 - 0b000'01100, - 0b000'00100, - 0b000'00100, - 0b000'00100, - 0b000'00100, - 0b000'01110, - 0, - - 0b000'01110, // 0x32 2 - 0b000'10001, - 0b000'10001, - 0b000'00010, - 0b000'00100, - 0b000'01000, - 0b000'11111, - 0, - - 0b000'11111, // 0x33 3 - 0b000'00010, - 0b000'00100, - 0b000'01110, - 0b000'00001, - 0b000'10001, - 0b000'01110, - 0, - - 0b000'00010, // 0x34 4 - 0b000'00110, - 0b000'01010, - 0b000'10010, - 0b000'11111, - 0b000'00010, - 0b000'00010, - 0, - - 0b000'11111, // 0x35 5 - 0b000'10000, - 0b000'10000, - 0b000'11110, - 0b000'00001, - 0b000'10001, - 0b000'01110, - 0, - - 0b000'00110, // 0x36 6 - 0b000'01000, - 0b000'10000, - 0b000'11110, - 0b000'10001, - 0b000'10001, - 0b000'01110, - 0, - - 0b000'11111, // 0x37 7 - 0b000'00001, - 0b000'00010, - 0b000'00100, - 0b000'00100, - 0b000'00100, - 0b000'00100, - 0, - - 0b000'01110, // 0x38 8 - 0b000'10001, - 0b000'10001, - 0b000'01110, - 0b000'10001, - 0b000'10001, - 0b000'01110, - 0, - - 0b000'01110, // 0x39 9 - 0b000'10001, - 0b000'10001, - 0b000'01111, - 0b000'00001, - 0b000'00010, - 0b000'01100, - 0, - - 0b000'00000, // 0x3a : - 0b000'01100, - 0b000'01100, - 0b000'00000, - 0b000'01100, - 0b000'01100, - 0b000'00000, - 0, - - 0b000'00000, // 0x3b ; - 0b000'01100, - 0b000'01100, - 0b000'00000, - 0b000'01100, - 0b000'00100, - 0b000'01000, - 0, - - 0b000'00010, // 0x3c < - 0b000'00100, - 0b000'01000, - 0b000'10000, - 0b000'01000, - 0b000'00100, - 0b000'00010, - 0, - - 0b000'00000, // 0x3d = - 0b000'00000, - 0b000'11111, - 0b000'00000, - 0b000'11111, - 0b000'00000, - 0b000'00000, - 0, - - 0b000'01000, // 0x3e > - 0b000'00100, - 0b000'00010, - 0b000'00001, - 0b000'00010, - 0b000'00100, - 0b000'01000, - 0, - - 0b000'01110, // 0x3f ? - 0b000'10001, - 0b000'00001, - 0b000'00010, - 0b000'00100, - 0b000'00000, - 0b000'00100, - 0, - - 0b000'01110, // 0x40 @ - 0b000'10001, - 0b000'00001, - 0b000'01101, - 0b000'10101, - 0b000'10101, - 0b000'01110, - 0, - - 0b000'01110, // 0x41 A - 0b000'10001, - 0b000'10001, - 0b000'10001, - 0b000'11111, - 0b000'10001, - 0b000'10001, - 0, - - 0b000'11110, // 0x42 B - 0b000'10001, - 0b000'10001, - 0b000'11110, - 0b000'10001, - 0b000'10001, - 0b000'11110, - 0, - - 0b000'01110, // 0x43 C - 0b000'10001, - 0b000'10000, - 0b000'10000, - 0b000'10000, - 0b000'10001, - 0b000'01110, - 0, - - 0b000'11100, // 0x44 D - 0b000'10010, - 0b000'10001, - 0b000'10001, - 0b000'10001, - 0b000'10010, - 0b000'11100, - 0, - - 0b000'11111, // 0x45 E - 0b000'10000, - 0b000'10000, - 0b000'11110, - 0b000'10000, - 0b000'10000, - 0b000'11111, - 0, - - 0b000'11111, // 0x46 F - 0b000'10000, - 0b000'10000, - 0b000'11110, - 0b000'10000, - 0b000'10000, - 0b000'10000, - 0, - - 0b000'01110, // 0x47 G - 0b000'10001, - 0b000'10000, - 0b000'10011, - 0b000'10001, - 0b000'10001, - 0b000'01110, - 0, - - 0b000'10001, // 0x48 H - 0b000'10001, - 0b000'10001, - 0b000'11111, - 0b000'10001, - 0b000'10001, - 0b000'10001, - 0, - - 0b000'01110, // 0x49 I - 0b000'00100, - 0b000'00100, - 0b000'00100, - 0b000'00100, - 0b000'00100, - 0b000'01110, - 0, - - 0b000'00111, // 0x4a J - 0b000'00010, - 0b000'00010, - 0b000'00010, - 0b000'10010, - 0b000'10010, - 0b000'01100, - 0, - - 0b000'10001, // 0x4b K - 0b000'10010, - 0b000'10100, - 0b000'11000, - 0b000'10100, - 0b000'10010, - 0b000'10001, - 0, - - 0b000'10000, // 0x4c L - 0b000'10000, - 0b000'10000, - 0b000'10000, - 0b000'10000, - 0b000'10000, - 0b000'11111, - 0, - - 0b000'10001, // 0x4d M - 0b000'11011, - 0b000'10101, - 0b000'10101, - 0b000'10001, - 0b000'10001, - 0b000'10001, - 0, - - 0b000'10001, // 0x4e N - 0b000'10001, - 0b000'11001, - 0b000'10101, - 0b000'10011, - 0b000'10001, - 0b000'10001, - 0, - - 0b000'01110, // 0x4f O - 0b000'10001, - 0b000'10001, - 0b000'10001, - 0b000'10001, - 0b000'10001, - 0b000'01110, - 0, - - 0b000'11110, // 0x50 P - 0b000'10001, - 0b000'10001, - 0b000'11110, - 0b000'10000, - 0b000'10000, - 0b000'10000, - 0, - - 0b000'01110, // 0x51 Q - 0b000'10001, - 0b000'10001, - 0b000'10001, - 0b000'10101, - 0b000'10010, - 0b000'01101, - 0, - - 0b000'11110, // 0x52 R - 0b000'10001, - 0b000'10001, - 0b000'11110, - 0b000'10100, - 0b000'10010, - 0b000'10001, - 0, - - 0b000'01111, // 0x53 S - 0b000'10000, - 0b000'10000, - 0b000'01110, - 0b000'00001, - 0b000'00001, - 0b000'11110, - 0, - - 0b000'11111, // 0x54 T - 0b000'00100, - 0b000'00100, - 0b000'00100, - 0b000'00100, - 0b000'00100, - 0b000'00100, - 0, - - 0b000'10001, // 0x55 U - 0b000'10001, - 0b000'10001, - 0b000'10001, - 0b000'10001, - 0b000'10001, - 0b000'01110, - 0, - - 0b000'10001, // 0x56 V - 0b000'10001, - 0b000'10001, - 0b000'10001, - 0b000'10001, - 0b000'01010, - 0b000'00100, - 0, - - 0b000'10001, // 0x57 W - 0b000'10001, - 0b000'10001, - 0b000'10001, - 0b000'10101, - 0b000'10101, - 0b000'01010, - 0, - - 0b000'10001, // 0x58 X - 0b000'10001, - 0b000'01010, - 0b000'00100, - 0b000'01010, - 0b000'10001, - 0b000'10001, - 0, - - 0b000'10001, // 0x59 Y - 0b000'10001, - 0b000'10001, - 0b000'01010, - 0b000'00100, - 0b000'00100, - 0b000'00100, - 0, - - 0b000'11111, // 0x5a Z - 0b000'00001, - 0b000'00010, - 0b000'00100, - 0b000'01000, - 0b000'10000, - 0b000'11111, - 0, - - 0b000'01110, // 0x5b [ - 0b000'01000, - 0b000'01000, - 0b000'01000, - 0b000'01000, - 0b000'01000, - 0b000'01110, - 0, - - 0b000'10001, // 0x5c ¥ - 0b000'01010, - 0b000'11111, - 0b000'00100, - 0b000'11111, - 0b000'00100, - 0b000'00100, - 0, - - 0b000'01110, // 0x5d ] - 0b000'00010, - 0b000'00010, - 0b000'00010, - 0b000'00010, - 0b000'00010, - 0b000'01110, - 0, - - 0b000'00100, // 0x5e ^ - 0b000'01010, - 0b000'10001, - 0b000'00000, - 0b000'00000, - 0b000'00000, - 0b000'00000, - 0, - - 0b000'00000, // 0x5f _ - 0b000'00000, - 0b000'00000, - 0b000'00000, - 0b000'00000, - 0b000'00000, - 0b000'11111, - 0, - - 0b000'01000, // 0x60 ` - 0b000'00100, - 0b000'00010, - 0b000'00000, - 0b000'00000, - 0b000'00000, - 0b000'00000, - 0, - - 0b000'00000, // 0x61 a - 0b000'00000, - 0b000'01110, - 0b000'00001, - 0b000'01111, - 0b000'10001, - 0b000'01111, - 0, - - 0b000'10000, // 0x62 b - 0b000'10000, - 0b000'10110, - 0b000'11001, - 0b000'10001, - 0b000'10001, - 0b000'11110, - 0, - - 0b000'00000, // 0x63 c - 0b000'00000, - 0b000'01110, - 0b000'10001, - 0b000'10000, - 0b000'10001, - 0b000'01110, - 0, - - 0b000'00001, // 0x64 d - 0b000'00001, - 0b000'01101, - 0b000'10011, - 0b000'10001, - 0b000'10001, - 0b000'01111, - 0, - - 0b000'00000, // 0x65 e - 0b000'00000, - 0b000'01110, - 0b000'10001, - 0b000'11111, - 0b000'10000, - 0b000'01110, - 0, - - 0b000'00011, // 0x66 f - 0b000'00100, - 0b000'01110, - 0b000'00100, - 0b000'00100, - 0b000'00100, - 0b000'00100, - 0, - - 0b000'00000, // 0x67 g - 0b000'00000, - 0b000'01111, - 0b000'10001, - 0b000'01111, - 0b000'00001, - 0b000'01110, - 0, - - 0b000'10000, // 0x68 h - 0b000'10000, - 0b000'10110, - 0b000'11001, - 0b000'10001, - 0b000'10001, - 0b000'10001, - 0, - - 0b000'00100, // 0x69 i - 0b000'00000, - 0b000'01100, - 0b000'00100, - 0b000'00100, - 0b000'00100, - 0b000'01110, - 0, - - 0b000'00010, // 0x6a j - 0b000'00000, - 0b000'00110, - 0b000'00010, - 0b000'00010, - 0b000'10010, - 0b000'01100, - 0, - - 0b000'10000, // 0x6b k - 0b000'10000, - 0b000'10010, - 0b000'10100, - 0b000'11000, - 0b000'10100, - 0b000'10010, - 0, - - 0b000'01100, // 0x6c l - 0b000'00100, - 0b000'00100, - 0b000'00100, - 0b000'00100, - 0b000'00100, - 0b000'01110, - 0, - - 0b000'00000, // 0x6d m - 0b000'00000, - 0b000'11010, - 0b000'10101, - 0b000'10101, - 0b000'10001, - 0b000'10001, - 0, - - 0b000'00000, // 0x6e n - 0b000'00000, - 0b000'10110, - 0b000'11001, - 0b000'10001, - 0b000'10001, - 0b000'10001, - 0, - - 0b000'00000, // 0x6f o - 0b000'00000, - 0b000'01110, - 0b000'10001, - 0b000'10001, - 0b000'10001, - 0b000'01110, - 0, - - 0b000'00000, // 0x70 p - 0b000'00000, - 0b000'11110, - 0b000'10001, - 0b000'11110, - 0b000'10000, - 0b000'10000, - 0, - - 0b000'00000, // 0x71 q - 0b000'00000, - 0b000'01111, - 0b000'10001, - 0b000'01111, - 0b000'00001, - 0b000'00001, - 0, - - 0b000'00000, // 0x72 r - 0b000'00000, - 0b000'10110, - 0b000'11001, - 0b000'10000, - 0b000'10000, - 0b000'10000, - 0, - - 0b000'00000, // 0x73 s - 0b000'00000, - 0b000'01110, - 0b000'10000, - 0b000'01110, - 0b000'00001, - 0b000'11110, - 0, - - 0b000'00000, // 0x74 t - 0b000'01000, - 0b000'11110, - 0b000'01000, - 0b000'01000, - 0b000'01000, - 0b000'00110, - 0, - - 0b000'00000, // 0x75 u - 0b000'00000, - 0b000'10001, - 0b000'10001, - 0b000'10001, - 0b000'10011, - 0b000'01101, - 0, - - 0b000'00000, // 0x76 v - 0b000'00000, - 0b000'10001, - 0b000'10001, - 0b000'10001, - 0b000'01010, - 0b000'00100, - 0, - - 0b000'00000, // 0x77 w - 0b000'00000, - 0b000'10001, - 0b000'10001, - 0b000'10101, - 0b000'10101, - 0b000'01010, - 0, - - 0b000'00000, // 0x78 x - 0b000'00000, - 0b000'10001, - 0b000'01010, - 0b000'00100, - 0b000'01010, - 0b000'10001, - 0, - - 0b000'00000, // 0x79 y - 0b000'00000, - 0b000'10001, - 0b000'10001, - 0b000'01111, - 0b000'00001, - 0b000'01110, - 0, - - 0b000'00000, // 0x7a z - 0b000'00000, - 0b000'11111, - 0b000'00010, - 0b000'00100, - 0b000'01000, - 0b000'11111, - 0, - - 0b000'00010, // 0x7b { - 0b000'00100, - 0b000'00100, - 0b000'01000, - 0b000'00100, - 0b000'00100, - 0b000'00010, - 0, - - 0b000'00100, // 0x7c | - 0b000'00100, - 0b000'00100, - 0b000'00100, - 0b000'00100, - 0b000'00100, - 0b000'00100, - 0, - - 0b000'01000, // 0x7d } - 0b000'00100, - 0b000'00100, - 0b000'00010, - 0b000'00100, - 0b000'00100, - 0b000'01000, - 0, - - 0b000'00000, // 0x7e → - 0b000'00100, - 0b000'00010, - 0b000'11111, - 0b000'00010, - 0b000'00100, - 0b000'00000, - 0, - - 0b000'00000, // 0x7f ← - 0b000'00100, - 0b000'01000, - 0b000'11111, - 0b000'01000, - 0b000'00100, - 0b000'00000, - 0, - - - 0b000'00000, // 0xa0 space - 0b000'00000, - 0b000'00000, - 0b000'00000, - 0b000'00000, - 0b000'00000, - 0b000'00000, - 0, - - 0b000'00000, // 0xa1 。 - 0b000'00000, - 0b000'00000, - 0b000'00000, - 0b000'11100, - 0b000'10100, - 0b000'11100, - 0, - - 0b000'00111, // 0xa2 「 - 0b000'00100, - 0b000'00100, - 0b000'00100, - 0b000'00000, - 0b000'00000, - 0b000'00000, - 0, - - 0b000'00000, // 0xa3 」 - 0b000'00000, - 0b000'00000, - 0b000'00100, - 0b000'00100, - 0b000'00100, - 0b000'11100, - 0, - - 0b000'00000, // 0xa4 、 - 0b000'00000, - 0b000'00000, - 0b000'00000, - 0b000'10000, - 0b000'01000, - 0b000'00100, - 0, - - 0b000'00000, // 0xa5 ・ - 0b000'00000, - 0b000'00000, - 0b000'01100, - 0b000'01100, - 0b000'00000, - 0b000'00000, - 0, - - 0b000'00000, // 0xa6 ヲ - 0b000'11111, - 0b000'00001, - 0b000'01111, - 0b000'00001, - 0b000'00010, - 0b000'01100, - 0, - - 0b000'00000, // 0xa7 ァ - 0b000'00000, - 0b000'11111, - 0b000'00001, - 0b000'00110, - 0b000'00100, - 0b000'01000, - 0, - - 0b000'00000, // 0xa8 ィ - 0b000'00000, - 0b000'00010, - 0b000'00100, - 0b000'01100, - 0b000'10100, - 0b000'00100, - 0, - - 0b000'00000, // 0xa9 ゥ - 0b000'00000, - 0b000'00100, - 0b000'11111, - 0b000'10001, - 0b000'00001, - 0b000'00110, - 0, - - 0b000'00000, // 0xaa ェ - 0b000'00000, - 0b000'11111, - 0b000'00100, - 0b000'00100, - 0b000'00100, - 0b000'11111, - 0, - - 0b000'00000, // 0xab ォ - 0b000'00000, - 0b000'00010, - 0b000'11111, - 0b000'00110, - 0b000'01010, - 0b000'10010, - 0, - - 0b000'00000, // 0xac ャ - 0b000'00000, - 0b000'01000, - 0b000'11111, - 0b000'01001, - 0b000'01010, - 0b000'01000, - 0, - - 0b000'00000, // 0xad ュ - 0b000'00000, - 0b000'00000, - 0b000'11110, - 0b000'00010, - 0b000'00010, - 0b000'11111, - 0, - - 0b000'00000, // 0xae ョ - 0b000'00000, - 0b000'11111, - 0b000'00001, - 0b000'11111, - 0b000'00001, - 0b000'11111, - 0, - - 0b000'00000, // 0xaf ッ - 0b000'00000, - 0b000'10101, - 0b000'10101, - 0b000'00001, - 0b000'00001, - 0b000'00110, - 0, - - 0b000'00000, // 0xb0 ー - 0b000'00000, - 0b000'10000, - 0b000'01111, - 0b000'00000, - 0b000'00000, - 0b000'00000, - 0, - - 0b000'00000, // 0xb1 ア - 0b000'11111, - 0b000'00001, - 0b000'00101, - 0b000'00110, - 0b000'00100, - 0b000'01000, - 0, - - 0b000'00001, // 0xb2 イ - 0b000'00010, - 0b000'00100, - 0b000'01100, - 0b000'10100, - 0b000'00100, - 0b000'00100, - 0, - - 0b000'00100, // 0xb3 ウ - 0b000'11111, - 0b000'10001, - 0b000'10001, - 0b000'00001, - 0b000'00010, - 0b000'00100, - 0, - - 0b000'00000, // 0xb4 エ - 0b000'11111, - 0b000'00100, - 0b000'00100, - 0b000'00100, - 0b000'00100, - 0b000'11111, - 0, - - 0b000'00010, // 0xb5 オ - 0b000'11111, - 0b000'00010, - 0b000'00110, - 0b000'01010, - 0b000'10010, - 0b000'00010, - 0, - - 0b000'01000, // 0xb6 カ - 0b000'11111, - 0b000'01001, - 0b000'01001, - 0b000'01001, - 0b000'01001, - 0b000'10010, - 0, - - 0b000'00100, // 0xb7 キ - 0b000'11111, - 0b000'00100, - 0b000'11111, - 0b000'00100, - 0b000'00100, - 0b000'00100, - 0, - - 0b000'00000, // 0xb8 ク - 0b000'01111, - 0b000'01001, - 0b000'10001, - 0b000'00001, - 0b000'00010, - 0b000'01100, - 0, - - 0b000'01000, // 0xb9 ケ - 0b000'01111, - 0b000'10010, - 0b000'00010, - 0b000'00010, - 0b000'00010, - 0b000'00100, - 0, - - 0b000'00000, // 0xba コ - 0b000'11111, - 0b000'00001, - 0b000'00001, - 0b000'00001, - 0b000'00001, - 0b000'11111, - 0, - - 0b000'01010, // 0xbb サ - 0b000'11111, - 0b000'01010, - 0b000'01010, - 0b000'00010, - 0b000'00100, - 0b000'01000, - 0, - - 0b000'00000, // 0xbc シ - 0b000'11001, - 0b000'00001, - 0b000'11001, - 0b000'00001, - 0b000'00010, - 0b000'11100, - 0, - - 0b000'00000, // 0xbd ス - 0b000'11111, - 0b000'00001, - 0b000'00010, - 0b000'00100, - 0b000'01010, - 0b000'10001, - 0, - - 0b000'01000, // 0xbe セ - 0b000'11111, - 0b000'01001, - 0b000'01001, - 0b000'01010, - 0b000'01000, - 0b000'00110, - 0, - - 0b000'00000, // 0xbf ソ - 0b000'10001, - 0b000'10001, - 0b000'01001, - 0b000'00001, - 0b000'00010, - 0b000'01100, - 0, - - 0b000'00000, // 0xc0 タ - 0b000'01111, - 0b000'01001, - 0b000'10101, - 0b000'00011, - 0b000'00010, - 0b000'01100, - 0, - - 0b000'00010, // 0xc1 チ - 0b000'01100, - 0b000'00100, - 0b000'11111, - 0b000'00100, - 0b000'00100, - 0b000'01000, - 0, - - 0b000'00000, // 0xc2 ツ - 0b000'10101, - 0b000'10101, - 0b000'10101, - 0b000'00001, - 0b000'00010, - 0b000'00100, - 0, - - 0b000'01110, // 0xc3 テ - 0b000'00000, - 0b000'11111, - 0b000'00100, - 0b000'00100, - 0b000'00100, - 0b000'01000, - 0, - - 0b000'01000, // 0xc4 ト - 0b000'01000, - 0b000'01000, - 0b000'01100, - 0b000'01010, - 0b000'01000, - 0b000'01000, - 0, - - 0b000'00100, // 0xc5 ナ - 0b000'00100, - 0b000'11111, - 0b000'00100, - 0b000'00100, - 0b000'00100, - 0b000'01000, - 0, - - 0b000'00000, // 0xc6 ニ - 0b000'01110, - 0b000'00000, - 0b000'00000, - 0b000'00000, - 0b000'00000, - 0b000'11111, - 0, - - 0b000'00000, // 0xc7 ヌ - 0b000'11111, - 0b000'00001, - 0b000'01010, - 0b000'00100, - 0b000'01010, - 0b000'10001, - 0, - - 0b000'00100, // 0xc8 ネ - 0b000'11111, - 0b000'00010, - 0b000'00100, - 0b000'01110, - 0b000'10101, - 0b000'00100, - 0, - - 0b000'00000, // 0xc9 ノ - 0b000'00010, - 0b000'00010, - 0b000'00010, - 0b000'00010, - 0b000'00100, - 0b000'01000, - 0, - - 0b000'00000, // 0xca ハ - 0b000'00100, - 0b000'00010, - 0b000'10001, - 0b000'10001, - 0b000'10001, - 0b000'10001, - 0, - - 0b000'00000, // 0xcb ヒ - 0b000'10000, - 0b000'11111, - 0b000'10000, - 0b000'10000, - 0b000'10000, - 0b000'01111, - 0, - - 0b000'00000, // 0xcc フ - 0b000'11111, - 0b000'00001, - 0b000'00001, - 0b000'00001, - 0b000'00010, - 0b000'01100, - 0, - - 0b000'00000, // 0xcd ヘ - 0b000'01000, - 0b000'10100, - 0b000'10010, - 0b000'00001, - 0b000'00001, - 0b000'00000, - 0, - - 0b000'00100, // 0xce ホ - 0b000'11111, - 0b000'00100, - 0b000'10101, - 0b000'10101, - 0b000'10101, - 0b000'00100, - 0, - - 0b000'00000, // 0xcf マ - 0b000'11111, - 0b000'00001, - 0b000'00001, - 0b000'01010, - 0b000'00100, - 0b000'00010, - 0, - - 0b000'00000, // 0xd0 ミ - 0b000'01110, - 0b000'00000, - 0b000'01110, - 0b000'00000, - 0b000'01110, - 0b000'00001, - 0, - - 0b000'00000, // 0xd1 ム - 0b000'00100, - 0b000'00100, - 0b000'01000, - 0b000'01001, - 0b000'10011, - 0b000'11101, - 0, - - 0b000'00000, // 0xd2 メ - 0b000'00001, - 0b000'00001, - 0b000'00101, - 0b000'00010, - 0b000'00101, - 0b000'11000, - 0, - - 0b000'00000, // 0xd3 モ - 0b000'11111, - 0b000'00100, - 0b000'11111, - 0b000'00100, - 0b000'00100, - 0b000'00011, - 0, - - 0b000'01000, // 0xd4 ヤ - 0b000'01000, - 0b000'11111, - 0b000'01001, - 0b000'01010, - 0b000'01000, - 0b000'01000, - 0, - - 0b000'00000, // 0xd5 ユ - 0b000'01110, - 0b000'00010, - 0b000'00010, - 0b000'00010, - 0b000'00010, - 0b000'11111, - 0, - - 0b000'00000, // 0xd6 ヨ - 0b000'11111, - 0b000'00001, - 0b000'01111, - 0b000'00001, - 0b000'00001, - 0b000'11111, - 0, - - 0b000'01110, // 0xd7 ラ - 0b000'00000, - 0b000'11111, - 0b000'00001, - 0b000'00001, - 0b000'00010, - 0b000'00100, - 0, - - 0b000'00000, // 0xd8 リ - 0b000'10010, - 0b000'10010, - 0b000'10010, - 0b000'00010, - 0b000'00100, - 0b000'01000, - 0, - - 0b000'00000, // 0xd9 ル - 0b000'00100, - 0b000'10100, - 0b000'10100, - 0b000'10101, - 0b000'10101, - 0b000'00110, - 0, - - 0b000'00000, // 0xda レ - 0b000'10000, - 0b000'10000, - 0b000'10001, - 0b000'10010, - 0b000'10100, - 0b000'11000, - 0, - - 0b000'00000, // 0xdb ロ - 0b000'11111, - 0b000'10001, - 0b000'10001, - 0b000'10001, - 0b000'10001, - 0b000'11111, - 0, - - 0b000'00000, // 0xdc ワ - 0b000'11111, - 0b000'10001, - 0b000'10001, - 0b000'00001, - 0b000'00010, - 0b000'00100, - 0, - - 0b000'00000, // 0xdd ン - 0b000'11000, - 0b000'00000, - 0b000'00001, - 0b000'00001, - 0b000'00010, - 0b000'11100, - 0, - - 0b000'00100, // 0xde ゛ - 0b000'10010, - 0b000'01000, - 0b000'00000, - 0b000'00000, - 0b000'00000, - 0b000'00000, - 0, - - 0b000'11100, // 0xdf ゜ - 0b000'10100, - 0b000'11100, - 0b000'00000, - 0b000'00000, - 0b000'00000, - 0b000'00000, - 0, + B(00000), // 0x20 space + B(00000), + B(00000), + B(00000), + B(00000), + B(00000), + B(00000), + B(0), + + B(00100), // 0x21 ! + B(00100), + B(00100), + B(00100), + B(00100), + B(00000), + B(00100), + B(0), + + B(01010), // 0x22 " + B(01010), + B(00000), + B(00000), + B(00000), + B(00000), + B(00000), + B(0), + + B(01010), // 0x23 # + B(01010), + B(11111), + B(01010), + B(11111), + B(01010), + B(01010), + B(0), + + B(00100), // 0x24 $ + B(01110), + B(10100), + B(01110), + B(00101), + B(01110), + B(00100), + B(0), + + B(11000), // 0x25 % + B(11001), + B(00010), + B(00100), + B(01011), + B(10011), + B(00000), + B(0), + + B(01100), // 0x26 & + B(10010), + B(10100), + B(01000), + B(10100), + B(10010), + B(01101), + B(0), + + B(01100), // 0x27 ' + B(00100), + B(01000), + B(00000), + B(00000), + B(00000), + B(00000), + B(0), + + B(00010), // 0x28 ( + B(00100), + B(01000), + B(01000), + B(01000), + B(00100), + B(00010), + B(0), + + B(01000), // 0x29 ) + B(00100), + B(00010), + B(00010), + B(00010), + B(00100), + B(01000), + B(0), + + B(00000), // 0x2a * + B(00100), + B(10101), + B(01110), + B(10101), + B(00100), + B(00000), + B(0), + + B(00000), // 0x2b + + B(00100), + B(00100), + B(11111), + B(00100), + B(00100), + B(00000), + B(0), + + B(00000), // 0x2c , + B(00000), + B(00000), + B(00000), + B(01100), + B(00100), + B(01000), + B(0), + + B(00000), // 0x2d - + B(00000), + B(00000), + B(11111), + B(00000), + B(00000), + B(00000), + B(0), + + B(00000), // 0x2e . + B(00000), + B(00000), + B(00000), + B(00000), + B(01100), + B(01100), + B(0), + + B(00000), // 0x2f / + B(00001), + B(00010), + B(00100), + B(01000), + B(10000), + B(00000), + B(0), + + B(01110), // 0x30 0 + B(10001), + B(10011), + B(10101), + B(11001), + B(10001), + B(01110), + B(0), + + B(00100), // 0x31 1 + B(01100), + B(00100), + B(00100), + B(00100), + B(00100), + B(01110), + B(0), + + B(01110), // 0x32 2 + B(10001), + B(10001), + B(00010), + B(00100), + B(01000), + B(11111), + B(0), + + B(11111), // 0x33 3 + B(00010), + B(00100), + B(01110), + B(00001), + B(10001), + B(01110), + B(0), + + B(00010), // 0x34 4 + B(00110), + B(01010), + B(10010), + B(11111), + B(00010), + B(00010), + B(0), + + B(11111), // 0x35 5 + B(10000), + B(10000), + B(11110), + B(00001), + B(10001), + B(01110), + B(0), + + B(00110), // 0x36 6 + B(01000), + B(10000), + B(11110), + B(10001), + B(10001), + B(01110), + B(0), + + B(11111), // 0x37 7 + B(00001), + B(00010), + B(00100), + B(00100), + B(00100), + B(00100), + B(0), + + B(01110), // 0x38 8 + B(10001), + B(10001), + B(01110), + B(10001), + B(10001), + B(01110), + B(0), + + B(01110), // 0x39 9 + B(10001), + B(10001), + B(01111), + B(00001), + B(00010), + B(01100), + B(0), + + B(00000), // 0x3a : + B(01100), + B(01100), + B(00000), + B(01100), + B(01100), + B(00000), + B(0), + + B(00000), // 0x3b ; + B(01100), + B(01100), + B(00000), + B(01100), + B(00100), + B(01000), + B(0), + + B(00010), // 0x3c < + B(00100), + B(01000), + B(10000), + B(01000), + B(00100), + B(00010), + B(0), + + B(00000), // 0x3d = + B(00000), + B(11111), + B(00000), + B(11111), + B(00000), + B(00000), + B(0), + + B(01000), // 0x3e > + B(00100), + B(00010), + B(00001), + B(00010), + B(00100), + B(01000), + B(0), + + B(01110), // 0x3f ? + B(10001), + B(00001), + B(00010), + B(00100), + B(00000), + B(00100), + B(0), + + B(01110), // 0x40 @ + B(10001), + B(00001), + B(01101), + B(10101), + B(10101), + B(01110), + B(0), + + B(01110), // 0x41 A + B(10001), + B(10001), + B(10001), + B(11111), + B(10001), + B(10001), + B(0), + + B(11110), // 0x42 B + B(10001), + B(10001), + B(11110), + B(10001), + B(10001), + B(11110), + B(0), + + B(01110), // 0x43 C + B(10001), + B(10000), + B(10000), + B(10000), + B(10001), + B(01110), + B(0), + + B(11100), // 0x44 D + B(10010), + B(10001), + B(10001), + B(10001), + B(10010), + B(11100), + B(0), + + B(11111), // 0x45 E + B(10000), + B(10000), + B(11110), + B(10000), + B(10000), + B(11111), + B(0), + + B(11111), // 0x46 F + B(10000), + B(10000), + B(11110), + B(10000), + B(10000), + B(10000), + B(0), + + B(01110), // 0x47 G + B(10001), + B(10000), + B(10011), + B(10001), + B(10001), + B(01110), + B(0), + + B(10001), // 0x48 H + B(10001), + B(10001), + B(11111), + B(10001), + B(10001), + B(10001), + B(0), + + B(01110), // 0x49 I + B(00100), + B(00100), + B(00100), + B(00100), + B(00100), + B(01110), + B(0), + + B(00111), // 0x4a J + B(00010), + B(00010), + B(00010), + B(10010), + B(10010), + B(01100), + B(0), + + B(10001), // 0x4b K + B(10010), + B(10100), + B(11000), + B(10100), + B(10010), + B(10001), + B(0), + + B(10000), // 0x4c L + B(10000), + B(10000), + B(10000), + B(10000), + B(10000), + B(11111), + B(0), + + B(10001), // 0x4d M + B(11011), + B(10101), + B(10101), + B(10001), + B(10001), + B(10001), + B(0), + + B(10001), // 0x4e N + B(10001), + B(11001), + B(10101), + B(10011), + B(10001), + B(10001), + B(0), + + B(01110), // 0x4f O + B(10001), + B(10001), + B(10001), + B(10001), + B(10001), + B(01110), + B(0), + + B(11110), // 0x50 P + B(10001), + B(10001), + B(11110), + B(10000), + B(10000), + B(10000), + B(0), + + B(01110), // 0x51 Q + B(10001), + B(10001), + B(10001), + B(10101), + B(10010), + B(01101), + B(0), + + B(11110), // 0x52 R + B(10001), + B(10001), + B(11110), + B(10100), + B(10010), + B(10001), + B(0), + + B(01111), // 0x53 S + B(10000), + B(10000), + B(01110), + B(00001), + B(00001), + B(11110), + B(0), + + B(11111), // 0x54 T + B(00100), + B(00100), + B(00100), + B(00100), + B(00100), + B(00100), + B(0), + + B(10001), // 0x55 U + B(10001), + B(10001), + B(10001), + B(10001), + B(10001), + B(01110), + B(0), + + B(10001), // 0x56 V + B(10001), + B(10001), + B(10001), + B(10001), + B(01010), + B(00100), + B(0), + + B(10001), // 0x57 W + B(10001), + B(10001), + B(10001), + B(10101), + B(10101), + B(01010), + B(0), + + B(10001), // 0x58 X + B(10001), + B(01010), + B(00100), + B(01010), + B(10001), + B(10001), + B(0), + + B(10001), // 0x59 Y + B(10001), + B(10001), + B(01010), + B(00100), + B(00100), + B(00100), + B(0), + + B(11111), // 0x5a Z + B(00001), + B(00010), + B(00100), + B(01000), + B(10000), + B(11111), + B(0), + + B(01110), // 0x5b [ + B(01000), + B(01000), + B(01000), + B(01000), + B(01000), + B(01110), + B(0), + + B(10001), // 0x5c ¥ + B(01010), + B(11111), + B(00100), + B(11111), + B(00100), + B(00100), + B(0), + + B(01110), // 0x5d ] + B(00010), + B(00010), + B(00010), + B(00010), + B(00010), + B(01110), + B(0), + + B(00100), // 0x5e ^ + B(01010), + B(10001), + B(00000), + B(00000), + B(00000), + B(00000), + B(0), + + B(00000), // 0x5f _ + B(00000), + B(00000), + B(00000), + B(00000), + B(00000), + B(11111), + B(0), + + B(01000), // 0x60 ` + B(00100), + B(00010), + B(00000), + B(00000), + B(00000), + B(00000), + B(0), + + B(00000), // 0x61 a + B(00000), + B(01110), + B(00001), + B(01111), + B(10001), + B(01111), + B(0), + + B(10000), // 0x62 b + B(10000), + B(10110), + B(11001), + B(10001), + B(10001), + B(11110), + B(0), + + B(00000), // 0x63 c + B(00000), + B(01110), + B(10001), + B(10000), + B(10001), + B(01110), + B(0), + + B(00001), // 0x64 d + B(00001), + B(01101), + B(10011), + B(10001), + B(10001), + B(01111), + B(0), + + B(00000), // 0x65 e + B(00000), + B(01110), + B(10001), + B(11111), + B(10000), + B(01110), + B(0), + + B(00011), // 0x66 f + B(00100), + B(01110), + B(00100), + B(00100), + B(00100), + B(00100), + B(0), + + B(00000), // 0x67 g + B(00000), + B(01111), + B(10001), + B(01111), + B(00001), + B(01110), + B(0), + + B(10000), // 0x68 h + B(10000), + B(10110), + B(11001), + B(10001), + B(10001), + B(10001), + B(0), + + B(00100), // 0x69 i + B(00000), + B(01100), + B(00100), + B(00100), + B(00100), + B(01110), + B(0), + + B(00010), // 0x6a j + B(00000), + B(00110), + B(00010), + B(00010), + B(10010), + B(01100), + B(0), + + B(10000), // 0x6b k + B(10000), + B(10010), + B(10100), + B(11000), + B(10100), + B(10010), + B(0), + + B(01100), // 0x6c l + B(00100), + B(00100), + B(00100), + B(00100), + B(00100), + B(01110), + B(0), + + B(00000), // 0x6d m + B(00000), + B(11010), + B(10101), + B(10101), + B(10001), + B(10001), + B(0), + + B(00000), // 0x6e n + B(00000), + B(10110), + B(11001), + B(10001), + B(10001), + B(10001), + B(0), + + B(00000), // 0x6f o + B(00000), + B(01110), + B(10001), + B(10001), + B(10001), + B(01110), + B(0), + + B(00000), // 0x70 p + B(00000), + B(11110), + B(10001), + B(11110), + B(10000), + B(10000), + B(0), + + B(00000), // 0x71 q + B(00000), + B(01111), + B(10001), + B(01111), + B(00001), + B(00001), + B(0), + + B(00000), // 0x72 r + B(00000), + B(10110), + B(11001), + B(10000), + B(10000), + B(10000), + B(0), + + B(00000), // 0x73 s + B(00000), + B(01110), + B(10000), + B(01110), + B(00001), + B(11110), + B(0), + + B(00000), // 0x74 t + B(01000), + B(11110), + B(01000), + B(01000), + B(01000), + B(00110), + B(0), + + B(00000), // 0x75 u + B(00000), + B(10001), + B(10001), + B(10001), + B(10011), + B(01101), + B(0), + + B(00000), // 0x76 v + B(00000), + B(10001), + B(10001), + B(10001), + B(01010), + B(00100), + B(0), + + B(00000), // 0x77 w + B(00000), + B(10001), + B(10001), + B(10101), + B(10101), + B(01010), + B(0), + + B(00000), // 0x78 x + B(00000), + B(10001), + B(01010), + B(00100), + B(01010), + B(10001), + B(0), + + B(00000), // 0x79 y + B(00000), + B(10001), + B(10001), + B(01111), + B(00001), + B(01110), + B(0), + + B(00000), // 0x7a z + B(00000), + B(11111), + B(00010), + B(00100), + B(01000), + B(11111), + B(0), + + B(00010), // 0x7b { + B(00100), + B(00100), + B(01000), + B(00100), + B(00100), + B(00010), + B(0), + + B(00100), // 0x7c | + B(00100), + B(00100), + B(00100), + B(00100), + B(00100), + B(00100), + B(0), + + B(01000), // 0x7d } + B(00100), + B(00100), + B(00010), + B(00100), + B(00100), + B(01000), + B(0), + + B(00000), // 0x7e → + B(00100), + B(00010), + B(11111), + B(00010), + B(00100), + B(00000), + B(0), + + B(00000), // 0x7f ← + B(00100), + B(01000), + B(11111), + B(01000), + B(00100), + B(00000), + B(0), + + + B(00000), // 0xa0 space + B(00000), + B(00000), + B(00000), + B(00000), + B(00000), + B(00000), + B(0), + + B(00000), // 0xa1 。 + B(00000), + B(00000), + B(00000), + B(11100), + B(10100), + B(11100), + B(0), + + B(00111), // 0xa2 「 + B(00100), + B(00100), + B(00100), + B(00000), + B(00000), + B(00000), + B(0), + + B(00000), // 0xa3 」 + B(00000), + B(00000), + B(00100), + B(00100), + B(00100), + B(11100), + B(0), + + B(00000), // 0xa4 、 + B(00000), + B(00000), + B(00000), + B(10000), + B(01000), + B(00100), + B(0), + + B(00000), // 0xa5 ・ + B(00000), + B(00000), + B(01100), + B(01100), + B(00000), + B(00000), + B(0), + + B(00000), // 0xa6 ヲ + B(11111), + B(00001), + B(01111), + B(00001), + B(00010), + B(01100), + B(0), + + B(00000), // 0xa7 ァ + B(00000), + B(11111), + B(00001), + B(00110), + B(00100), + B(01000), + B(0), + + B(00000), // 0xa8 ィ + B(00000), + B(00010), + B(00100), + B(01100), + B(10100), + B(00100), + B(0), + + B(00000), // 0xa9 ゥ + B(00000), + B(00100), + B(11111), + B(10001), + B(00001), + B(00110), + B(0), + + B(00000), // 0xaa ェ + B(00000), + B(11111), + B(00100), + B(00100), + B(00100), + B(11111), + B(0), + + B(00000), // 0xab ォ + B(00000), + B(00010), + B(11111), + B(00110), + B(01010), + B(10010), + B(0), + + B(00000), // 0xac ャ + B(00000), + B(01000), + B(11111), + B(01001), + B(01010), + B(01000), + B(0), + + B(00000), // 0xad ュ + B(00000), + B(00000), + B(11110), + B(00010), + B(00010), + B(11111), + B(0), + + B(00000), // 0xae ョ + B(00000), + B(11111), + B(00001), + B(11111), + B(00001), + B(11111), + B(0), + + B(00000), // 0xaf ッ + B(00000), + B(10101), + B(10101), + B(00001), + B(00001), + B(00110), + B(0), + + B(00000), // 0xb0 ー + B(00000), + B(10000), + B(01111), + B(00000), + B(00000), + B(00000), + B(0), + + B(00000), // 0xb1 ア + B(11111), + B(00001), + B(00101), + B(00110), + B(00100), + B(01000), + B(0), + + B(00001), // 0xb2 イ + B(00010), + B(00100), + B(01100), + B(10100), + B(00100), + B(00100), + B(0), + + B(00100), // 0xb3 ウ + B(11111), + B(10001), + B(10001), + B(00001), + B(00010), + B(00100), + B(0), + + B(00000), // 0xb4 エ + B(11111), + B(00100), + B(00100), + B(00100), + B(00100), + B(11111), + B(0), + + B(00010), // 0xb5 オ + B(11111), + B(00010), + B(00110), + B(01010), + B(10010), + B(00010), + B(0), + + B(01000), // 0xb6 カ + B(11111), + B(01001), + B(01001), + B(01001), + B(01001), + B(10010), + B(0), + + B(00100), // 0xb7 キ + B(11111), + B(00100), + B(11111), + B(00100), + B(00100), + B(00100), + B(0), + + B(00000), // 0xb8 ク + B(01111), + B(01001), + B(10001), + B(00001), + B(00010), + B(01100), + B(0), + + B(01000), // 0xb9 ケ + B(01111), + B(10010), + B(00010), + B(00010), + B(00010), + B(00100), + B(0), + + B(00000), // 0xba コ + B(11111), + B(00001), + B(00001), + B(00001), + B(00001), + B(11111), + B(0), + + B(01010), // 0xbb サ + B(11111), + B(01010), + B(01010), + B(00010), + B(00100), + B(01000), + B(0), + + B(00000), // 0xbc シ + B(11001), + B(00001), + B(11001), + B(00001), + B(00010), + B(11100), + B(0), + + B(00000), // 0xbd ス + B(11111), + B(00001), + B(00010), + B(00100), + B(01010), + B(10001), + B(0), + + B(01000), // 0xbe セ + B(11111), + B(01001), + B(01001), + B(01010), + B(01000), + B(00110), + B(0), + + B(00000), // 0xbf ソ + B(10001), + B(10001), + B(01001), + B(00001), + B(00010), + B(01100), + B(0), + + B(00000), // 0xc0 タ + B(01111), + B(01001), + B(10101), + B(00011), + B(00010), + B(01100), + B(0), + + B(00010), // 0xc1 チ + B(01100), + B(00100), + B(11111), + B(00100), + B(00100), + B(01000), + B(0), + + B(00000), // 0xc2 ツ + B(10101), + B(10101), + B(10101), + B(00001), + B(00010), + B(00100), + B(0), + + B(01110), // 0xc3 テ + B(00000), + B(11111), + B(00100), + B(00100), + B(00100), + B(01000), + B(0), + + B(01000), // 0xc4 ト + B(01000), + B(01000), + B(01100), + B(01010), + B(01000), + B(01000), + B(0), + + B(00100), // 0xc5 ナ + B(00100), + B(11111), + B(00100), + B(00100), + B(00100), + B(01000), + B(0), + + B(00000), // 0xc6 ニ + B(01110), + B(00000), + B(00000), + B(00000), + B(00000), + B(11111), + B(0), + + B(00000), // 0xc7 ヌ + B(11111), + B(00001), + B(01010), + B(00100), + B(01010), + B(10001), + B(0), + + B(00100), // 0xc8 ネ + B(11111), + B(00010), + B(00100), + B(01110), + B(10101), + B(00100), + B(0), + + B(00000), // 0xc9 ノ + B(00010), + B(00010), + B(00010), + B(00010), + B(00100), + B(01000), + B(0), + + B(00000), // 0xca ハ + B(00100), + B(00010), + B(10001), + B(10001), + B(10001), + B(10001), + B(0), + + B(00000), // 0xcb ヒ + B(10000), + B(11111), + B(10000), + B(10000), + B(10000), + B(01111), + B(0), + + B(00000), // 0xcc フ + B(11111), + B(00001), + B(00001), + B(00001), + B(00010), + B(01100), + B(0), + + B(00000), // 0xcd ヘ + B(01000), + B(10100), + B(10010), + B(00001), + B(00001), + B(00000), + B(0), + + B(00100), // 0xce ホ + B(11111), + B(00100), + B(10101), + B(10101), + B(10101), + B(00100), + B(0), + + B(00000), // 0xcf マ + B(11111), + B(00001), + B(00001), + B(01010), + B(00100), + B(00010), + B(0), + + B(00000), // 0xd0 ミ + B(01110), + B(00000), + B(01110), + B(00000), + B(01110), + B(00001), + B(0), + + B(00000), // 0xd1 ム + B(00100), + B(00100), + B(01000), + B(01001), + B(10011), + B(11101), + B(0), + + B(00000), // 0xd2 メ + B(00001), + B(00001), + B(00101), + B(00010), + B(00101), + B(11000), + B(0), + + B(00000), // 0xd3 モ + B(11111), + B(00100), + B(11111), + B(00100), + B(00100), + B(00011), + B(0), + + B(01000), // 0xd4 ヤ + B(01000), + B(11111), + B(01001), + B(01010), + B(01000), + B(01000), + B(0), + + B(00000), // 0xd5 ユ + B(01110), + B(00010), + B(00010), + B(00010), + B(00010), + B(11111), + B(0), + + B(00000), // 0xd6 ヨ + B(11111), + B(00001), + B(01111), + B(00001), + B(00001), + B(11111), + B(0), + + B(01110), // 0xd7 ラ + B(00000), + B(11111), + B(00001), + B(00001), + B(00010), + B(00100), + B(0), + + B(00000), // 0xd8 リ + B(10010), + B(10010), + B(10010), + B(00010), + B(00100), + B(01000), + B(0), + + B(00000), // 0xd9 ル + B(00100), + B(10100), + B(10100), + B(10101), + B(10101), + B(00110), + B(0), + + B(00000), // 0xda レ + B(10000), + B(10000), + B(10001), + B(10010), + B(10100), + B(11000), + B(0), + + B(00000), // 0xdb ロ + B(11111), + B(10001), + B(10001), + B(10001), + B(10001), + B(11111), + B(0), + + B(00000), // 0xdc ワ + B(11111), + B(10001), + B(10001), + B(00001), + B(00010), + B(00100), + B(0), + + B(00000), // 0xdd ン + B(11000), + B(00000), + B(00001), + B(00001), + B(00010), + B(11100), + B(0), + + B(00100), // 0xde ゛ + B(10010), + B(01000), + B(00000), + B(00000), + B(00000), + B(00000), + B(0), + + B(11100), // 0xdf ゜ + B(10100), + B(11100), + B(00000), + B(00000), + B(00000), + B(00000), + B(0), // ここから実際には 5x10 dot も混ざるが、現在はサポートしていない - 0b000'00000, // 0xe0 α - 0b000'00000, - 0b000'00001, - 0b000'01101, - 0b000'10010, - 0b000'10010, - 0b000'01101, - 0b000'00000, - - 0b000'01010, // 0xe1 a‥(Latin Small Letter A with Diaeresis) - 0b000'00000, - 0b000'01110, - 0b000'00001, - 0b000'01111, - 0b000'10001, - 0b000'01111, - 0b000'00000, - - 0b000'00000, // 0xe2 β (10dot) - 0b000'00000, - 0b000'01110, - 0b000'10001, - 0b000'11110, - 0b000'10001, - 0b000'11110, - 0b000'10000, - - 0b000'00000, // 0xe3 ε - 0b000'00000, - 0b000'01110, - 0b000'10000, - 0b000'01110, - 0b000'10000, - 0b000'01110, - 0b000'00000, - - 0b000'00000, // 0xe4 μ (10dot) - 0b000'00000, - 0b000'10001, - 0b000'10001, - 0b000'10001, - 0b000'10011, - 0b000'11101, - 0b000'10000, - - 0b000'00000, // 0xe5 σ - 0b000'00000, - 0b000'01111, - 0b000'10010, - 0b000'10001, - 0b000'10001, - 0b000'01110, - 0b000'00000, - - 0b000'00000, // 0xe6 ρ (10dot) - 0b000'00000, - 0b000'00000, - 0b000'00000, - 0b000'00000, - 0b000'00000, - 0b000'00000, - 0b000'00000, - - 0b000'00000, // 0xe7 g (10dot ver) - 0b000'00000, - 0b000'01111, - 0b000'10001, - 0b000'10001, - 0b000'10001, - 0b000'01111, - 0b000'00001, - - 0b000'00000, // 0xe8 √(?) - 0b000'00111, - 0b000'00100, - 0b000'00100, - 0b000'10100, - 0b000'01000, - 0b000'00000, - 0b000'00000, - - 0b000'00000, // 0xe9 ^(-1) (?) - 0b000'00010, - 0b000'11010, - 0b000'00010, - 0b000'00000, - 0b000'00000, - 0b000'00000, - 0b000'00000, - - 0b000'00010, // 0xea j (10dot ver) - 0b000'00000, - 0b000'00110, - 0b000'00010, - 0b000'00010, - 0b000'00010, - 0b000'00010, - 0b000'00010, - - 0b000'00000, // 0xeb ^x (?) - 0b000'00000, - 0b000'00000, - 0b000'00000, - 0b000'00000, - 0b000'00000, - 0b000'00000, - 0b000'00000, - - 0b000'00000, // 0xec ¢ - 0b000'00100, - 0b000'01110, - 0b000'10100, - 0b000'10101, - 0b000'01110, - 0b000'00100, - 0b000'00000, - - 0b000'00000, // 0xed L= (U+26c0 だろうか?) - 0b000'00000, - 0b000'00000, - 0b000'00000, - 0b000'00000, - 0b000'00000, - 0b000'00000, - 0b000'00000, - - 0b000'00000, // 0xee n ̄(n マクロン?) - 0b000'00000, - 0b000'00000, - 0b000'00000, - 0b000'00000, - 0b000'00000, - 0b000'00000, - 0b000'00000, - - 0b000'01010, // 0xef o‥(Latin Small Letter O with Diaeresis) - 0b000'00000, - 0b000'01110, - 0b000'10001, - 0b000'10001, - 0b000'10001, - 0b000'01110, - 0b000'00000, - - 0b000'00000, // 0xf0 p (10dot ver) - 0b000'00000, - 0b000'10110, - 0b000'11001, - 0b000'10001, - 0b000'10001, - 0b000'11110, - 0b000'10000, - - 0b000'00000, // 0xf1 q (10dot ver) - 0b000'00000, - 0b000'01101, - 0b000'10011, - 0b000'10001, - 0b000'10001, - 0b000'01111, - 0b000'00001, - - 0b000'01110, // 0xf2 θ(?) - 0b000'10001, - 0b000'10001, - 0b000'11111, - 0b000'10001, - 0b000'10001, - 0b000'01110, - 0b000'00000, - - 0b000'00000, // 0xf3 ∞(?) - 0b000'00000, - 0b000'01010, - 0b000'10101, - 0b000'10101, - 0b000'01010, - 0b000'00000, - 0b000'00000, - - 0b000'00000, // 0xf4 Ω - 0b000'01110, - 0b000'10001, - 0b000'10001, - 0b000'10001, - 0b000'01010, - 0b000'11011, - 0b000'00000, - - 0b000'01010, // 0xf5 u‥(?) - 0b000'00000, - 0b000'10001, - 0b000'10001, - 0b000'10001, - 0b000'10011, - 0b000'01101, - 0b000'00000, - - 0b000'11111, // 0xf6 Σ - 0b000'01000, - 0b000'00100, - 0b000'00010, - 0b000'00100, - 0b000'01000, - 0b000'11111, - 0b000'00000, - - 0b000'00000, // 0xf7 π - 0b000'00000, - 0b000'11111, - 0b000'01010, - 0b000'01010, - 0b000'01010, - 0b000'10011, - 0b000'00000, - - 0b000'11111, // 0xf8 x ̄(?) - 0b000'00000, - 0b000'10001, - 0b000'01010, - 0b000'00100, - 0b000'01010, - 0b000'10001, - 0b000'00000, - - 0b000'00000, // 0xf9 y (10dot ver) - 0b000'00000, - 0b000'10001, - 0b000'10001, - 0b000'10001, - 0b000'10001, - 0b000'01111, - 0b000'00001, - - 0b000'00000, // 0xfa 千 - 0b000'00001, - 0b000'01110, - 0b000'00100, - 0b000'11111, - 0b000'00100, - 0b000'00100, - 0b000'00000, - - 0b000'00000, // 0xfb 万 - 0b000'11111, - 0b000'01000, - 0b000'01111, - 0b000'01001, - 0b000'01001, - 0b000'10001, - 0b000'00000, - - 0b000'00000, // 0xfc 円 - 0b000'11111, - 0b000'10101, - 0b000'10101, - 0b000'11111, - 0b000'10001, - 0b000'10001, - 0b000'00000, - - 0b000'00000, // 0xfd ÷ - 0b000'00000, - 0b000'00100, - 0b000'00000, - 0b000'11111, - 0b000'00000, - 0b000'00100, - 0b000'00000, - - 0b000'00000, // 0xfe space - 0b000'00000, - 0b000'00000, - 0b000'00000, - 0b000'00000, - 0b000'00000, - 0b000'00000, - 0b000'00000, - - 0b000'11111, // 0xff cursor - 0b000'11111, - 0b000'11111, - 0b000'11111, - 0b000'11111, - 0b000'11111, - 0b000'11111, - 0b000'11111, + B(00000), // 0xe0 α + B(00000), + B(00001), + B(01101), + B(10010), + B(10010), + B(01101), + B(00000), + + B(01010), // 0xe1 a‥(Latin Small Letter A with Diaeresis) + B(00000), + B(01110), + B(00001), + B(01111), + B(10001), + B(01111), + B(00000), + + B(00000), // 0xe2 β (10dot) + B(00000), + B(01110), + B(10001), + B(11110), + B(10001), + B(11110), + B(10000), + + B(00000), // 0xe3 ε + B(00000), + B(01110), + B(10000), + B(01110), + B(10000), + B(01110), + B(00000), + + B(00000), // 0xe4 μ (10dot) + B(00000), + B(10001), + B(10001), + B(10001), + B(10011), + B(11101), + B(10000), + + B(00000), // 0xe5 σ + B(00000), + B(01111), + B(10010), + B(10001), + B(10001), + B(01110), + B(00000), + + B(00000), // 0xe6 ρ (10dot) + B(00000), + B(00000), + B(00000), + B(00000), + B(00000), + B(00000), + B(00000), + + B(00000), // 0xe7 g (10dot ver) + B(00000), + B(01111), + B(10001), + B(10001), + B(10001), + B(01111), + B(00001), + + B(00000), // 0xe8 √(?) + B(00111), + B(00100), + B(00100), + B(10100), + B(01000), + B(00000), + B(00000), + + B(00000), // 0xe9 ^(-1) (?) + B(00010), + B(11010), + B(00010), + B(00000), + B(00000), + B(00000), + B(00000), + + B(00010), // 0xea j (10dot ver) + B(00000), + B(00110), + B(00010), + B(00010), + B(00010), + B(00010), + B(00010), + + B(00000), // 0xeb ^x (?) + B(00000), + B(00000), + B(00000), + B(00000), + B(00000), + B(00000), + B(00000), + + B(00000), // 0xec ¢ + B(00100), + B(01110), + B(10100), + B(10101), + B(01110), + B(00100), + B(00000), + + B(00000), // 0xed L= (U+26c0 だろうか?) + B(00000), + B(00000), + B(00000), + B(00000), + B(00000), + B(00000), + B(00000), + + B(00000), // 0xee n ̄(n マクロン?) + B(00000), + B(00000), + B(00000), + B(00000), + B(00000), + B(00000), + B(00000), + + B(01010), // 0xef o‥(Latin Small Letter O with Diaeresis) + B(00000), + B(01110), + B(10001), + B(10001), + B(10001), + B(01110), + B(00000), + + B(00000), // 0xf0 p (10dot ver) + B(00000), + B(10110), + B(11001), + B(10001), + B(10001), + B(11110), + B(10000), + + B(00000), // 0xf1 q (10dot ver) + B(00000), + B(01101), + B(10011), + B(10001), + B(10001), + B(01111), + B(00001), + + B(01110), // 0xf2 θ(?) + B(10001), + B(10001), + B(11111), + B(10001), + B(10001), + B(01110), + B(00000), + + B(00000), // 0xf3 ∞(?) + B(00000), + B(01010), + B(10101), + B(10101), + B(01010), + B(00000), + B(00000), + + B(00000), // 0xf4 Ω + B(01110), + B(10001), + B(10001), + B(10001), + B(01010), + B(11011), + B(00000), + + B(01010), // 0xf5 u‥(?) + B(00000), + B(10001), + B(10001), + B(10001), + B(10011), + B(01101), + B(00000), + + B(11111), // 0xf6 Σ + B(01000), + B(00100), + B(00010), + B(00100), + B(01000), + B(11111), + B(00000), + + B(00000), // 0xf7 π + B(00000), + B(11111), + B(01010), + B(01010), + B(01010), + B(10011), + B(00000), + + B(11111), // 0xf8 x ̄(?) + B(00000), + B(10001), + B(01010), + B(00100), + B(01010), + B(10001), + B(00000), + + B(00000), // 0xf9 y (10dot ver) + B(00000), + B(10001), + B(10001), + B(10001), + B(10001), + B(01111), + B(00001), + + B(00000), // 0xfa 千 + B(00001), + B(01110), + B(00100), + B(11111), + B(00100), + B(00100), + B(00000), + + B(00000), // 0xfb 万 + B(11111), + B(01000), + B(01111), + B(01001), + B(01001), + B(10001), + B(00000), + + B(00000), // 0xfc 円 + B(11111), + B(10101), + B(10101), + B(11111), + B(10001), + B(10001), + B(00000), + + B(00000), // 0xfd ÷ + B(00000), + B(00100), + B(00000), + B(11111), + B(00000), + B(00100), + B(00000), + + B(00000), // 0xfe space + B(00000), + B(00000), + B(00000), + B(00000), + B(00000), + B(00000), + B(00000), + + B(11111), // 0xff cursor + B(11111), + B(11111), + B(11111), + B(11111), + B(11111), + B(11111), + B(11111), };