Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Complete the incomplete character mapping #2

Open
smdn opened this issue Jun 13, 2021 · 0 comments
Open

Complete the incomplete character mapping #2

smdn opened this issue Jun 13, 2021 · 0 comments
Labels
enhancement New feature or request

Comments

@smdn
Copy link
Owner

smdn commented Jun 13, 2021

c_unmaps must be replaced to appropriate characters.
Contributions are welcome!

CGROM-A

internal static readonly (char, byte)[] CharacterMapRomA = GenerateSortedCharacterMap(
new char[][] {
/* 0x0_ 0x1_ 0x2_ 0x3_ 0x4_ 0x5_ 0x6_ 0x7_ 0x8_ 0x9_ 0xA_ 0xB_ 0xC_ 0xD_ 0xE_ 0xF_ */
new[] /* 0x_0 */ { c_undef, '▶', ' ', '0', '¡', 'P', '¿', 'p', '⁰', '♪', '@', c_unmap, 'Γ', /*!*/'⅟', '↓', 'Č' },
new[] /* 0x_1 */ { c_undef, '◀', '!', '1', 'A', 'Q', 'a', 'q', '¹', '♫', '£', '¢', 'Λ', /*!*/'⅘', '←', 'Ě' },
new[] /* 0x_2 */ { c_undef, '⏫', '"', '2', 'B', 'R', 'b', 'r', '²', c_unmap, '$', 'Φ', 'Π', /*!*/'⅗', 'Á', 'Ř' },
new[] /* 0x_3 */ { c_undef, '⏬', '#', '3', 'C', 'S', 'c', 's', '³', '♥', '¥', 'τ', 'Υ', /*!*/'⅖', 'Í', 'Š' },
new[] /* 0x_4 */ { c_undef, '⏪', '¤', '4', 'D', 'T', 'd', 't', '⁴', c_unmap, 'è', 'λ', '_', /*!*/'⅕', 'Ó', 'Ž' },
new[] /* 0x_5 */ { c_undef, '⏩', '%', '5', 'E', 'U', 'e', 'u', '⁵', c_unmap, 'é', 'Ω', 'È', 'ƒ', 'Ú', 'č' },
new[] /* 0x_6 */ { c_undef, '↖', '&', '6', 'F', 'V', 'f', 'v', '⁶', '「', 'ù', 'π', 'Ê', '█', 'Ý', 'ě' },
new[] /* 0x_7 */ { c_undef, '↗', '\'', '7', 'G', 'W', 'g', 'w', '⁷', '」', 'ì', 'ψ', 'ê', '▉', 'á', 'ř' },
new[] /* 0x_8 */ { c_undef, '↙', '(', '8', 'H', 'X', 'h', 'x', '⁸', '“', 'ò', 'Σ', 'ç', '▋', 'í', 'š' },
new[] /* 0x_9 */ { c_undef, '↘', ')', '9', 'I', 'Y', 'i', 'y', '⁹', '”', 'Ç', 'Θ', 'ğ', '▍', 'ó', 'ž' },
new[] /* 0x_A */ { c_undef, '▲', '*', ':', 'J', 'Z', 'j', 'z', '½', '(', c_unmap, 'Ξ', 'Ş', '▏', 'ú', '[' },
new[] /* 0x_B */ { c_undef, '▼', '+', ';', 'K', 'Ä', 'k', 'ä', '¼', ')', 'Ø', '●', 'ş', /*!*/'㌮', 'ý', '\\' },
new[] /* 0x_C */ { c_undef, '↵', ',', '<', 'L', 'Ö', 'l', 'ö', '±', 'α', 'ø', 'Æ', 'İ', c_unmap, 'Ô', ']' },
new[] /* 0x_D */ { c_undef, '^', '-', '=', 'M', 'Ñ', 'm', 'ñ', '≥', 'ε', c_unmap, 'æ', 'ı', '・', 'ô', '{' },
new[] /* 0x_E */ { c_undef, 'ˇ', '.', '>', 'N', 'Ü', 'n', 'ü', '≤', 'δ', 'Ȧ', 'β', c_unmap, '↑', 'Ů', '¦' },
new[] /* 0x_F */ { c_undef, c_unmap, '/', '?', 'O', c_unmap, 'o', 'à', 'μ', c_unmap, 'ȧ', 'É', c_unmap, '→', 'ů', '}' },
/* 0x0_ 0x1_ 0x2_ 0x3_ 0x4_ 0x5_ 0x6_ 0x7_ 0x8_ 0x9_ 0xA_ 0xB_ 0xC_ 0xD_ 0xE_ 0xF_ */
}
);

CGROM-B

internal static readonly (char, byte)[] CharacterMapRomB = GenerateSortedCharacterMap(
new char[][] {
/* 0x0_ 0x1_ 0x2_ 0x3_ 0x4_ 0x5_ 0x6_ 0x7_ 0x8_ 0x9_ 0xA_ 0xB_ 0xC_ 0xD_ 0xE_ 0xF_ */
new[] /* 0x_0 */ { c_undef, '▶', ' ', '0', '@', 'P', '`', 'p', 'А', 'Р', c_unmap, c_unmap, c_unmap, c_unmap, c_unmap, c_unmap },
new[] /* 0x_1 */ { c_undef, '◀', '!', '1', 'A', 'Q', 'a', 'q', 'Б', 'С', c_unmap, c_unmap, c_unmap, c_unmap, c_unmap, c_unmap },
new[] /* 0x_2 */ { c_undef, '⏫', '"', '2', 'B', 'R', 'b', 'r', 'В', 'Т', c_unmap, c_unmap, c_unmap, c_unmap, c_unmap, c_unmap },
new[] /* 0x_3 */ { c_undef, '⏬', '#', '3', 'C', 'S', 'c', 's', 'Г', 'У', c_unmap, c_unmap, c_unmap, c_unmap, c_unmap, c_unmap },
new[] /* 0x_4 */ { c_undef, '£', '$', '4', 'D', 'T', 'd', 't', 'Д', 'Ф', c_unmap, c_unmap, c_unmap, c_unmap, c_unmap, c_unmap },
new[] /* 0x_5 */ { c_undef, '¿', '%', '5', 'E', 'U', 'e', 'u', 'Е', 'Х', c_unmap, c_unmap, c_unmap, c_unmap, c_unmap, c_unmap },
new[] /* 0x_6 */ { c_undef, '¡', '&', '6', 'F', 'V', 'f', 'v', 'Ж', 'Ц', c_unmap, c_unmap, c_unmap, c_unmap, c_unmap, c_unmap },
new[] /* 0x_7 */ { c_undef, '♪', '\'', '7', 'G', 'W', 'g', 'w', 'З', 'Ч', c_unmap, c_unmap, c_unmap, '×', c_unmap, '÷' },
new[] /* 0x_8 */ { c_undef, c_unmap, '(', '8', 'H', 'X', 'h', 'x', 'И', 'Ш', c_unmap, c_unmap, c_unmap, c_unmap, c_unmap, c_unmap },
new[] /* 0x_9 */ { c_undef, c_unmap, ')', '9', 'I', 'Y', 'i', 'y', 'Й', 'Щ', c_unmap, c_unmap, c_unmap, c_unmap, c_unmap, c_unmap },
new[] /* 0x_A */ { c_undef, '✓', '*', ':', 'J', 'Z', 'j', 'z', 'К', 'Ъ', c_unmap, c_unmap, c_unmap, c_unmap, c_unmap, c_unmap },
new[] /* 0x_B */ { c_undef, c_undef, '+', ';', 'K', '[', 'k', '{', 'Л', 'Ы', c_unmap, c_undef, c_unmap, c_unmap, c_unmap, c_unmap },
new[] /* 0x_C */ { c_undef, c_undef, ',', '<', 'L', '\\', 'l', '|', 'М', 'Ь', c_unmap, c_undef, c_unmap, c_unmap, c_unmap, c_unmap },
new[] /* 0x_D */ { c_undef, c_undef, '-', '=', 'M', ']', 'm', '}', 'Н', 'Э', c_unmap, c_undef, c_unmap, c_unmap, c_unmap, c_unmap },
new[] /* 0x_E */ { c_undef, c_undef, '.', '>', 'N', '^', 'n', '~', 'О', 'Ю', c_unmap, c_undef, c_unmap, c_unmap, c_unmap, c_unmap },
new[] /* 0x_F */ { c_undef, c_undef, '/', '?', 'O', '_', 'o', '¦', 'П', 'Я', c_unmap, c_undef, c_unmap, 'ß', c_unmap, c_unmap },
/* 0x0_ 0x1_ 0x2_ 0x3_ 0x4_ 0x5_ 0x6_ 0x7_ 0x8_ 0x9_ 0xA_ 0xB_ 0xC_ 0xD_ 0xE_ 0xF_ */
}
);

CGROM-C

internal static readonly (char, byte)[] CharacterMapRomC = GenerateSortedCharacterMap(
new char[][] {
/* 0x0_ 0x1_ 0x2_ 0x3_ 0x4_ 0x5_ 0x6_ 0x7_ 0x8_ 0x9_ 0xA_ 0xB_ 0xC_ 0xD_ 0xE_ 0xF_ */
new[] /* 0x_0 */ { '⌠', '™', ' ', '0', '@', 'P', '`', 'p', 'Ç', 'É', c_undef, 'ー', 'タ', 'ミ', 'á', '˙' },
new[] /* 0x_1 */ { '⌡', '†', '!', '1', 'A', 'Q', 'a', 'q', 'ü', 'æ', '。', 'ア', 'チ', 'ム', 'í', '¨' },
new[] /* 0x_2 */ { '∞', '§', '"', '2', 'B', 'R', 'b', 'r', 'é', 'Æ', '「', 'イ', 'ツ', 'メ', 'ó', '˚' },
new[] /* 0x_3 */ { '∇', '¶', '#', '3', 'C', 'S', 'c', 's', 'ȧ', 'ô', '」', 'ウ', 'テ', 'モ', 'ú', 'ˋ' },
new[] /* 0x_4 */ { '↵', 'Γ', '$', '4', 'D', 'T', 'd', 't', 'ä', 'ö', '、', 'エ', 'ト', 'ヤ', '¢', '´' },
new[] /* 0x_5 */ { '↑', 'Δ', '%', '5', 'E', 'U', 'e', 'u', 'à', 'ò', '・', 'オ', 'ナ', 'ユ', '£', '½' },
new[] /* 0x_6 */ { '↓', 'Θ', '&', '6', 'F', 'V', 'f', 'v', 'ȧ', 'û', 'ヲ', 'カ', 'ニ', 'ヨ', '¥', '¼' },
new[] /* 0x_7 */ { '→', 'Λ', '\'', '7', 'G', 'W', 'g', 'w', 'ç', 'ù', 'ァ', 'キ', 'ヌ', 'ラ', /*!*/'㌮', '×' },
new[] /* 0x_8 */ { '←', 'Ξ', '(', '8', 'H', 'X', 'h', 'x', 'ê', 'ÿ', 'ィ', 'ク', 'ネ', 'リ', 'ƒ', '÷' },
new[] /* 0x_9 */ { '┌', 'Π', ')', '9', 'I', 'Y', 'i', 'y', 'ë', 'Ö', 'ゥ', 'ケ', 'ノ', 'ル', c_unmap, '≥' },
new[] /* 0x_A */ { '┐', 'Σ', '*', ':', 'J', 'Z', 'j', 'z', 'è', 'Ü', 'ェ', 'コ', 'ハ', 'レ', 'Ã', '≤' },
new[] /* 0x_B */ { '└', 'Υ', '+', ';', 'K', '[', 'k', '{', 'ï', 'ñ', 'ォ', 'サ', 'ヒ', 'ロ', 'ã', '≪' },
new[] /* 0x_C */ { '┘', 'Φ', ',', '<', 'L', '\\', 'l', '|', 'î', 'Ñ', 'ャ', 'シ', 'フ', 'ワ', 'Õ', '≫' },
new[] /* 0x_D */ { '・', 'Ψ', '-', '=', 'M', ']', 'm', '}', 'ì', c_unmap, 'ュ', 'ス', 'ヘ', 'ン', 'õ', '≠' },
new[] /* 0x_E */ { '®', 'Ω', '.', '>', 'N', '^', 'n', '→', 'Ä', c_unmap, 'ョ', 'セ', 'ホ', '゙', 'Ø', '√' },
new[] /* 0x_F */ { '©', 'α', '/', '?', 'O', '_', 'o', '←', 'Â', '¿', 'ッ', 'ソ', 'マ', '゚', 'ø', '‾' },
/* 0x0_ 0x1_ 0x2_ 0x3_ 0x4_ 0x5_ 0x6_ 0x7_ 0x8_ 0x9_ 0xA_ 0xB_ 0xC_ 0xD_ 0xE_ 0xF_ */
}
);

@smdn smdn added the enhancement New feature or request label Jun 13, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant