UNPKG

@uttori/data-tools

Version:
2,833 lines (2,831 loc) 792 kB
import DataBuffer from '../data-buffer.js'; /** * @typedef UttoriCharacterEncoding * @type {object} * @property {number} shiftjs Shift-JIS code as an integer. * @property {number} unicode Unicode value as an integer. * @property {string} string Unicode string representation. * @property {string} ascii ASCII string representation. * @property {string} name Unicode Name */ /** * Shift JIS (Shift Japanese Industrial Standards, also SJIS, MIME name Shift_JIS, known as PCK in Solaris contexts) is a character encoding for the Japanese language, originally developed by a Japanese company called ASCII Corporation in conjunction with Microsoft and standardized as JIS X 0208 Appendix 1. * Shift-JIS is also called MS Kanji, or DOS Kanji, and is a Microsoft standard (codepage 932). * Shift-JIS is an 8-bit encoding with 1 to 2 bytes per character. * @see {@link https://en.wikipedia.org/wiki/Shift_JIS|Shift-JIS} * @type {Record<number, UttoriCharacterEncoding>} */ export const characterEncoding = { 32: { shiftjs: 32, unicode: 32, string: ' ', ascii: ' ', name: 'SPACE', }, 33: { shiftjs: 33, unicode: 33, string: '!', ascii: '!', name: 'EXCLAMATION MARK', }, 34: { shiftjs: 34, unicode: 34, string: '"', ascii: '"', name: 'QUOTATION MARK', }, 35: { shiftjs: 35, unicode: 35, string: '#', ascii: '#', name: 'NUMBER SIGN', }, 36: { shiftjs: 36, unicode: 36, string: '$', ascii: '$', name: 'DOLLAR SIGN', }, 37: { shiftjs: 37, unicode: 37, string: '%', ascii: '%', name: 'PERCENT SIGN', }, 38: { shiftjs: 38, unicode: 38, string: '&', ascii: '&', name: 'AMPERSAND', }, 39: { shiftjs: 39, unicode: 39, string: "'", ascii: "'", name: 'APOSTROPHE', }, 40: { shiftjs: 40, unicode: 40, string: '(', ascii: '(', name: 'LEFT PARENTHESIS', }, 41: { shiftjs: 41, unicode: 41, string: ')', ascii: ')', name: 'RIGHT PARENTHESIS', }, 42: { shiftjs: 42, unicode: 42, string: '*', ascii: '*', name: 'ASTERISK', }, 43: { shiftjs: 43, unicode: 43, string: '+', ascii: '+', name: 'PLUS SIGN', }, 44: { shiftjs: 44, unicode: 44, string: ',', ascii: ',', name: 'COMMA', }, 45: { shiftjs: 45, unicode: 45, string: '-', ascii: '-', name: 'HYPHEN-MINUS', }, 46: { shiftjs: 46, unicode: 46, string: '.', ascii: '.', name: 'FULL STOP', }, 47: { shiftjs: 47, unicode: 47, string: '/', ascii: '/', name: 'SOLIDUS', }, 48: { shiftjs: 48, unicode: 48, string: '0', ascii: '0', name: 'DIGIT ZERO', }, 49: { shiftjs: 49, unicode: 49, string: '1', ascii: '1', name: 'DIGIT ONE', }, 50: { shiftjs: 50, unicode: 50, string: '2', ascii: '2', name: 'DIGIT TWO', }, 51: { shiftjs: 51, unicode: 51, string: '3', ascii: '3', name: 'DIGIT THREE', }, 52: { shiftjs: 52, unicode: 52, string: '4', ascii: '4', name: 'DIGIT FOUR', }, 53: { shiftjs: 53, unicode: 53, string: '5', ascii: '5', name: 'DIGIT FIVE', }, 54: { shiftjs: 54, unicode: 54, string: '6', ascii: '6', name: 'DIGIT SIX', }, 55: { shiftjs: 55, unicode: 55, string: '7', ascii: '7', name: 'DIGIT SEVEN', }, 56: { shiftjs: 56, unicode: 56, string: '8', ascii: '8', name: 'DIGIT EIGHT', }, 57: { shiftjs: 57, unicode: 57, string: '9', ascii: '9', name: 'DIGIT NINE', }, 58: { shiftjs: 58, unicode: 58, string: ':', ascii: ':', name: 'COLON', }, 59: { shiftjs: 59, unicode: 59, string: ';', ascii: ';', name: 'SEMICOLON', }, 60: { shiftjs: 60, unicode: 60, string: '<', ascii: '<', name: 'LESS-THAN SIGN', }, 61: { shiftjs: 61, unicode: 61, string: '=', ascii: '=', name: 'EQUALS SIGN', }, 62: { shiftjs: 62, unicode: 62, string: '>', ascii: '>', name: 'GREATER-THAN SIGN', }, 63: { shiftjs: 63, unicode: 63, string: '?', ascii: '?', name: 'QUESTION MARK', }, 64: { shiftjs: 64, unicode: 64, string: '@', ascii: '@', name: 'COMMERCIAL AT', }, 65: { shiftjs: 65, unicode: 65, string: 'A', ascii: 'A', name: 'LATIN CAPITAL LETTER A', }, 66: { shiftjs: 66, unicode: 66, string: 'B', ascii: 'B', name: 'LATIN CAPITAL LETTER B', }, 67: { shiftjs: 67, unicode: 67, string: 'C', ascii: 'C', name: 'LATIN CAPITAL LETTER C', }, 68: { shiftjs: 68, unicode: 68, string: 'D', ascii: 'D', name: 'LATIN CAPITAL LETTER D', }, 69: { shiftjs: 69, unicode: 69, string: 'E', ascii: 'E', name: 'LATIN CAPITAL LETTER E', }, 70: { shiftjs: 70, unicode: 70, string: 'F', ascii: 'F', name: 'LATIN CAPITAL LETTER F', }, 71: { shiftjs: 71, unicode: 71, string: 'G', ascii: 'G', name: 'LATIN CAPITAL LETTER G', }, 72: { shiftjs: 72, unicode: 72, string: 'H', ascii: 'H', name: 'LATIN CAPITAL LETTER H', }, 73: { shiftjs: 73, unicode: 73, string: 'I', ascii: 'I', name: 'LATIN CAPITAL LETTER I', }, 74: { shiftjs: 74, unicode: 74, string: 'J', ascii: 'J', name: 'LATIN CAPITAL LETTER J', }, 75: { shiftjs: 75, unicode: 75, string: 'K', ascii: 'K', name: 'LATIN CAPITAL LETTER K', }, 76: { shiftjs: 76, unicode: 76, string: 'L', ascii: 'L', name: 'LATIN CAPITAL LETTER L', }, 77: { shiftjs: 77, unicode: 77, string: 'M', ascii: 'M', name: 'LATIN CAPITAL LETTER M', }, 78: { shiftjs: 78, unicode: 78, string: 'N', ascii: 'N', name: 'LATIN CAPITAL LETTER N', }, 79: { shiftjs: 79, unicode: 79, string: 'O', ascii: 'O', name: 'LATIN CAPITAL LETTER O', }, 80: { shiftjs: 80, unicode: 80, string: 'P', ascii: 'P', name: 'LATIN CAPITAL LETTER P', }, 81: { shiftjs: 81, unicode: 81, string: 'Q', ascii: 'Q', name: 'LATIN CAPITAL LETTER Q', }, 82: { shiftjs: 82, unicode: 82, string: 'R', ascii: 'R', name: 'LATIN CAPITAL LETTER R', }, 83: { shiftjs: 83, unicode: 83, string: 'S', ascii: 'S', name: 'LATIN CAPITAL LETTER S', }, 84: { shiftjs: 84, unicode: 84, string: 'T', ascii: 'T', name: 'LATIN CAPITAL LETTER T', }, 85: { shiftjs: 85, unicode: 85, string: 'U', ascii: 'U', name: 'LATIN CAPITAL LETTER U', }, 86: { shiftjs: 86, unicode: 86, string: 'V', ascii: 'V', name: 'LATIN CAPITAL LETTER V', }, 87: { shiftjs: 87, unicode: 87, string: 'W', ascii: 'W', name: 'LATIN CAPITAL LETTER W', }, 88: { shiftjs: 88, unicode: 88, string: 'X', ascii: 'X', name: 'LATIN CAPITAL LETTER X', }, 89: { shiftjs: 89, unicode: 89, string: 'Y', ascii: 'Y', name: 'LATIN CAPITAL LETTER Y', }, 90: { shiftjs: 90, unicode: 90, string: 'Z', ascii: 'Z', name: 'LATIN CAPITAL LETTER Z', }, 91: { shiftjs: 91, unicode: 91, string: '[', ascii: '[', name: 'LEFT SQUARE BRACKET', }, 92: { shiftjs: 92, unicode: 165, string: '¥', ascii: '\\', name: 'YEN SIGN', }, 93: { shiftjs: 93, unicode: 93, string: ']', ascii: ']', name: 'RIGHT SQUARE BRACKET', }, 94: { shiftjs: 94, unicode: 94, string: '^', ascii: '^', name: 'CIRCUMFLEX ACCENT', }, 95: { shiftjs: 95, unicode: 95, string: '_', ascii: '_', name: 'LOW LINE', }, 96: { shiftjs: 96, unicode: 96, string: '`', ascii: '`', name: 'GRAVE ACCENT', }, 97: { shiftjs: 97, unicode: 97, string: 'a', ascii: 'a', name: 'LATIN SMALL LETTER A', }, 98: { shiftjs: 98, unicode: 98, string: 'b', ascii: 'b', name: 'LATIN SMALL LETTER B', }, 99: { shiftjs: 99, unicode: 99, string: 'c', ascii: 'c', name: 'LATIN SMALL LETTER C', }, 100: { shiftjs: 100, unicode: 100, string: 'd', ascii: 'd', name: 'LATIN SMALL LETTER D', }, 101: { shiftjs: 101, unicode: 101, string: 'e', ascii: 'e', name: 'LATIN SMALL LETTER E', }, 102: { shiftjs: 102, unicode: 102, string: 'f', ascii: 'f', name: 'LATIN SMALL LETTER F', }, 103: { shiftjs: 103, unicode: 103, string: 'g', ascii: 'g', name: 'LATIN SMALL LETTER G', }, 104: { shiftjs: 104, unicode: 104, string: 'h', ascii: 'h', name: 'LATIN SMALL LETTER H', }, 105: { shiftjs: 105, unicode: 105, string: 'i', ascii: 'i', name: 'LATIN SMALL LETTER I', }, 106: { shiftjs: 106, unicode: 106, string: 'j', ascii: 'j', name: 'LATIN SMALL LETTER J', }, 107: { shiftjs: 107, unicode: 107, string: 'k', ascii: 'k', name: 'LATIN SMALL LETTER K', }, 108: { shiftjs: 108, unicode: 108, string: 'l', ascii: 'l', name: 'LATIN SMALL LETTER L', }, 109: { shiftjs: 109, unicode: 109, string: 'm', ascii: 'm', name: 'LATIN SMALL LETTER M', }, 110: { shiftjs: 110, unicode: 110, string: 'n', ascii: 'n', name: 'LATIN SMALL LETTER N', }, 111: { shiftjs: 111, unicode: 111, string: 'o', ascii: 'o', name: 'LATIN SMALL LETTER O', }, 112: { shiftjs: 112, unicode: 112, string: 'p', ascii: 'p', name: 'LATIN SMALL LETTER P', }, 113: { shiftjs: 113, unicode: 113, string: 'q', ascii: 'q', name: 'LATIN SMALL LETTER Q', }, 114: { shiftjs: 114, unicode: 114, string: 'r', ascii: 'r', name: 'LATIN SMALL LETTER R', }, 115: { shiftjs: 115, unicode: 115, string: 's', ascii: 's', name: 'LATIN SMALL LETTER S', }, 116: { shiftjs: 116, unicode: 116, string: 't', ascii: 't', name: 'LATIN SMALL LETTER T', }, 117: { shiftjs: 117, unicode: 117, string: 'u', ascii: 'u', name: 'LATIN SMALL LETTER U', }, 118: { shiftjs: 118, unicode: 118, string: 'v', ascii: 'v', name: 'LATIN SMALL LETTER V', }, 119: { shiftjs: 119, unicode: 119, string: 'w', ascii: 'w', name: 'LATIN SMALL LETTER W', }, 120: { shiftjs: 120, unicode: 120, string: 'x', ascii: 'x', name: 'LATIN SMALL LETTER X', }, 121: { shiftjs: 121, unicode: 121, string: 'y', ascii: 'y', name: 'LATIN SMALL LETTER Y', }, 122: { shiftjs: 122, unicode: 122, string: 'z', ascii: 'z', name: 'LATIN SMALL LETTER Z', }, 123: { shiftjs: 123, unicode: 123, string: '{', ascii: '{', name: 'LEFT CURLY BRACKET', }, 124: { shiftjs: 124, unicode: 124, string: '|', ascii: '|', name: 'VERTICAL LINE', }, 125: { shiftjs: 125, unicode: 125, string: '}', ascii: '}', name: 'RIGHT CURLY BRACKET', }, 126: { shiftjs: 126, unicode: 8254, string: '‾', ascii: '~', name: 'OVERLINE', }, 161: { shiftjs: 161, unicode: 65377, string: '。', ascii: '¡', name: 'HALFWIDTH IDEOGRAPHIC FULL STOP', }, 162: { shiftjs: 162, unicode: 65378, string: '「', ascii: '¢', name: 'HALFWIDTH LEFT CORNER BRACKET', }, 163: { shiftjs: 163, unicode: 65379, string: '」', ascii: '£', name: 'HALFWIDTH RIGHT CORNER BRACKET', }, 164: { shiftjs: 164, unicode: 65380, string: '、', ascii: '¤', name: 'HALFWIDTH IDEOGRAPHIC COMMA', }, 165: { shiftjs: 165, unicode: 65381, string: '・', ascii: '¥', name: 'HALFWIDTH KATAKANA MIDDLE DOT', }, 166: { shiftjs: 166, unicode: 65382, string: 'ヲ', ascii: '¦', name: 'HALFWIDTH KATAKANA LETTER WO', }, 167: { shiftjs: 167, unicode: 65383, string: 'ァ', ascii: '§', name: 'HALFWIDTH KATAKANA LETTER SMALL A', }, 168: { shiftjs: 168, unicode: 65384, string: 'ィ', ascii: '¨', name: 'HALFWIDTH KATAKANA LETTER SMALL I', }, 169: { shiftjs: 169, unicode: 65385, string: 'ゥ', ascii: '©', name: 'HALFWIDTH KATAKANA LETTER SMALL U', }, 170: { shiftjs: 170, unicode: 65386, string: 'ェ', ascii: 'ª', name: 'HALFWIDTH KATAKANA LETTER SMALL E', }, 171: { shiftjs: 171, unicode: 65387, string: 'ォ', ascii: '«', name: 'HALFWIDTH KATAKANA LETTER SMALL O', }, 172: { shiftjs: 172, unicode: 65388, string: 'ャ', ascii: '¬', name: 'HALFWIDTH KATAKANA LETTER SMALL YA', }, 173: { shiftjs: 173, unicode: 65389, string: 'ュ', ascii: '­', name: 'HALFWIDTH KATAKANA LETTER SMALL YU', }, 174: { shiftjs: 174, unicode: 65390, string: 'ョ', ascii: '®', name: 'HALFWIDTH KATAKANA LETTER SMALL YO', }, 175: { shiftjs: 175, unicode: 65391, string: 'ッ', ascii: '¯', name: 'HALFWIDTH KATAKANA LETTER SMALL TU', }, 176: { shiftjs: 176, unicode: 65392, string: 'ー', ascii: '°', name: 'HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK', }, 177: { shiftjs: 177, unicode: 65393, string: 'ア', ascii: '±', name: 'HALFWIDTH KATAKANA LETTER A', }, 178: { shiftjs: 178, unicode: 65394, string: 'イ', ascii: '²', name: 'HALFWIDTH KATAKANA LETTER I', }, 179: { shiftjs: 179, unicode: 65395, string: 'ウ', ascii: '³', name: 'HALFWIDTH KATAKANA LETTER U', }, 180: { shiftjs: 180, unicode: 65396, string: 'エ', ascii: '´', name: 'HALFWIDTH KATAKANA LETTER E', }, 181: { shiftjs: 181, unicode: 65397, string: 'オ', ascii: 'µ', name: 'HALFWIDTH KATAKANA LETTER O', }, 182: { shiftjs: 182, unicode: 65398, string: 'カ', ascii: '¶', name: 'HALFWIDTH KATAKANA LETTER KA', }, 183: { shiftjs: 183, unicode: 65399, string: 'キ', ascii: '·', name: 'HALFWIDTH KATAKANA LETTER KI', }, 184: { shiftjs: 184, unicode: 65400, string: 'ク', ascii: '¸', name: 'HALFWIDTH KATAKANA LETTER KU', }, 185: { shiftjs: 185, unicode: 65401, string: 'ケ', ascii: '¹', name: 'HALFWIDTH KATAKANA LETTER KE', }, 186: { shiftjs: 186, unicode: 65402, string: 'コ', ascii: 'º', name: 'HALFWIDTH KATAKANA LETTER KO', }, 187: { shiftjs: 187, unicode: 65403, string: 'サ', ascii: '»', name: 'HALFWIDTH KATAKANA LETTER SA', }, 188: { shiftjs: 188, unicode: 65404, string: 'シ', ascii: '¼', name: 'HALFWIDTH KATAKANA LETTER SI', }, 189: { shiftjs: 189, unicode: 65405, string: 'ス', ascii: '½', name: 'HALFWIDTH KATAKANA LETTER SU', }, 190: { shiftjs: 190, unicode: 65406, string: 'セ', ascii: '¾', name: 'HALFWIDTH KATAKANA LETTER SE', }, 191: { shiftjs: 191, unicode: 65407, string: 'ソ', ascii: '¿', name: 'HALFWIDTH KATAKANA LETTER SO', }, 192: { shiftjs: 192, unicode: 65408, string: 'タ', ascii: 'À', name: 'HALFWIDTH KATAKANA LETTER TA', }, 193: { shiftjs: 193, unicode: 65409, string: 'チ', ascii: 'Á', name: 'HALFWIDTH KATAKANA LETTER TI', }, 194: { shiftjs: 194, unicode: 65410, string: 'ツ', ascii: 'Â', name: 'HALFWIDTH KATAKANA LETTER TU', }, 195: { shiftjs: 195, unicode: 65411, string: 'テ', ascii: 'Ã', name: 'HALFWIDTH KATAKANA LETTER TE', }, 196: { shiftjs: 196, unicode: 65412, string: 'ト', ascii: 'Ä', name: 'HALFWIDTH KATAKANA LETTER TO', }, 197: { shiftjs: 197, unicode: 65413, string: 'ナ', ascii: 'Å', name: 'HALFWIDTH KATAKANA LETTER NA', }, 198: { shiftjs: 198, unicode: 65414, string: 'ニ', ascii: 'Æ', name: 'HALFWIDTH KATAKANA LETTER NI', }, 199: { shiftjs: 199, unicode: 65415, string: 'ヌ', ascii: 'Ç', name: 'HALFWIDTH KATAKANA LETTER NU', }, 200: { shiftjs: 200, unicode: 65416, string: 'ネ', ascii: 'È', name: 'HALFWIDTH KATAKANA LETTER NE', }, 201: { shiftjs: 201, unicode: 65417, string: 'ノ', ascii: 'É', name: 'HALFWIDTH KATAKANA LETTER NO', }, 202: { shiftjs: 202, unicode: 65418, string: 'ハ', ascii: 'Ê', name: 'HALFWIDTH KATAKANA LETTER HA', }, 203: { shiftjs: 203, unicode: 65419, string: 'ヒ', ascii: 'Ë', name: 'HALFWIDTH KATAKANA LETTER HI', }, 204: { shiftjs: 204, unicode: 65420, string: 'フ', ascii: 'Ì', name: 'HALFWIDTH KATAKANA LETTER HU', }, 205: { shiftjs: 205, unicode: 65421, string: 'ヘ', ascii: 'Í', name: 'HALFWIDTH KATAKANA LETTER HE', }, 206: { shiftjs: 206, unicode: 65422, string: 'ホ', ascii: 'Î', name: 'HALFWIDTH KATAKANA LETTER HO', }, 207: { shiftjs: 207, unicode: 65423, string: 'マ', ascii: 'Ï', name: 'HALFWIDTH KATAKANA LETTER MA', }, 208: { shiftjs: 208, unicode: 65424, string: 'ミ', ascii: 'Ð', name: 'HALFWIDTH KATAKANA LETTER MI', }, 209: { shiftjs: 209, unicode: 65425, string: 'ム', ascii: 'Ñ', name: 'HALFWIDTH KATAKANA LETTER MU', }, 210: { shiftjs: 210, unicode: 65426, string: 'メ', ascii: 'Ò', name: 'HALFWIDTH KATAKANA LETTER ME', }, 211: { shiftjs: 211, unicode: 65427, string: 'モ', ascii: 'Ó', name: 'HALFWIDTH KATAKANA LETTER MO', }, 212: { shiftjs: 212, unicode: 65428, string: 'ヤ', ascii: 'Ô', name: 'HALFWIDTH KATAKANA LETTER YA', }, 213: { shiftjs: 213, unicode: 65429, string: 'ユ', ascii: 'Õ', name: 'HALFWIDTH KATAKANA LETTER YU', }, 214: { shiftjs: 214, unicode: 65430, string: 'ヨ', ascii: 'Ö', name: 'HALFWIDTH KATAKANA LETTER YO', }, 215: { shiftjs: 215, unicode: 65431, string: 'ラ', ascii: '×', name: 'HALFWIDTH KATAKANA LETTER RA', }, 216: { shiftjs: 216, unicode: 65432, string: 'リ', ascii: 'Ø', name: 'HALFWIDTH KATAKANA LETTER RI', }, 217: { shiftjs: 217, unicode: 65433, string: 'ル', ascii: 'Ù', name: 'HALFWIDTH KATAKANA LETTER RU', }, 218: { shiftjs: 218, unicode: 65434, string: 'レ', ascii: 'Ú', name: 'HALFWIDTH KATAKANA LETTER RE', }, 219: { shiftjs: 219, unicode: 65435, string: 'ロ', ascii: 'Û', name: 'HALFWIDTH KATAKANA LETTER RO', }, 220: { shiftjs: 220, unicode: 65436, string: 'ワ', ascii: 'Ü', name: 'HALFWIDTH KATAKANA LETTER WA', }, 221: { shiftjs: 221, unicode: 65437, string: 'ン', ascii: 'Ý', name: 'HALFWIDTH KATAKANA LETTER N', }, 222: { shiftjs: 222, unicode: 65438, string: '゙', ascii: 'Þ', name: 'HALFWIDTH KATAKANA VOICED SOUND MARK', }, 223: { shiftjs: 223, unicode: 65439, string: '゚', ascii: 'ß', name: 'HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK', }, 33088: { shiftjs: 33088, unicode: 12288, string: ' ', ascii: '@', name: 'IDEOGRAPHIC SPACE', }, 33089: { shiftjs: 33089, unicode: 12289, string: '、', ascii: 'A', name: 'IDEOGRAPHIC COMMA', }, 33090: { shiftjs: 33090, unicode: 12290, string: '。', ascii: 'B', name: 'IDEOGRAPHIC FULL STOP', }, 33091: { shiftjs: 33091, unicode: 65292, string: ',', ascii: 'C', name: 'FULLWIDTH COMMA', }, 33092: { shiftjs: 33092, unicode: 65294, string: '.', ascii: 'D', name: 'FULLWIDTH FULL STOP', }, 33093: { shiftjs: 33093, unicode: 12539, string: '・', ascii: 'E', name: 'KATAKANA MIDDLE DOT', }, 33094: { shiftjs: 33094, unicode: 65306, string: ':', ascii: 'F', name: 'FULLWIDTH COLON', }, 33095: { shiftjs: 33095, unicode: 65307, string: ';', ascii: 'G', name: 'FULLWIDTH SEMICOLON', }, 33096: { shiftjs: 33096, unicode: 65311, string: '?', ascii: 'H', name: 'FULLWIDTH QUESTION MARK', }, 33097: { shiftjs: 33097, unicode: 65281, string: '!', ascii: 'I', name: 'FULLWIDTH EXCLAMATION MARK', }, 33098: { shiftjs: 33098, unicode: 12443, string: '゛', ascii: 'J', name: 'KATAKANA-HIRAGANA VOICED SOUND MARK', }, 33099: { shiftjs: 33099, unicode: 12444, string: '゜', ascii: 'K', name: 'KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK', }, 33100: { shiftjs: 33100, unicode: 180, string: '´', ascii: 'L', name: 'ACUTE ACCENT', }, 33101: { shiftjs: 33101, unicode: 65344, string: '`', ascii: 'M', name: 'FULLWIDTH GRAVE ACCENT', }, 33102: { shiftjs: 33102, unicode: 168, string: '¨', ascii: 'N', name: 'DIAERESIS', }, 33103: { shiftjs: 33103, unicode: 65342, string: '^', ascii: 'O', name: 'FULLWIDTH CIRCUMFLEX ACCENT', }, 33104: { shiftjs: 33104, unicode: 65507, string: ' ̄', ascii: 'P', name: 'FULLWIDTH MACRON', }, 33105: { shiftjs: 33105, unicode: 65343, string: '_', ascii: 'Q', name: 'FULLWIDTH LOW LINE', }, 33106: { shiftjs: 33106, unicode: 12541, string: 'ヽ', ascii: 'R', name: 'KATAKANA ITERATION MARK', }, 33107: { shiftjs: 33107, unicode: 12542, string: 'ヾ', ascii: 'S', name: 'KATAKANA VOICED ITERATION MARK', }, 33108: { shiftjs: 33108, unicode: 12445, string: 'ゝ', ascii: 'T', name: 'HIRAGANA ITERATION MARK', }, 33109: { shiftjs: 33109, unicode: 12446, string: 'ゞ', ascii: 'U', name: 'HIRAGANA VOICED ITERATION MARK', }, 33110: { shiftjs: 33110, unicode: 12291, string: '〃', ascii: 'V', name: 'DITTO MARK', }, 33111: { shiftjs: 33111, unicode: 20189, string: '仝', ascii: 'W', name: 'CJK', }, 33112: { shiftjs: 33112, unicode: 12293, string: '々', ascii: 'X', name: 'IDEOGRAPHIC ITERATION MARK', }, 33113: { shiftjs: 33113, unicode: 12294, string: '〆', ascii: 'Y', name: 'IDEOGRAPHIC CLOSING MARK', }, 33114: { shiftjs: 33114, unicode: 12295, string: '〇', ascii: 'Z', name: 'IDEOGRAPHIC NUMBER ZERO', }, 33115: { shiftjs: 33115, unicode: 12540, string: 'ー', ascii: '[', name: 'KATAKANA-HIRAGANA PROLONGED SOUND MARK', }, 33116: { shiftjs: 33116, unicode: 8213, string: '―', ascii: '\\', name: 'HORIZONTAL BAR', }, 33117: { shiftjs: 33117, unicode: 8208, string: '‐', ascii: ']', name: 'HYPHEN', }, 33118: { shiftjs: 33118, unicode: 65295, string: '/', ascii: '^', name: 'FULLWIDTH SOLIDUS', }, 33119: { shiftjs: 33119, unicode: 92, string: '\\', ascii: '_', name: 'REVERSE SOLIDUS', }, 33120: { shiftjs: 33120, unicode: 12316, string: '〜', ascii: '`', name: 'WAVE DASH', }, 33121: { shiftjs: 33121, unicode: 8214, string: '‖', ascii: 'a', name: 'DOUBLE VERTICAL LINE', }, 33122: { shiftjs: 33122, unicode: 65372, string: '|', ascii: 'b', name: 'FULLWIDTH VERTICAL LINE', }, 33123: { shiftjs: 33123, unicode: 8230, string: '…', ascii: 'c', name: 'HORIZONTAL ELLIPSIS', }, 33124: { shiftjs: 33124, unicode: 8229, string: '‥', ascii: 'd', name: 'TWO DOT LEADER', }, 33125: { shiftjs: 33125, unicode: 8216, string: '‘', ascii: 'e', name: 'LEFT SINGLE QUOTATION MARK', }, 33126: { shiftjs: 33126, unicode: 8217, string: '’', ascii: 'f', name: 'RIGHT SINGLE QUOTATION MARK', }, 33127: { shiftjs: 33127, unicode: 8220, string: '“', ascii: 'g', name: 'LEFT DOUBLE QUOTATION MARK', }, 33128: { shiftjs: 33128, unicode: 8221, string: '”', ascii: 'h', name: 'RIGHT DOUBLE QUOTATION MARK', }, 33129: { shiftjs: 33129, unicode: 65288, string: '(', ascii: 'i', name: 'FULLWIDTH LEFT PARENTHESIS', }, 33130: { shiftjs: 33130, unicode: 65289, string: ')', ascii: 'j', name: 'FULLWIDTH RIGHT PARENTHESIS', }, 33131: { shiftjs: 33131, unicode: 12308, string: '〔', ascii: 'k', name: 'LEFT TORTOISE SHELL BRACKET', }, 33132: { shiftjs: 33132, unicode: 12309, string: '〕', ascii: 'l', name: 'RIGHT TORTOISE SHELL BRACKET', }, 33133: { shiftjs: 33133, unicode: 65339, string: '[', ascii: 'm', name: 'FULLWIDTH LEFT SQUARE BRACKET', }, 33134: { shiftjs: 33134, unicode: 65341, string: ']', ascii: 'n', name: 'FULLWIDTH RIGHT SQUARE BRACKET', }, 33135: { shiftjs: 33135, unicode: 65371, string: '{', ascii: 'o', name: 'FULLWIDTH LEFT CURLY BRACKET', }, 33136: { shiftjs: 33136, unicode: 65373, string: '}', ascii: 'p', name: 'FULLWIDTH RIGHT CURLY BRACKET', }, 33137: { shiftjs: 33137, unicode: 12296, string: '〈', ascii: 'q', name: 'LEFT ANGLE BRACKET', }, 33138: { shiftjs: 33138, unicode: 12297, string: '〉', ascii: 'r', name: 'RIGHT ANGLE BRACKET', }, 33139: { shiftjs: 33139, unicode: 12298, string: '《', ascii: 's', name: 'LEFT DOUBLE ANGLE BRACKET', }, 33140: { shiftjs: 33140, unicode: 12299, string: '》', ascii: 't', name: 'RIGHT DOUBLE ANGLE BRACKET', }, 33141: { shiftjs: 33141, unicode: 12300, string: '「', ascii: 'u', name: 'LEFT CORNER BRACKET', }, 33142: { shiftjs: 33142, unicode: 12301, string: '」', ascii: 'v', name: 'RIGHT CORNER BRACKET', }, 33143: { shiftjs: 33143, unicode: 12302, string: '『', ascii: 'w', name: 'LEFT WHITE CORNER BRACKET', }, 33144: { shiftjs: 33144, unicode: 12303, string: '』', ascii: 'x', name: 'RIGHT WHITE CORNER BRACKET', }, 33145: { shiftjs: 33145, unicode: 12304, string: '【', ascii: 'y', name: 'LEFT BLACK LENTICULAR BRACKET', }, 33146: { shiftjs: 33146, unicode: 12305, string: '】', ascii: 'z', name: 'RIGHT BLACK LENTICULAR BRACKET', }, 33147: { shiftjs: 33147, unicode: 65291, string: '+', ascii: '{', name: 'FULLWIDTH PLUS SIGN', }, 33148: { shiftjs: 33148, unicode: 8722, string: '−', ascii: '|', name: 'MINUS SIGN', }, 33149: { shiftjs: 33149, unicode: 177, string: '±', ascii: '}', name: 'PLUS-MINUS SIGN', }, 33150: { shiftjs: 33150, unicode: 215, string: '×', ascii: '~', name: 'MULTIPLICATION SIGN', }, 33152: { shiftjs: 33152, unicode: 247, string: '÷', ascii: '€', name: 'DIVISION SIGN', }, 33153: { shiftjs: 33153, unicode: 65309, string: '=', ascii: '', name: 'FULLWIDTH EQUALS SIGN', }, 33154: { shiftjs: 33154, unicode: 8800, string: '≠', ascii: '‚', name: 'NOT EQUAL TO', }, 33155: { shiftjs: 33155, unicode: 65308, string: '<', ascii: 'ƒ', name: 'FULLWIDTH LESS-THAN SIGN', }, 33156: { shiftjs: 33156, unicode: 65310, string: '>', ascii: '„', name: 'FULLWIDTH GREATER-THAN SIGN', }, 33157: { shiftjs: 33157, unicode: 8806, string: '≦', ascii: '…', name: 'LESS-THAN OVER EQUAL TO', }, 33158: { shiftjs: 33158, unicode: 8807, string: '≧', ascii: '†', name: 'GREATER-THAN OVER EQUAL TO', }, 33159: { shiftjs: 33159, unicode: 8734, string: '∞', ascii: '‡', name: 'INFINITY', }, 33160: { shiftjs: 33160, unicode: 8756, string: '∴', ascii: 'ˆ', name: 'THEREFORE', }, 33161: { shiftjs: 33161, unicode: 9794, string: '♂', ascii: '‰', name: 'MALE SIGN', }, 33162: { shiftjs: 33162, unicode: 9792, string: '♀', ascii: 'Š', name: 'FEMALE SIGN', }, 33163: { shiftjs: 33163, unicode: 176, string: '°', ascii: '‹', name: 'DEGREE SIGN', }, 33164: { shiftjs: 33164, unicode: 8242, string: '′', ascii: 'Œ', name: 'PRIME', }, 33165: { shiftjs: 33165, unicode: 8243, string: '″', ascii: '', name: 'DOUBLE PRIME', }, 33166: { shiftjs: 33166, unicode: 8451, string: '℃', ascii: 'Ž', name: 'DEGREE CELSIUS', }, 33167: { shiftjs: 33167, unicode: 65509, string: '¥', ascii: '', name: 'FULLWIDTH YEN SIGN', }, 33168: { shiftjs: 33168, unicode: 65284, string: '$', ascii: '', name: 'FULLWIDTH DOLLAR SIGN', }, 33169: { shiftjs: 33169, unicode: 162, string: '¢', ascii: '‘', name: 'CENT SIGN', }, 33170: { shiftjs: 33170, unicode: 163, string: '£', ascii: '’', name: 'POUND SIGN', }, 33171: { shiftjs: 33171, unicode: 65285, string: '%', ascii: '“', name: 'FULLWIDTH PERCENT SIGN', }, 33172: { shiftjs: 33172, unicode: 65283, string: '#', ascii: '”', name: 'FULLWIDTH NUMBER SIGN', }, 33173: { shiftjs: 33173, unicode: 65286, string: '&', ascii: '•', name: 'FULLWIDTH AMPERSAND', }, 33174: { shiftjs: 33174, unicode: 65290, string: '*', ascii: '–', name: 'FULLWIDTH ASTERISK', }, 33175: { shiftjs: 33175, unicode: 65312, string: '@', ascii: '—', name: 'FULLWIDTH COMMERCIAL AT', }, 33176: { shiftjs: 33176, unicode: 167, string: '§', ascii: '˜', name: 'SECTION SIGN', }, 33177: { shiftjs: 33177, unicode: 9734, string: '☆', ascii: '™', name: 'WHITE STAR', }, 33178: { shiftjs: 33178, unicode: 9733, string: '★', ascii: 'š', name: 'BLACK STAR', }, 33179: { shiftjs: 33179, unicode: 9675, string: '○', ascii: '›', name: 'WHITE CIRCLE', }, 33180: { shiftjs: 33180, unicode: 9679, string: '●', ascii: 'œ', name: 'BLACK CIRCLE', }, 33181: { shiftjs: 33181, unicode: 9678, string: '◎', ascii: '', name: 'BULLSEYE', }, 33182: { shiftjs: 33182, unicode: 9671, string: '◇', ascii: 'ž', name: 'WHITE DIAMOND', }, 33183: { shiftjs: 33183, unicode: 9670, string: '◆', ascii: 'Ÿ', name: 'BLACK DIAMOND', }, 33184: { shiftjs: 33184, unicode: 9633, string: '□', ascii: ' ', name: 'WHITE SQUARE', }, 33185: { shiftjs: 33185, unicode: 9632, string: '■', ascii: '¡', name: 'BLACK SQUARE', }, 33186: { shiftjs: 33186, unicode: 9651, string: '△', ascii: '¢', name: 'WHITE UP-POINTING TRIANGLE', }, 33187: { shiftjs: 33187, unicode: 9650, string: '▲', ascii: '£', name: 'BLACK UP-POINTING TRIANGLE', }, 33188: { shiftjs: 33188, unicode: 9661, string: '▽', ascii: '¤', name: 'WHITE DOWN-POINTING TRIANGLE', }, 33189: { shiftjs: 33189, unicode: 9660, string: '▼', ascii: '¥', name: 'BLACK DOWN-POINTING TRIANGLE', }, 33190: { shiftjs: 33190, unicode: 8251, string: '※', ascii: '¦', name: 'REFERENCE MARK', }, 33191: { shiftjs: 33191, unicode: 12306, string: '〒', ascii: '§', name: 'POSTAL MARK', }, 33192: { shiftjs: 33192, unicode: 8594, string: '→', ascii: '¨', name: 'RIGHTWARDS ARROW', }, 33193: { shiftjs: 33193, unicode: 8592, string: '←', ascii: '©', name: 'LEFTWARDS ARROW', }, 33194: { shiftjs: 33194, unicode: 8593, string: '↑', ascii: 'ª', name: 'UPWARDS ARROW', }, 33195: { shiftjs: 33195, unicode: 8595, string: '↓', ascii: '«', name: 'DOWNWARDS ARROW', }, 33196: { shiftjs: 33196, unicode: 12307, string: '〓', ascii: '¬', name: 'GETA MARK', }, 33208: { shiftjs: 33208, unicode: 8712, string: '∈', ascii: '¸', name: 'ELEMENT OF', }, 33209: { shiftjs: 33209, unicode: 8715, string: '∋', ascii: '¹', name: 'CONTAINS AS MEMBER', }, 33210: { shiftjs: 33210, unicode: 8838, string: '⊆', ascii: 'º', name: 'SUBSET OF OR EQUAL TO', }, 33211: { shiftjs: 33211, unicode: 8839, string: '⊇', ascii: '»', name: 'SUPERSET OF OR EQUAL TO', }, 33212: { shiftjs: 33212, unicode: 8834, string: '⊂', ascii: '¼', name: 'SUBSET OF', }, 33213: { shiftjs: 33213, unicode: 8835, string: '⊃', ascii: '½', name: 'SUPERSET OF', }, 33214: { shiftjs: 33214, unicode: 8746, string: '∪', ascii: '¾', name: 'UNION', }, 33215: { shiftjs: 33215, unicode: 8745, string: '∩', ascii: '¿', name: 'INTERSECTION', }, 33224: { shiftjs: 33224, unicode: 8743, string: '∧', ascii: 'È', name: 'LOGICAL AND', }, 33225: { shiftjs: 33225, unicode: 8744, string: '∨', ascii: 'É', name: 'LOGICAL OR', }, 33226: { shiftjs: 33226, unicode: 172, string: '¬', ascii: 'Ê', name: 'NOT SIGN', }, 33227: { shiftjs: 33227, unicode: 8658, string: '⇒', ascii: 'Ë', name: 'RIGHTWARDS DOUBLE ARROW', }, 33228: { shiftjs: 33228, unicode: 8660, string: '⇔', ascii: 'Ì', name: 'LEFT RIGHT DOUBLE ARROW', }, 33229: { shiftjs: 33229, unicode: 8704, string: '∀', ascii: 'Í', name: 'FOR ALL', }, 33230: { shiftjs: 33230, unicode: 8707, string: '∃', ascii: 'Î', name: 'THERE EXISTS', }, 33242: { shiftjs: 33242, unicode: 8736, string: '∠', ascii: 'Ú', name: 'ANGLE', }, 33243: { shiftjs: 33243, unicode: 8869, string: '⊥', ascii: 'Û', name: 'UP TACK', }, 33244: { shiftjs: 33244, unicode: 8978, string: '⌒', ascii: 'Ü', name: 'ARC', }, 33245: { shiftjs: 33245, unicode: 8706, string: '∂', ascii: 'Ý', name: 'PARTIAL DIFFERENTIAL', }, 33246: { shiftjs: 33246, unicode: 8711, string: '∇', ascii: 'Þ', name: 'NABLA', }, 33247: { shiftjs: 33247, unicode: 8801, string: '≡', ascii: 'ß', name: 'IDENTICAL TO', }, 33248: { shiftjs: 33248, unicode: 8786, string: '≒', ascii: 'à', name: 'APPROXIMATELY EQUAL TO OR THE IMAGE OF', }, 33249: { shiftjs: 33249, unicode: 8810, string: '≪', ascii: 'á', name: 'MUCH LESS-THAN', }, 33250: { shiftjs: 33250, unicode: 8811, string: '≫', ascii: 'â', name: 'MUCH GREATER-THAN', }, 33251: { shiftjs: 33251, unicode: 8730, string: '√', ascii: 'ã', name: 'SQUARE ROOT', }, 33252: { shiftjs: 33252, unicode: 8765, string: '∽', ascii: 'ä', name: 'REVERSED TILDE', }, 33253: { shiftjs: 33253, unicode: 8733, string: '∝', ascii: 'å', name: 'PROPORTIONAL TO', }, 33254: { shiftjs: 33254, unicode: 8757, string: '∵', ascii: 'æ', name: 'BECAUSE', }, 33255: { shiftjs: 33255, unicode: 8747, string: '∫', ascii: 'ç', name: 'INTEGRAL', }, 33256: { shiftjs: 33256, unicode: 8748, string: '∬', ascii: 'è', name: 'DOUBLE INTEGRAL', }, 33264: { shiftjs: 33264, unicode: 8491, string: 'Å', ascii: 'ð', name: 'ANGSTROM SIGN', }, 33265: { shiftjs: 33265, unicode: 8240, string: '‰', ascii: 'ñ', name: 'PER MILLE SIGN', }, 33266: { shiftjs: 33266, unicode: 9839, string: '♯', ascii: 'ò', name: 'MUSIC SHARP SIGN', }, 33267: { shiftjs: 33267, unicode: 9837, string: '♭', ascii: 'ó', name: 'MUSIC FLAT SIGN', }, 33268: { shiftjs: 33268, unicode: 9834, string: '♪', ascii: 'ô', name: 'EIGHTH NOTE', }, 33269: { shiftjs: 33269, unicode: 8224, string: '†', ascii: 'õ', name: 'DAGGER', }, 33270: { shiftjs: 33270, unicode: 8225, string: '‡', ascii: 'ö', name: 'DOUBLE DAGGER', }, 33271: { shiftjs: 33271, unicode: 182, string: '¶', ascii: '÷', name: 'PILCROW SIGN', }, 33276: { shiftjs: 33276, unicode: 9711, string: '◯', ascii: 'ü', name: 'LARGE CIRCLE', }, 33359: { shiftjs: 33359, unicode: 65296, string: '0', ascii: '‚O', name: 'FULLWIDTH DIGIT ZERO', }, 33360: { shiftjs: 33360, unicode: 65297, string: '1', ascii: '‚P', name: 'FULLWIDTH DIGIT ONE', }, 33361: { shiftjs: 33361, unicode: 65298, string: '2', ascii: '‚Q', name: 'FULLWIDTH DIGIT TWO', }, 33362: { shiftjs: 33362, unicode: 65299, string: '3', ascii: '‚R', name: 'FULLWIDTH DIGIT THREE', }, 33363: { shiftjs: 33363, unicode: 65300, string: '4', ascii: '‚S', name: 'FULLWIDTH DIGIT FOUR', }, 33364: { shiftjs: 33364, unicode: 65301, string: '5', ascii: '‚T', name: 'FULLWIDTH DIGIT FIVE', }, 33365: { shiftjs: 33365, unicode: 65302, string: '6', ascii: '‚U', name: 'FULLWIDTH DIGIT SIX', }, 33366: { shiftjs: 33366, unicode: 65303, string: '7', ascii: '‚V', name: 'FULLWIDTH DIGIT SEVEN', }, 33367: { shiftjs: 33367, unicode: 65304, string: '8', ascii: '‚W', name: 'FULLWIDTH DIGIT EIGHT', }, 33368: { shiftjs: 33368, unicode: 65305, string: '9', ascii: '‚X', name: 'FULLWIDTH DIGIT NINE', }, 33376: { shiftjs: 33376, unicode: 65313, string: 'A', ascii: '‚`', name: 'FULLWIDTH LATIN CAPITAL LETTER A', }, 33377: { shiftjs: 33377, unicode: 65314, string: 'B', ascii: '‚a', name: 'FULLWIDTH LATIN CAPITAL LETTER B', }, 33378: { shiftjs: 33378, unicode: 65315, string: 'C', ascii: '‚b', name: 'FULLWIDTH LATIN CAPITAL LETTER C', }, 33379: { shiftjs: 33379, unicode: 65316, string: 'D', ascii: '‚c', name: 'FULLWIDTH LATIN CAPITAL LETTER D', }, 33380: { shiftjs: 33380, unicode: 65317, string: 'E', ascii: '‚d', name: 'FULLWIDTH LATIN CAPITAL LETTER E', }, 33381: { shiftjs: 33381, unicode: 65318, string: 'F', ascii: '‚e', name: 'FULLWIDTH LATIN CAPITAL LETTER F', }, 33382: { shiftjs: 33382, unicode: 65319, string: 'G', ascii: '‚f', name: 'FULLWIDTH LATIN CAPITAL LETTER G', }, 33383: { shiftjs: 33383, unicode: 65320, string: 'H', ascii: '‚g', name: 'FULLWIDTH LATIN CAPITAL LETTER H', }, 33384: { shiftjs: 33384, unicode: 65321, string: 'I', ascii: '‚h', name: 'FULLWIDTH LATIN CAPITAL LETTER I', }, 33385: { shiftjs: 33385, unicode: 65322, string: 'J', ascii: '‚i', name: 'FULLWIDTH LATIN CAPITAL LETTER J', }, 33386: { shiftjs: 33386, unicode: 65323, string: 'K', ascii: '‚j', name: 'FULLWIDTH LATIN CAPITAL LETTER K', }, 33387: { shiftjs: 33387, unicode: 65324, string: 'L', ascii: '‚k', name: 'FULLWIDTH LATIN CAPITAL LETTER L', }, 33388: { shiftjs: 33388, unicode: 65325, string: 'M', ascii: '‚l', name: 'FULLWIDTH LATIN CAPITAL LETTER M', }, 33389: { shiftjs: 33389, unicode: 65326, string: 'N', ascii: '‚m', name: 'FULLWIDTH LATIN CAPITAL LETTER N', }, 33390: { shiftjs: 33390, unicode: 65327, string: 'O', ascii: '‚n', name: 'FULLWIDTH LATIN CAPITAL LETTER O', }, 33391: { shiftjs: 33391, unicode: 65328, string: 'P', ascii: '‚o', name: 'FULLWIDTH LATIN CAPITAL LETTER P', }, 33392: { shiftjs: 33392, unicode: 65329, string: 'Q', ascii: '‚p', name: 'FULLWIDTH LATIN CAPITAL LETTER Q', }, 33393: { shiftjs: 33393, unicode: 65330, string: 'R', ascii: '‚q', name: 'FULLWIDTH LATIN CAPITAL LETTER R', }, 33394: { shiftjs: 33394, unicode: 65331, string: 'S', ascii: '‚r', name: 'FULLWIDTH LATIN CAPITAL LETTER S', }, 33395: { shiftjs: 33395, unicode: 65332, string: 'T', ascii: '‚s', name: 'FULLWIDTH LATIN CAPITAL LETTER T', }, 33396: { shiftjs: 33396, unicode: 65333, string: 'U', ascii: '‚t', name: 'FULLWIDTH LATIN CAPITAL LETTER U', }, 33397: { shiftjs: 33397, unicode: 65334, string: 'V', ascii: '‚u', name: 'FULLWIDTH LATIN CAPITAL LETTER V', }, 33398: { shiftjs: 33398, unicode: 65335, string: 'W', ascii: '‚v', name: 'FULLWIDTH LATIN CAPITAL LETTER W', }, 33399: { shiftjs: 33399, unicode: 65336, string: 'X', ascii: '‚w', name: 'FULLWIDTH LATIN CAPITAL LETTER X', }, 33400: { shiftjs: 33400, unicode: 65337, string: 'Y', ascii: '‚x', name: 'FULLWIDTH LATIN CAPITAL LETTER Y', }, 33401: { shiftjs: 33401, unicode: 65338, string: 'Z', ascii: '‚y', name: 'FULLWIDTH LATIN CAPITAL LETTER Z', }, 33409: { shiftjs: 33409, unicode: 65345, string: 'a', ascii: '‚', name: 'FULLWIDTH LATIN SMALL LETTER A', }, 33410: { shiftjs: 33410, unicode: 65346, string: 'b', ascii: '‚‚', name: 'FULLWIDTH LATIN SMALL LETTER B', }, 33411: { shiftjs: 33411, unicode: 65347, string: 'c', ascii: '‚ƒ', name: 'FULLWIDTH LATIN SMALL LETTER C', }, 33412: { shiftjs: 33412, unicode: 65348, string: 'd', ascii: '‚„', name: 'FULLWIDTH LATIN SMALL LETTER D', }, 33413: { shiftjs: 33413, unicode: 65349, string: 'e', ascii: '‚…', name: 'FULLWIDTH LATIN SMALL LETTER E', }, 33414: { shiftjs: 33414, unicode: 65350, string: 'f', ascii: '‚†', name: 'FULLWIDTH LATIN SMALL LETTER F', }, 33415: { shiftjs: 33415, unicode: 65351, string: 'g', ascii: '‚‡', name: 'FULLWIDTH LATIN SMALL LETTER G', }, 33416: { shiftjs: 33416, unicode: 65352, string: 'h', ascii: '‚ˆ', name: 'FULLWIDTH LATIN SMALL LETTER H', }, 33417: { shiftjs: 33417, unicode: 65353, string: 'i', ascii: '‚‰', name: 'FULLWIDTH LATIN SMALL LETTER I', }, 33418: { shiftjs: 33418, unicode: 65354, string: 'j', ascii: '‚Š', name: 'FULLWIDTH LATIN SMALL LETTER J', }, 33419: { shiftjs: 33419, unicode: 65355, string: 'k', ascii: '‚‹', name: 'FULLWIDTH LATIN SMALL LETTER K', }, 33420: { shiftjs: 33420, unicode: 65356, string: 'l', ascii: '‚Œ', name: 'FULLWIDTH LATIN SMALL LETTER L', }, 33421: { shiftjs: 33421, unicode: 65357, string: 'm', ascii: '‚', name: 'FULLWIDTH LATIN SMALL LETTER M', }, 33422: { shiftjs: 33422, unicode: 65358, string: 'n', ascii: '‚Ž', name: 'FULLWIDTH LATIN SMALL LETTER N', }, 33423: { shiftjs: 33423, unicode: 65359, string: 'o', ascii: '‚', name: 'FULLWIDTH LATIN SMALL LETTER O', }, 33424: { shiftjs: 33424, unicode: 65360, string: 'p', ascii: '‚', name: 'FULLWIDTH LATIN SMALL LETTER P', }, 33425: { shiftjs: 33425, unicode: 65361, string: 'q', ascii: '‚‘', name: 'FULLWIDTH LATIN SMALL LETTER Q', }, 33426: { shiftjs: 33426, unicode: 65362, string: 'r', ascii: '‚’', name: 'FULLWIDTH LATIN SMALL LETTER R', }, 33427: { shiftjs: 33427, unicode: 65363, string: 's', ascii: '‚“', name: 'FULLWIDTH LATIN SMALL LETTER S', }, 33428: { shiftjs: 33428, unicode: 65364, string: 't', ascii: '‚”', name: 'FULLWIDTH LATIN SMALL LETTER T', }, 33429: { shiftjs: 33429, unicode: 65365, string: 'u', ascii: '‚•', name: 'FULLWIDTH LATIN SMALL LETTER U', }, 33430: { shiftjs: 33430, unicode: 65366, string: 'v', ascii: '‚–', name: 'FULLWIDTH LATIN SMALL LETTER V', }, 33431: { shiftjs: 33431, unicode: 65367, string: 'w', ascii: '‚—', name: 'FULLWIDTH LATIN SMALL LETTER W', }, 33432: { shiftjs: 33432, unicode: 65368, string: 'x', ascii: '‚˜', name: 'FULLWIDTH LATIN SMALL LETTER X', }, 33433: { shiftjs: 33433, unicode: 65369, string: 'y', ascii: '‚™', name: 'FULLWIDTH LATIN SMALL LETTER Y', }, 33434: { shiftjs: 33434, unicode: 65370, string: 'z', ascii: '‚š', name: 'FULLWIDTH LATIN SMALL LETTER Z', }, 33439: { shiftjs: 33439, unicode: 12353, string: 'ぁ', ascii: '‚Ÿ', name: 'HIRAGANA LETTER SMALL A', }, 33440: { shiftjs: 33440, unicode: 12354, string: 'あ', ascii: '‚ ', name: 'HIRAGANA LETTER A', }, 33441: { shiftjs: 33441, unicode: 12355, string: 'ぃ', ascii: '‚¡', name: 'HIRAGANA LETTER SMALL I', }, 33442: { shiftjs: 33442, unicode: 12356, string: 'い', ascii: '‚¢', name: 'HIRAGANA LETTER I', }, 33443: { shiftjs: 33443, unicode: 12357, string: 'ぅ', ascii: '‚£', name: 'HIRAGANA LETTER SMALL U', }, 33444: { shiftjs: 33444, unicode: 12358, string: 'う', ascii: '‚¤', name: 'HIRAGANA LETTER U', }, 33445: { shiftjs: 33445, unicode: 12359, string: 'ぇ', ascii: '‚¥', name: 'HIRAGANA LETTER SMALL E', }, 33446: { shiftjs: 33446, unicode: 12360, string: 'え', ascii: '‚¦', name: 'HIRAGANA LETTER E', }, 33447: { shiftjs: 33447, unicode: 12361, string: 'ぉ', ascii: '‚§', name: 'HIRAGANA LETTER SMALL O', }, 33448: { shiftjs: 33448, unicode: 12362, string: 'お', ascii: '‚¨', name: 'HIRAGANA LETTER O', }, 33449: { shiftjs: 33449, unicode: 12363, string: 'か', ascii: '‚©', name: 'HIRAGANA LETTER KA', }, 33450: { shiftjs: 33450, unicode: 12364, string: 'が', ascii: '‚ª', name: 'HIRAGANA LETTER GA', }, 33451: { shiftjs: 33451, unicode: 12365, string: 'き', ascii: '‚«', name: 'HIRAGANA LETTER KI', }, 33452: { shiftjs: 33452, unicode: 12366, string: 'ぎ', ascii: '‚¬', name: 'HIRAGANA LETTER GI', }, 33453: { shiftjs: 33453, unicode: 12367, string: 'く', ascii: '‚­', name: 'HIRAGANA LETTER KU', }, 33454: { shiftjs: 33454, unicode: 12368, string: 'ぐ', ascii: '‚®', name: 'HIRAGANA LETTER GU', }, 33455: { shiftjs: 33455, unicode: 12369, string: 'け', ascii: '‚¯', name: 'HIRAGANA LETTER KE', }, 33456: { shiftjs: 33456, unicode: 12370, string: 'げ', ascii: '‚°', name: 'HIRAGANA LETTER GE', }, 33457: { shiftjs: 33457, unicode: 12371, string: 'こ', ascii: '‚±', name: 'HIRAGANA LETTER KO', }, 33458: { shiftjs: 33458, unicode: 12372, string: 'ご', ascii: '‚²', name: 'HIRAGANA LETTER GO', }, 33459: { shiftjs: 33459, unicode: 12373, string: 'さ', ascii: '‚³', name: 'HIRAGANA LETTER SA', }, 33460: { shiftjs: 33460, unicode: 12374, string: 'ざ', ascii: '‚´', name: 'HIRAGANA LETTER ZA', }, 33461: { shiftjs: 33461, unicode: 12375, string: 'し', ascii: '‚µ', name: 'HIRAGANA LETTER SI', }, 33462: { shiftjs: 33462, unicode: 12376, string: 'じ', ascii: '‚¶', name: 'HIRAGANA LETTER ZI', }, 33463: { shiftjs: 33463, unicode: 12377, string: 'す', ascii: '‚·', name: 'HIRAGANA LETTER SU', }, 33464: { shiftjs: 33464, unicode: 12378, string: 'ず', ascii: '‚¸', name: 'HIRAGANA LETTER ZU', }, 33465: { shiftjs: 33465, unicode: 12379, string: 'せ', ascii: '‚¹', name: 'HIRAGANA LETTER SE', }, 33466: { shiftjs: 33466, unicode: 12380, string: 'ぜ', ascii: '‚º', name: 'HIRAGANA LETTER ZE', }, 33467: { shiftjs: 33467, unicode: 12381, string: 'そ', ascii: '‚»', name: 'HIRAGANA LETTER SO', }, 33468: { shiftjs: 33468, unicode: 12382, string: 'ぞ', ascii: '‚¼', name: 'HIRAGANA LETTER ZO', }, 33469: { shiftjs: 33469, unicode: 12383, string: 'た', ascii: '‚½', name: 'HIRAGANA LETTER TA', }, 33470: { shiftjs: 33470, unicode: 12384, string: 'だ', ascii: '‚¾', name: 'HIRAGANA LETTER DA', }, 33471: { shiftjs: 33471, unicode: 12385, string: 'ち', ascii: '‚¿', name: 'HIRAGANA LETTER TI', }, 33472: { shiftjs: 33472, unicode: 12386, string: 'ぢ', ascii: '‚À', name: 'HIRAGANA LETTER DI', }, 33473: { shiftjs: 33473, unicode: 12387, string: 'っ', ascii: '‚Á', name: 'HIRA