···
+
static bool dec_special_print(struct term_context *ctx, uint8_t c) {
+
#define TERM_DEC_SPCL_PRN(C) ctx->raw_putchar(ctx, (C)); return true;
+
case '`': TERM_DEC_SPCL_PRN(0x04)
+
case '0': TERM_DEC_SPCL_PRN(0xdb)
+
case '-': TERM_DEC_SPCL_PRN(0x18)
+
case ',': TERM_DEC_SPCL_PRN(0x1b)
+
case '.': TERM_DEC_SPCL_PRN(0x19)
+
case 'a': TERM_DEC_SPCL_PRN(0xb1)
+
case 'f': TERM_DEC_SPCL_PRN(0xf8)
+
case 'g': TERM_DEC_SPCL_PRN(0xf1)
+
case 'h': TERM_DEC_SPCL_PRN(0xb0)
+
case 'j': TERM_DEC_SPCL_PRN(0xd9)
+
case 'k': TERM_DEC_SPCL_PRN(0xbf)
+
case 'l': TERM_DEC_SPCL_PRN(0xda)
+
case 'm': TERM_DEC_SPCL_PRN(0xc0)
+
case 'n': TERM_DEC_SPCL_PRN(0xc5)
+
case 'q': TERM_DEC_SPCL_PRN(0xc4)
+
case 's': TERM_DEC_SPCL_PRN(0x5f)
+
case 't': TERM_DEC_SPCL_PRN(0xc3)
+
case 'u': TERM_DEC_SPCL_PRN(0xb4)
+
case 'v': TERM_DEC_SPCL_PRN(0xc1)
+
case 'w': TERM_DEC_SPCL_PRN(0xc2)
+
case 'x': TERM_DEC_SPCL_PRN(0xb3)
+
case 'y': TERM_DEC_SPCL_PRN(0xf3)
+
case 'z': TERM_DEC_SPCL_PRN(0xf2)
+
case '~': TERM_DEC_SPCL_PRN(0xfa)
+
case '_': TERM_DEC_SPCL_PRN(0xff)
+
case '+': TERM_DEC_SPCL_PRN(0x1a)
+
case '{': TERM_DEC_SPCL_PRN(0xe3)
+
case '}': TERM_DEC_SPCL_PRN(0x9c)
+
#undef TERM_DEC_SPCL_PRN
// Following wcwidth related code inherited from:
···
case CHARSET_DEC_SPECIAL:
+
if (dec_special_print(ctx, c)) {