TrashMonks / cryptogull

Discord bot for the Caves of Qud server
https://discordapp.com/invite/cavesofqud
GNU Affero General Public License v3.0
10 stars 2 forks source link

Crypto Doesn't Render Special Characters from Corpus Output #68

Open egocarib opened 2 years ago

egocarib commented 2 years ago

Perhaps there's some way we can encode these characters to get them to appear correctly in Discord. image

gnarf commented 2 years ago

There is a table of cp437 char to Unicode in XRL.UI.Siderbar inside qud

```cs public static Dictionary Codepage437Mapping = new Dictionary() { { '\u0000', 0x0020 }, { '\u0001',0x263A }, { '\u0002',0x263B }, { '\u0003',0x2665 }, { '\u0004',0x2666 }, { '\u0005',0x2663 }, { '\u0006',0x2660 }, { '\u0007',0x2022 }, { '\u0008',0x25D8 }, { '\u0009',0x25CB }, //{ '\u000A',0x25D9 }, { '\u000B',0x2642 }, { '\u000C',0x2640 }, //{ '\u000D',0x266A }, { '\u000E',0x266B }, { '\u000F',0x263C }, { '\u0010',0x25B6 }, { '\u0011',0x25C0 }, { '\u0012',0x2195 }, { '\u0013',0x203C }, { '\u0014',0x00B6 }, { '\u0015',0x00A7 }, { '\u0016',0x2582 }, { '\u0017',0x21A8 }, { '\u0018',0x2191 }, { '\u0019',0x2193 }, { '\u001A',0x2192 }, { '\u001B',0x2190 }, { '\u001C',0x221F }, { '\u001D',0x2194 }, { '\u001E',0x25B2 }, { '\u001F',0x25BC }, { '\u0080',0x00C7 }, { '\u0081',0x00FC }, { '\u0082',0x00E9 }, { '\u0083',0x00E2 }, { '\u0084',0x00E4 }, { '\u0085',0x00E0 }, { '\u0086',0x00E5 }, { '\u0087',0x00E7 }, { '\u0088',0x00EA }, { '\u0089',0x00EB }, { '\u008A',0x00E8 }, { '\u008B',0x00EF }, { '\u008C',0x00EE }, { '\u008D',0x00EC }, { '\u008E',0x00C4 }, { '\u008F',0x00C5 }, { '\u0090',0x00C9 }, { '\u0091',0x00E6 }, { '\u0092',0x00C6 }, { '\u0093',0x00F4 }, { '\u0094',0x00F6 }, { '\u0095',0x00F2 }, { '\u0096',0x00FB }, { '\u0097',0x00F9 }, { '\u0098',0x00FF }, { '\u0099',0x00D6 }, { '\u009A',0x00DC }, { '\u009B',0x00A2 }, { '\u009C',0x00A3 }, { '\u009D',0x00A5 }, { '\u009E',0x20A7 }, { '\u009F',0x0192 }, { '\u00A0',0x00E1 }, { '\u00A1',0x00ED }, { '\u00A2',0x00F3 }, { '\u00A3',0x00FA }, { '\u00A4',0x00F1 }, { '\u00A5',0x00D1 }, { '\u00A6',0x00AA }, { '\u00A7',0x00BA }, { '\u00A8',0x00BF }, { '\u00A9',0x2310 }, { '\u00AA',0x00AC }, { '\u00AB',0x00BD }, { '\u00AC',0x00BC }, { '\u00AD',0x00A1 }, { '\u00AE',0x00AB }, { '\u00AF',0x00BB }, { '\u00B0',0x2591 }, { '\u00B1',0x2592 }, { '\u00B2',0x2593 }, { '\u00B3',0x2502 }, { '\u00B4',0x2524 }, { '\u00B5',0x2561 }, { '\u00B6',0x2562 }, { '\u00B7',0x2556 }, { '\u00B8',0x2555 }, { '\u00B9',0x2563 }, { '\u00BA',0x2551 }, { '\u00BB',0x2557 }, { '\u00BC',0x255D }, { '\u00BD',0x255C }, { '\u00BE',0x255B }, { '\u00BF',0x2510 }, { '\u00C0',0x2514 }, { '\u00C1',0x2534 }, { '\u00C2',0x252C }, { '\u00C3',0x251C }, { '\u00C4',0x2500 }, { '\u00C5',0x253C }, { '\u00C6',0x255E }, { '\u00C7',0x255F }, { '\u00C8',0x255A }, { '\u00C9',0x2554 }, { '\u00CA',0x2569 }, { '\u00CB',0x2566 }, { '\u00CC',0x2560 }, { '\u00CD',0x2550 }, { '\u00CE',0x256C }, { '\u00CF',0x2567 }, { '\u00D0',0x2568 }, { '\u00D1',0x2564 }, { '\u00D2',0x2565 }, { '\u00D3',0x2559 }, { '\u00D4',0x2558 }, { '\u00D5',0x2552 }, { '\u00D6',0x2553 }, { '\u00D7',0x256B }, { '\u00D8',0x256A }, { '\u00D9',0x2518 }, { '\u00DA',0x250C }, { '\u00DB',0x2588 }, { '\u00DC',0x2584 }, { '\u00DD',0x258C }, { '\u00DE',0x2590 }, { '\u00DF',0x2580 }, { '\u00E0',0x03B1 }, { '\u00E1',0x00DF }, { '\u00E2',0x0393 }, { '\u00E3',0x03C0 }, { '\u00E4',0x03A3 }, { '\u00E5',0x03C3 }, { '\u00E6',0x00B5 }, { '\u00E7',0x03C4 }, { '\u00E8',0x03A6 }, { '\u00E9',0x0398 }, { '\u00EA',0x03A9 }, { '\u00EB',0x03B4 }, { '\u00EC',0x221E }, { '\u00ED',0x03C6 }, { '\u00EE',0x03B5 }, { '\u00EF',0x2229 }, { '\u00F0',0x2261 }, { '\u00F1',0x00B1 }, { '\u00F2',0x2265 }, { '\u00F3',0x2264 }, { '\u00F4',0x2320 }, { '\u00F5',0x2321 }, { '\u00F6',0x00F7 }, { '\u00F7',0x2248 }, { '\u00F8',0x00B0 }, { '\u00F9',0x2219 }, { '\u00FA',0x00B7 }, { '\u00FB',0x221A }, { '\u00FC',0x207F }, { '\u00FD',0x00B2 }, { '\u00FE',0x25A0 }, { '\u00FF',0x00A0 }, }; ```
syntaxaire commented 2 years ago

We also have this: https://github.com/TrashMonks/hagadias/blob/main/hagadias/helpers.py#L29