|
@@ -191,7 +191,7 @@ static uint32_t flipchar(uint32_t ch) |
|
|
(uint32_t)'Y', (uint32_t)'^', (uint32_t)'_', (uint32_t)'i', |
|
|
(uint32_t)'Y', (uint32_t)'^', (uint32_t)'_', (uint32_t)'i', |
|
|
(uint32_t)'o', (uint32_t)'v', (uint32_t)'w', (uint32_t)'x', |
|
|
(uint32_t)'o', (uint32_t)'v', (uint32_t)'w', (uint32_t)'x', |
|
|
(uint32_t)'|', |
|
|
(uint32_t)'|', |
|
|
/* Unicode */ |
|
|
|
|
|
|
|
|
/* CP437 */ |
|
|
0x2591, 0x2592, 0x2593, 0x2588, 0x2584, 0x2580, /* ░ ▒ ▓ █ ▄ ▀ */ |
|
|
0x2591, 0x2592, 0x2593, 0x2588, 0x2584, 0x2580, /* ░ ▒ ▓ █ ▄ ▀ */ |
|
|
0 |
|
|
0 |
|
|
}; |
|
|
}; |
|
@@ -199,26 +199,34 @@ static uint32_t flipchar(uint32_t ch) |
|
|
static uint32_t const pairs[] = |
|
|
static uint32_t const pairs[] = |
|
|
{ |
|
|
{ |
|
|
/* ASCII */ |
|
|
/* ASCII */ |
|
|
(uint32_t)'(', (uint32_t)')', (uint32_t)'/', (uint32_t)'\\', |
|
|
|
|
|
(uint32_t)'<', (uint32_t)'>', (uint32_t)'[', (uint32_t)']', |
|
|
|
|
|
(uint32_t)'b', (uint32_t)'d', (uint32_t)'p', (uint32_t)'q', |
|
|
|
|
|
|
|
|
(uint32_t)'(', (uint32_t)')', |
|
|
|
|
|
(uint32_t)'/', (uint32_t)'\\', |
|
|
|
|
|
(uint32_t)'<', (uint32_t)'>', |
|
|
|
|
|
(uint32_t)'[', (uint32_t)']', |
|
|
|
|
|
(uint32_t)'b', (uint32_t)'d', |
|
|
|
|
|
(uint32_t)'p', (uint32_t)'q', |
|
|
(uint32_t)'{', (uint32_t)'}', |
|
|
(uint32_t)'{', (uint32_t)'}', |
|
|
/* ASCII-Unicode */ |
|
|
/* ASCII-Unicode */ |
|
|
(uint32_t)';', 0x204f, /* ; ⁏ */ |
|
|
(uint32_t)';', 0x204f, /* ; ⁏ */ |
|
|
(uint32_t)'`', 0x00b4, /* ` ´ */ |
|
|
(uint32_t)'`', 0x00b4, /* ` ´ */ |
|
|
|
|
|
(uint32_t)',', 0x02ce, /* , ˎ */ |
|
|
|
|
|
(uint32_t)'C', 0x03fd, /* C Ͻ */ |
|
|
(uint32_t)'E', 0x018e, /* E Ǝ */ |
|
|
(uint32_t)'E', 0x018e, /* E Ǝ */ |
|
|
(uint32_t)'N', 0x0418, /* N И */ |
|
|
(uint32_t)'N', 0x0418, /* N И */ |
|
|
(uint32_t)'R', 0x042f, /* R Я */ |
|
|
(uint32_t)'R', 0x042f, /* R Я */ |
|
|
(uint32_t)'S', 0x01a7, /* S Ƨ */ |
|
|
(uint32_t)'S', 0x01a7, /* S Ƨ */ |
|
|
(uint32_t)'c', 0x0254, /* c ɔ */ |
|
|
(uint32_t)'c', 0x0254, /* c ɔ */ |
|
|
(uint32_t)'e', 0x0258, /* e ɘ */ |
|
|
(uint32_t)'e', 0x0258, /* e ɘ */ |
|
|
/* Unicode only */ |
|
|
|
|
|
|
|
|
/* CP437 */ |
|
|
0x258c, 0x2590, /* ▌ ▐ */ |
|
|
0x258c, 0x2590, /* ▌ ▐ */ |
|
|
0x2596, 0x2597, /* ▖ ▗ */ |
|
|
0x2596, 0x2597, /* ▖ ▗ */ |
|
|
0x2598, 0x259d, /* ▘ ▝ */ |
|
|
0x2598, 0x259d, /* ▘ ▝ */ |
|
|
0x2599, 0x259f, /* ▙ ▟ */ |
|
|
0x2599, 0x259f, /* ▙ ▟ */ |
|
|
0x259a, 0x259e, /* ▚ ▞ */ |
|
|
0x259a, 0x259e, /* ▚ ▞ */ |
|
|
0x259b, 0x259c, /* ▛ ▜ */ |
|
|
0x259b, 0x259c, /* ▛ ▜ */ |
|
|
|
|
|
0x25ba, 0x25c4, /* ► ◄ */ |
|
|
|
|
|
0x2192, 0x2190, /* → ← */ |
|
|
|
|
|
0x2310, 0xac, /* ⌐ ¬ */ |
|
|
0 |
|
|
0 |
|
|
}; |
|
|
}; |
|
|
|
|
|
|
|
@@ -248,7 +256,7 @@ static uint32_t flopchar(uint32_t ch) |
|
|
(uint32_t)'I', (uint32_t)'K', (uint32_t)'O', (uint32_t)'X', |
|
|
(uint32_t)'I', (uint32_t)'K', (uint32_t)'O', (uint32_t)'X', |
|
|
(uint32_t)'[', (uint32_t)']', (uint32_t)'c', (uint32_t)'o', |
|
|
(uint32_t)'[', (uint32_t)']', (uint32_t)'c', (uint32_t)'o', |
|
|
(uint32_t)'{', (uint32_t)'|', (uint32_t)'}', |
|
|
(uint32_t)'{', (uint32_t)'|', (uint32_t)'}', |
|
|
/* Unicode */ |
|
|
|
|
|
|
|
|
/* CP437 */ |
|
|
0x2591, 0x2592, 0x2593, 0x2588, 0x258c, 0x2590, /* ░ ▒ ▓ █ ▌ ▐ */ |
|
|
0x2591, 0x2592, 0x2593, 0x2588, 0x258c, 0x2590, /* ░ ▒ ▓ █ ▌ ▐ */ |
|
|
0 |
|
|
0 |
|
|
}; |
|
|
}; |
|
@@ -256,20 +264,33 @@ static uint32_t flopchar(uint32_t ch) |
|
|
static uint32_t const pairs[] = |
|
|
static uint32_t const pairs[] = |
|
|
{ |
|
|
{ |
|
|
/* ASCII */ |
|
|
/* ASCII */ |
|
|
(uint32_t)'/', (uint32_t)'\\', (uint32_t)'M', (uint32_t)'W', |
|
|
|
|
|
(uint32_t)',', (uint32_t)'`', (uint32_t)'b', (uint32_t)'p', |
|
|
|
|
|
(uint32_t)'d', (uint32_t)'q', (uint32_t)'p', (uint32_t)'q', |
|
|
|
|
|
(uint32_t)'f', (uint32_t)'t', (uint32_t)'.', (uint32_t)'\'', |
|
|
|
|
|
|
|
|
(uint32_t)'/', (uint32_t)'\\', |
|
|
|
|
|
(uint32_t)'M', (uint32_t)'W', |
|
|
|
|
|
(uint32_t)',', (uint32_t)'`', |
|
|
|
|
|
(uint32_t)'b', (uint32_t)'p', |
|
|
|
|
|
(uint32_t)'d', (uint32_t)'q', |
|
|
|
|
|
(uint32_t)'p', (uint32_t)'q', |
|
|
|
|
|
(uint32_t)'f', (uint32_t)'t', |
|
|
|
|
|
(uint32_t)'.', (uint32_t)'\'', |
|
|
/* ASCII-Unicode */ |
|
|
/* ASCII-Unicode */ |
|
|
(uint32_t)'_', 0x2594, /* _ ▔ */ |
|
|
|
|
|
(uint32_t)'`', 0x201a, /* ` ‚ */ |
|
|
|
|
|
|
|
|
(uint32_t)'_', 0x203e, /* _ ‾ */ |
|
|
(uint32_t)'!', 0x00a1, /* ! ¡ */ |
|
|
(uint32_t)'!', 0x00a1, /* ! ¡ */ |
|
|
|
|
|
(uint32_t)'L', 0x0413, /* L Г */ |
|
|
(uint32_t)'N', 0x0418, /* N И */ |
|
|
(uint32_t)'N', 0x0418, /* N И */ |
|
|
(uint32_t)'P', 0x042c, /* P Ь */ |
|
|
(uint32_t)'P', 0x042c, /* P Ь */ |
|
|
|
|
|
(uint32_t)'R', 0x0281, /* R ʁ */ |
|
|
(uint32_t)'S', 0x01a7, /* S Ƨ */ |
|
|
(uint32_t)'S', 0x01a7, /* S Ƨ */ |
|
|
|
|
|
(uint32_t)'U', 0x0548, /* U Ո */ |
|
|
|
|
|
(uint32_t)'V', 0x039b, /* V Λ */ |
|
|
|
|
|
(uint32_t)'h', 0x03bc, /* h μ */ |
|
|
|
|
|
(uint32_t)'i', 0x1d09, /* i ᴉ */ |
|
|
(uint32_t)'v', 0x028c, /* v ʌ */ |
|
|
(uint32_t)'v', 0x028c, /* v ʌ */ |
|
|
(uint32_t)'w', 0x028d, /* w ʍ */ |
|
|
(uint32_t)'w', 0x028d, /* w ʍ */ |
|
|
/* Unicode only */ |
|
|
|
|
|
|
|
|
(uint32_t)'y', 0x03bb, /* y λ */ |
|
|
|
|
|
/* Not perfect, but better than nothing */ |
|
|
|
|
|
(uint32_t)'m', 0x026f, /* m ɯ */ |
|
|
|
|
|
(uint32_t)'n', (uint32_t)'u', |
|
|
|
|
|
/* CP437 */ |
|
|
0x2584, 0x2580, /* ▄ ▀ */ |
|
|
0x2584, 0x2580, /* ▄ ▀ */ |
|
|
0x2596, 0x2598, /* ▖ ▘ */ |
|
|
0x2596, 0x2598, /* ▖ ▘ */ |
|
|
0x2597, 0x259d, /* ▗ ▝ */ |
|
|
0x2597, 0x259d, /* ▗ ▝ */ |
|
@@ -307,24 +328,34 @@ static uint32_t rotatechar(uint32_t ch) |
|
|
static uint32_t const pairs[] = |
|
|
static uint32_t const pairs[] = |
|
|
{ |
|
|
{ |
|
|
/* ASCII */ |
|
|
/* ASCII */ |
|
|
(uint32_t)'(', (uint32_t)')', (uint32_t)'<', (uint32_t)'>', |
|
|
|
|
|
(uint32_t)'[', (uint32_t)']', (uint32_t)'{', (uint32_t)'}', |
|
|
|
|
|
|
|
|
(uint32_t)'(', (uint32_t)')', |
|
|
|
|
|
(uint32_t)'<', (uint32_t)'>', |
|
|
|
|
|
(uint32_t)'[', (uint32_t)']', |
|
|
|
|
|
(uint32_t)'{', (uint32_t)'}', |
|
|
(uint32_t)'.', (uint32_t)'\'', |
|
|
(uint32_t)'.', (uint32_t)'\'', |
|
|
(uint32_t)'6', (uint32_t)'9', |
|
|
(uint32_t)'6', (uint32_t)'9', |
|
|
(uint32_t)'M', (uint32_t)'W', (uint32_t)'b', (uint32_t)'q', |
|
|
|
|
|
(uint32_t)'d', (uint32_t)'p', (uint32_t)'n', (uint32_t)'u', |
|
|
|
|
|
|
|
|
(uint32_t)'M', (uint32_t)'W', |
|
|
|
|
|
(uint32_t)'b', (uint32_t)'q', |
|
|
|
|
|
(uint32_t)'d', (uint32_t)'p', |
|
|
|
|
|
(uint32_t)'n', (uint32_t)'u', |
|
|
/* ASCII-Unicode */ |
|
|
/* ASCII-Unicode */ |
|
|
(uint32_t)'_', 0x2594, /* _ ▔ */ |
|
|
|
|
|
(uint32_t)',', 0x02bb, /* , ʻ */ |
|
|
|
|
|
|
|
|
(uint32_t)'_', 0x203e, /* _ ‾ */ |
|
|
|
|
|
(uint32_t)',', 0x00b4, /* , ´ */ |
|
|
|
|
|
(uint32_t)'`', 0x02ce, /* ` ˎ */ |
|
|
(uint32_t)'!', 0x00a1, /* ! ¡ */ |
|
|
(uint32_t)'!', 0x00a1, /* ! ¡ */ |
|
|
(uint32_t)'?', 0x00bf, /* ? ¿ */ |
|
|
(uint32_t)'?', 0x00bf, /* ? ¿ */ |
|
|
|
|
|
(uint32_t)'C', 0x03fd, /* C Ͻ */ |
|
|
(uint32_t)'E', 0x018e, /* E Ǝ */ |
|
|
(uint32_t)'E', 0x018e, /* E Ǝ */ |
|
|
(uint32_t)'F', 0x2132, /* F Ⅎ */ |
|
|
(uint32_t)'F', 0x2132, /* F Ⅎ */ |
|
|
|
|
|
(uint32_t)'U', 0x0548, /* U Ո */ |
|
|
|
|
|
(uint32_t)'V', 0x039b, /* V Λ */ |
|
|
(uint32_t)'a', 0x0250, /* a ɐ */ |
|
|
(uint32_t)'a', 0x0250, /* a ɐ */ |
|
|
(uint32_t)'c', 0x0254, /* c ɔ */ |
|
|
(uint32_t)'c', 0x0254, /* c ɔ */ |
|
|
(uint32_t)'e', 0x0259, /* e ə */ |
|
|
(uint32_t)'e', 0x0259, /* e ə */ |
|
|
(uint32_t)'f', 0x025f, /* f ɟ */ |
|
|
(uint32_t)'f', 0x025f, /* f ɟ */ |
|
|
|
|
|
(uint32_t)'g', 0x1d77, /* g ᵷ */ |
|
|
(uint32_t)'h', 0x0265, /* h ɥ */ |
|
|
(uint32_t)'h', 0x0265, /* h ɥ */ |
|
|
|
|
|
(uint32_t)'i', 0x1d09, /* i ᴉ */ |
|
|
(uint32_t)'k', 0x029e, /* k ʞ */ |
|
|
(uint32_t)'k', 0x029e, /* k ʞ */ |
|
|
(uint32_t)'m', 0x026f, /* m ɯ */ |
|
|
(uint32_t)'m', 0x026f, /* m ɯ */ |
|
|
(uint32_t)'r', 0x0279, /* r ɹ */ |
|
|
(uint32_t)'r', 0x0279, /* r ɹ */ |
|
@@ -332,7 +363,7 @@ static uint32_t rotatechar(uint32_t ch) |
|
|
(uint32_t)'v', 0x028c, /* v ʌ */ |
|
|
(uint32_t)'v', 0x028c, /* v ʌ */ |
|
|
(uint32_t)'w', 0x028d, /* w ʍ */ |
|
|
(uint32_t)'w', 0x028d, /* w ʍ */ |
|
|
(uint32_t)'y', 0x028e, /* y ʎ */ |
|
|
(uint32_t)'y', 0x028e, /* y ʎ */ |
|
|
/* Unicode only */ |
|
|
|
|
|
|
|
|
/* CP437 */ |
|
|
0x258c, 0x2590, /* ▌ ▐ */ |
|
|
0x258c, 0x2590, /* ▌ ▐ */ |
|
|
0x2584, 0x2580, /* ▄ ▀ */ |
|
|
0x2584, 0x2580, /* ▄ ▀ */ |
|
|
0x2596, 0x259d, /* ▖ ▝ */ |
|
|
0x2596, 0x259d, /* ▖ ▝ */ |
|
|