from .unicode import Unicode BASIC_CHARACTER_SET = { 0x00: Unicode.COMMERCIAL_AT, 0x01: Unicode.POUND_SIGN, 0x02: Unicode.DOLLAR_SIGN, 0x03: Unicode.YEN_SIGN, 0x04: Unicode.LATIN_SMALL_LETTER_E_WITH_GRAVE, 0x05: Unicode.LATIN_SMALL_LETTER_E_WITH_ACUTE, 0x06: Unicode.LATIN_SMALL_LETTER_U_WITH_GRAVE, 0x07: Unicode.LATIN_SMALL_LETTER_I_WITH_GRAVE, 0x08: Unicode.LATIN_SMALL_LETTER_O_WITH_GRAVE, 0x09: Unicode.LATIN_CAPITAL_LETTER_C_WITH_CEDILLA, 0x0A: Unicode.LINE_FEED, 0x0B: Unicode.LATIN_CAPITAL_LETTER_O_WITH_STROKE, 0x0C: Unicode.LATIN_SMALL_LETTER_O_WITH_STROKE, 0x0D: Unicode.CARRIAGE_RETURN, 0x0E: Unicode.LATIN_CAPITAL_LETTER_A_WITH_RING_ABOVE, 0x0F: Unicode.LATIN_SMALL_LETTER_A_WITH_RING_ABOVE, 0x10: Unicode.GREEK_CAPITAL_LETTER_DELTA, 0x11: Unicode.LOW_LINE, 0x12: Unicode.GREEK_CAPITAL_LETTER_PHI, 0x13: Unicode.GREEK_CAPITAL_LETTER_GAMMA, 0x14: Unicode.GREEK_CAPITAL_LETTER_LAMDA, 0x15: Unicode.GREEK_CAPITAL_LETTER_OMEGA, 0x16: Unicode.GREEK_CAPITAL_LETTER_PI, 0x17: Unicode.GREEK_CAPITAL_LETTER_PSI, 0x18: Unicode.GREEK_CAPITAL_LETTER_SIGMA, 0x19: Unicode.GREEK_CAPITAL_LETTER_THETA, 0x1A: Unicode.GREEK_CAPITAL_LETTER_XI, 0x1B: Unicode.ESCAPE, 0x1C: Unicode.LATIN_CAPITAL_LETTER_AE, 0x1D: Unicode.LATIN_SMALL_LETTER_AE, 0x1E: Unicode.LATIN_SMALL_LETTER_SHARP_S, 0x1F: Unicode.LATIN_CAPITAL_LETTER_E_WITH_ACUTE, 0x20: Unicode.SPACE, 0x21: Unicode.EXCLAMATION_MARK, 0x22: Unicode.QUOTATION_MARK, 0x23: Unicode.NUMBER_SIGN, 0x24: Unicode.CURRENCY_SIGN, 0x25: Unicode.PERCENT_SIGN, 0x26: Unicode.AMPERSAND, 0x27: Unicode.APOSTROPHE, 0x28: Unicode.LEFT_PARENTHESIS, 0x29: Unicode.RIGHT_PARENTHESIS, 0x2A: Unicode.ASTERISK, 0x2B: Unicode.PLUS_SIGN, 0x2C: Unicode.COMMA, 0x2D: Unicode.HYPHEN_MINUS, 0x2E: Unicode.FULL_STOP, 0x2F: Unicode.SOLIDUS, 0x30: Unicode.DIGIT_ZERO, 0x31: Unicode.DIGIT_ONE, 0x32: Unicode.DIGIT_TWO, 0x33: Unicode.DIGIT_THREE, 0x34: Unicode.DIGIT_FOUR, 0x35: Unicode.DIGIT_FIVE, 0x36: Unicode.DIGIT_SIX, 0x37: Unicode.DIGIT_SEVEN, 0x38: Unicode.DIGIT_EIGHT, 0x39: Unicode.DIGIT_NINE, 0x3A: Unicode.COLON, 0x3B: Unicode.SEMICOLON, 0x3C: Unicode.LESS_THAN_SIGN, 0x3D: Unicode.EQUALS_SIGN, 0x3E: Unicode.GREATER_THAN_SIGN, 0x3F: Unicode.QUESTION_MARK, 0x40: Unicode.INVERTED_EXCLAMATION_MARK, 0x41: Unicode.LATIN_CAPITAL_LETTER_A, 0x42: Unicode.LATIN_CAPITAL_LETTER_B, 0x43: Unicode.LATIN_CAPITAL_LETTER_C, 0x44: Unicode.LATIN_CAPITAL_LETTER_D, 0x45: Unicode.LATIN_CAPITAL_LETTER_E, 0x46: Unicode.LATIN_CAPITAL_LETTER_F, 0x47: Unicode.LATIN_CAPITAL_LETTER_G, 0x48: Unicode.LATIN_CAPITAL_LETTER_H, 0x49: Unicode.LATIN_CAPITAL_LETTER_I, 0x4A: Unicode.LATIN_CAPITAL_LETTER_J, 0x4B: Unicode.LATIN_CAPITAL_LETTER_K, 0x4C: Unicode.LATIN_CAPITAL_LETTER_L, 0x4D: Unicode.LATIN_CAPITAL_LETTER_M, 0x4E: Unicode.LATIN_CAPITAL_LETTER_N, 0x4F: Unicode.LATIN_CAPITAL_LETTER_O, 0x50: Unicode.LATIN_CAPITAL_LETTER_P, 0x51: Unicode.LATIN_CAPITAL_LETTER_Q, 0x52: Unicode.LATIN_CAPITAL_LETTER_R, 0x53: Unicode.LATIN_CAPITAL_LETTER_S, 0x54: Unicode.LATIN_CAPITAL_LETTER_T, 0x55: Unicode.LATIN_CAPITAL_LETTER_U, 0x56: Unicode.LATIN_CAPITAL_LETTER_V, 0x57: Unicode.LATIN_CAPITAL_LETTER_W, 0x58: Unicode.LATIN_CAPITAL_LETTER_X, 0x59: Unicode.LATIN_CAPITAL_LETTER_Y, 0x5A: Unicode.LATIN_CAPITAL_LETTER_Z, 0x5B: Unicode.LATIN_CAPITAL_LETTER_A_WITH_DIAERESIS, 0x5C: Unicode.LATIN_CAPITAL_LETTER_O_WITH_DIAERESIS, 0x5D: Unicode.LATIN_CAPITAL_LETTER_N_WITH_TILDE, 0x5E: Unicode.LATIN_CAPITAL_LETTER_U_WITH_DIAERESIS, 0x5F: Unicode.SECTION_SIGN, 0x60: Unicode.INVERTED_QUESTION_MARK, 0x61: Unicode.LATIN_SMALL_LETTER_A, 0x62: Unicode.LATIN_SMALL_LETTER_B, 0x63: Unicode.LATIN_SMALL_LETTER_C, 0x64: Unicode.LATIN_SMALL_LETTER_D, 0x65: Unicode.LATIN_SMALL_LETTER_E, 0x66: Unicode.LATIN_SMALL_LETTER_F, 0x67: Unicode.LATIN_SMALL_LETTER_G, 0x68: Unicode.LATIN_SMALL_LETTER_H, 0x69: Unicode.LATIN_SMALL_LETTER_I, 0x6A: Unicode.LATIN_SMALL_LETTER_J, 0x6B: Unicode.LATIN_SMALL_LETTER_K, 0x6C: Unicode.LATIN_SMALL_LETTER_L, 0x6D: Unicode.LATIN_SMALL_LETTER_M, 0x6E: Unicode.LATIN_SMALL_LETTER_N, 0x6F: Unicode.LATIN_SMALL_LETTER_O, 0x70: Unicode.LATIN_SMALL_LETTER_P, 0x71: Unicode.LATIN_SMALL_LETTER_Q, 0x72: Unicode.LATIN_SMALL_LETTER_R, 0x73: Unicode.LATIN_SMALL_LETTER_S, 0x74: Unicode.LATIN_SMALL_LETTER_T, 0x75: Unicode.LATIN_SMALL_LETTER_U, 0x76: Unicode.LATIN_SMALL_LETTER_V, 0x77: Unicode.LATIN_SMALL_LETTER_W, 0x78: Unicode.LATIN_SMALL_LETTER_X, 0x79: Unicode.LATIN_SMALL_LETTER_Y, 0x7A: Unicode.LATIN_SMALL_LETTER_Z, 0x7B: Unicode.LATIN_SMALL_LETTER_A_WITH_DIAERESIS, 0x7C: Unicode.LATIN_SMALL_LETTER_O_WITH_DIAERESIS, 0x7D: Unicode.LATIN_SMALL_LETTER_N_WITH_TILDE, 0x7E: Unicode.LATIN_SMALL_LETTER_U_WITH_DIAERESIS, 0x7F: Unicode.LATIN_SMALL_LETTER_A_WITH_GRAVE, } BASIC_CHARACTER_SET_EXTENSION = { 0x0A: Unicode.FORM_FEED, 0x14: Unicode.CIRCUMFLEX_ACCENT, 0x28: Unicode.LEFT_CURLY_BRACKET, 0x29: Unicode.RIGHT_CURLY_BRACKET, 0x2F: Unicode.REVERSE_SOLIDUS, 0x3C: Unicode.LEFT_SQUARE_BRACKET, 0x3D: Unicode.TILDE, 0x3E: Unicode.RIGHT_SQUARE_BRACKET, 0x40: Unicode.VERTICAL_LINE, 0x65: Unicode.EURO_SIGN, } SINGLE_SHIFT_CHARACTER_SET_SPANISH = { 0x09: Unicode.LATIN_SMALL_LETTER_C_WITH_CEDILLA, 0x0A: Unicode.FORM_FEED, 0x14: Unicode.CIRCUMFLEX_ACCENT, 0x28: Unicode.LEFT_CURLY_BRACKET, 0x29: Unicode.RIGHT_CURLY_BRACKET, 0x2F: Unicode.REVERSE_SOLIDUS, 0x3C: Unicode.LEFT_SQUARE_BRACKET, 0x3D: Unicode.TILDE, 0x3E: Unicode.RIGHT_SQUARE_BRACKET, 0x40: Unicode.VERTICAL_LINE, 0x41: Unicode.LATIN_CAPITAL_LETTER_A_WITH_ACUTE, 0x49: Unicode.LATIN_CAPITAL_LETTER_I_WITH_ACUTE, 0x4F: Unicode.LATIN_CAPITAL_LETTER_O_WITH_ACUTE, 0x55: Unicode.LATIN_CAPITAL_LETTER_U_WITH_ACUTE, 0x61: Unicode.LATIN_SMALL_LETTER_A_WITH_ACUTE, 0x65: Unicode.EURO_SIGN, 0x69: Unicode.LATIN_SMALL_LETTER_I_WITH_ACUTE, 0x6F: Unicode.LATIN_SMALL_LETTER_O_WITH_ACUTE, 0x75: Unicode.LATIN_SMALL_LETTER_U_WITH_ACUTE, }