diff options
author | Háčky <hatschky@gmail.com> | 2014-11-27 07:15:45 +0000 |
---|---|---|
committer | Háčky <hatschky@gmail.com> | 2014-11-27 07:15:45 +0000 |
commit | 319ed6d0e0266f5f6174a5acd929914db8cfae1d (patch) | |
tree | 76408d9cadcbed1e702efa8c44f4cf5e364b0a4d /scripts/charmap.py | |
parent | 17853b802692237d98f96d1a80caf2019f71753e (diff) |
Diffstat (limited to 'scripts/charmap.py')
-rw-r--r-- | scripts/charmap.py | 504 |
1 files changed, 0 insertions, 504 deletions
diff --git a/scripts/charmap.py b/scripts/charmap.py deleted file mode 100644 index cdf3d0a..0000000 --- a/scripts/charmap.py +++ /dev/null @@ -1,504 +0,0 @@ -# -*- coding: utf-8 -*- -import sys - -chars = { - # Japanese character table - ' ': '\x00', - 'あ': '\x01', - 'い': '\x02', - 'う': '\x03', - 'え': '\x04', - 'お': '\x05', - 'か': '\x06', - 'き': '\x07', - 'く': '\x08', - 'け': '\\t', - 'こ': '\\n', - 'さ': '\x0B', - 'し': '\x0C', - 'す': '\x0D', - 'せ': '\x0E', - 'そ': '\x0F', - 'た': '\x10', - 'ち': '\x11', - 'つ': '\x12', - 'て': '\x13', - 'と': '\x14', - 'な': '\x15', - 'に': '\x16', - 'ぬ': '\x17', - 'ね': '\x18', - 'の': '\x19', - 'は': '\x1A', - 'ひ': '\x1B', - 'ふ': '\x1C', - 'へ': '\x1D', - 'ほ': '\x1E', - 'ま': '\x1F', - 'み': '\x20', - 'む': '\x21', - 'め': '\x22', - 'も': '\x23', - 'や': '\x24', - 'ゆ': '\x25', - 'よ': '\x26', - 'ら': '\x27', - 'り': '\x28', - 'る': '\x29', - 'れ': '\x2A', - 'ろ': '\x2B', - 'わ': '\x2C', - 'を': '\x2D', - 'ん': '\x2E', - 'ぁ': '\x2F', - 'ぃ': '\x30', - 'ぅ': '\x31', - 'ぇ': '\x32', - 'ぉ': '\x33', - 'ゃ': '\x34', - 'ゅ': '\x35', - 'ょ': '\x36', - 'が': '\x37', - 'ぎ': '\x38', - 'ぐ': '\x39', - 'げ': '\x3A', - 'ご': '\x3B', - 'ざ': '\x3C', - 'じ': '\x3D', - 'ず': '\x3E', - 'ぜ': '\x3F', - 'ぞ': '\x40', - 'だ': '\x41', - 'ぢ': '\x42', - 'づ': '\x43', - 'で': '\x44', - 'ど': '\x45', - 'ば': '\x46', - 'び': '\x47', - 'ぶ': '\x48', - 'べ': '\x49', - 'ぼ': '\x4A', - 'ぱ': '\x4B', - 'ぴ': '\x4C', - 'ぷ': '\x4D', - 'ぺ': '\x4E', - 'ぽ': '\x4F', - 'っ': '\x50', - - 'ア': '\x51', - 'イ': '\x52', - 'ウ': '\x53', - 'エ': '\x54', - 'オ': '\x55', - 'カ': '\x56', - 'キ': '\x57', - 'ク': '\x58', - 'ケ': '\x59', - 'コ': '\x5A', - 'サ': '\x5B', - 'シ': '\x5C', - 'ス': '\x5D', - 'セ': '\x5E', - 'ソ': '\x5F', - 'タ': '\x60', - 'チ': '\x61', - 'ツ': '\x62', - 'テ': '\x63', - 'ト': '\x64', - 'ナ': '\x65', - 'ニ': '\x66', - 'ヌ': '\x67', - 'ネ': '\x68', - 'ノ': '\x69', - 'ハ': '\x6A', - 'ヒ': '\x6B', - 'フ': '\x6C', - 'ヘ': '\x6D', - 'ホ': '\x6E', - 'マ': '\x6F', - 'ミ': '\x70', - 'ム': '\x71', - 'メ': '\x72', - 'モ': '\x73', - 'ヤ': '\x74', - 'ユ': '\x75', - 'ヨ': '\x76', - 'ラ': '\x77', - 'リ': '\x78', - 'ル': '\x79', - 'レ': '\x7A', - 'ロ': '\x7B', - 'ワ': '\x7C', - 'ヲ': '\x7D', - 'ン': '\x7E', - 'ァ': '\x7F', - 'ィ': '\x80', - 'ゥ': '\x81', - 'ェ': '\x82', - 'ォ': '\x83', - 'ャ': '\x84', - 'ュ': '\x85', - 'ョ': '\x86', - 'ガ': '\x87', - 'ギ': '\x88', - 'グ': '\x89', - 'ゲ': '\x8A', - 'ゴ': '\x8B', - 'ザ': '\x8C', - 'ジ': '\x8D', - 'ズ': '\x8E', - 'ゼ': '\x8F', - 'ゾ': '\x90', - 'ダ': '\x91', - 'ヂ': '\x92', - 'ヅ': '\x93', - 'デ': '\x94', - 'ド': '\x95', - 'バ': '\x96', - 'ビ': '\x97', - 'ブ': '\x98', - 'ベ': '\x99', - 'ボ': '\x9A', - 'パ': '\x9B', - 'ピ': '\x9C', - 'プ': '\x9D', - 'ペ': '\x9E', - 'ポ': '\x9F', - 'ッ': '\xA0', - - '0': '\xA1', - '1': '\xA2', - '2': '\xA3', - '3': '\xA4', - '4': '\xA5', - '5': '\xA6', - '6': '\xA7', - '7': '\xA8', - '8': '\xA9', - '9': '\xAA', - '!': '\xAB', - '?': '\xAC', - '。': '\xAD', - 'ー': '\xAE', - '・': '\xAF', - '⋯': '\xB0', - '『': '\xB1', - '』': '\xB2', - '「': '\xB3', - '」': '\xB4', - '♂': '\xB5', - '♀': '\xB6', - '円': '\xB7', - '.': '\xB8', - '×': '\xB9', - '/': '\xBA', - - 'A': '\xBB', - 'B': '\xBC', - 'C': '\xBD', - 'D': '\xBE', - 'E': '\xBF', - 'F': '\xC0', - 'G': '\xC1', - 'H': '\xC2', - 'I': '\xC3', - 'J': '\xC4', - 'K': '\xC5', - 'L': '\xC6', - 'M': '\xC7', - 'N': '\xC8', - 'O': '\xC9', - 'P': '\xCA', - 'Q': '\xCB', - 'R': '\xCC', - 'S': '\xCD', - 'T': '\xCE', - 'U': '\xCF', - 'V': '\xD0', - 'W': '\xD1', - 'X': '\xD2', - 'Y': '\xD3', - 'Z': '\xD4', - 'a': '\xD5', - 'b': '\xD6', - 'c': '\xD7', - 'd': '\xD8', - 'e': '\xD9', - 'f': '\xDA', - 'g': '\xDB', - 'h': '\xDC', - 'i': '\xDD', - 'j': '\xDE', - 'k': '\xDF', - 'l': '\xE0', - 'm': '\xE1', - 'n': '\xE2', - 'o': '\xE3', - 'p': '\xE4', - 'q': '\xE5', - 'r': '\xE6', - 's': '\xE7', - 't': '\xE8', - 'u': '\xE9', - 'v': '\xEA', - 'w': '\xEB', - 'x': '\xEC', - 'y': '\xED', - 'z': '\xEE', - '▶': '\xEF', - ':': '\xF0', - 'Ä': '\xF1', - 'Ö': '\xF2', - 'Ü': '\xF3', - 'ä': '\xF4', - 'ö': '\xF5', - 'ü': '\xF6', - #'⬆': '\xF7', - #'⬇': '\xF8', - #'⬅': '\xF9', - '\\l': '\xFA', - '\\p': '\xFB', - '\{FC}': '\xFC', - '\\v1': '\xFD\x01', - '\\n': '\xFE', - '@': '\xFF', - - # characters changed for Western versions - ' ': '\x00', - 'À': '\x01', - 'Á': '\x02', - 'Â': '\x03', - 'Ç': '\x04', - 'È': '\x05', - 'É': '\x06', - 'Ê': '\x07', - 'Ë': '\x08', - 'Ì': '\\t', - 'Î': '\x0B', - 'Ï': '\x0C', - 'Ò': '\x0D', - 'Ó': '\x0E', - 'Ô': '\x0F', - 'Œ': '\x10', - 'Ù': '\x11', - 'Ú': '\x12', - 'Û': '\x13', - 'Ñ': '\x14', - 'ß': '\x15', - 'à': '\x16', - 'á': '\x17', - 'ç': '\x19', - 'è': '\x1A', - 'é': '\x1B', - 'ê': '\x1C', - 'ë': '\x1D', - 'ì': '\x1E', - 'î': '\x20', - 'ï': '\x21', - 'ò': '",$22,"', - 'ó': '\x23', - 'ô': '\x24', - 'œ': '\x25', - 'ù': '\x26', - 'ú': '\x27', - 'û': '\x28', - 'ñ': '\x29', - 'º': '\x2A', - 'ª': '\x2B', - '\{er}': '\x2C', - '&': '\x2D', - '+': '\x2E', - '\{L.}': '\x34', # Italian - '\{Lv}': '\x34', # English - '\{Lv.}': '\x34', # German - '\{N.}': '\x34', # French - '\{Nv}': '\x34', # Spanish - '=': '\x35', - ';': '\x36', # European - '¿': '\x51', - '¡': '\x52', - '\{PKMN}': '\x53\x54', - '\{POKé}': '\x55\x56', - '\{POKéBLOC}': '\x55\x56\x57\x58\x59', # French - '\{POKéBLOCK}': '\x55\x56\x57\x58\x59', # English - '\{POKéCUBO}': '\x55\x56\x57\x58\x59', # Spanish - '\{POKéRIEGEL}': '\x55\x56\x57\x58\x59', # German - 'Í': '\x5A', - '%': '\x5B', - '(': '\x5C', - ')': '\x5D', - '\{POKéMELLA}': '\x5E\x5F\x60\x61\x62', # Italian - '\{POKéMELLE}': '\x5E\x5F\x60\x61\x63', # Italian - 'â': '\x68', - 'í': '\x6F', - '⬆': '\x79', - '⬇': '\x7A', - '⬅': '\x7B', - '➡': '\x7C', - '\{e}': '\x84', # European - '‹': '\x85', # European - '›': '\x86', # European - '\{re}': '\xA0', # European - '0': '\xA1', - '1': '\xA2', - '2': '\xA3', - '3': '\xA4', - '4': '\xA5', - '5': '\xA6', - '6': '\xA7', - '7': '\xA8', - '8': '\xA9', - '9': '\xAA', - '!': '\xAB', - '?': '\xAC', - '.': '\xAD', - '-': '\xAE', - '…': '\xB0', - '“': '\xB1', # replaced with « for French, „ for German - '”': '\xB2', # replaced with » for French, “ for German - '‘': '\xB3', - '’': '\xB4', - '$': '\xB7', - ',': '\xB8', - '/': '\xBA', - 'A': '\xBB', - 'B': '\xBC', - 'C': '\xBD', - 'D': '\xBE', - 'E': '\xBF', - 'F': '\xC0', - 'G': '\xC1', - 'H': '\xC2', - 'I': '\xC3', - 'J': '\xC4', - 'K': '\xC5', - 'L': '\xC6', - 'M': '\xC7', - 'N': '\xC8', - 'O': '\xC9', - 'P': '\xCA', - 'Q': '\xCB', - 'R': '\xCC', - 'S': '\xCD', - 'T': '\xCE', - 'U': '\xCF', - 'V': '\xD0', - 'W': '\xD1', - 'X': '\xD2', - 'Y': '\xD3', - 'Z': '\xD4', - 'a': '\xD5', - 'b': '\xD6', - 'c': '\xD7', - 'd': '\xD8', - 'e': '\xD9', - 'f': '\xDA', - 'g': '\xDB', - 'h': '\xDC', - 'i': '\xDD', - 'j': '\xDE', - 'k': '\xDF', - 'l': '\xE0', - 'm': '\xE1', - 'n': '\xE2', - 'o': '\xE3', - 'p': '\xE4', - 'q': '\xE5', - 'r': '\xE6', - 's': '\xE7', - 't': '\xE8', - 'u': '\xE9', - 'v': '\xEA', - 'w': '\xEB', - 'x': '\xEC', - 'y': '\xED', - 'z': '\xEE', - ':': '\xF0', -} - -region = "" -if sys.argv[2][-6] == '-': - region = sys.argv[2][-5:-3].upper() - -out = open(sys.argv[2], 'w') -with open(sys.argv[1], 'r') as f: - for asm in f: - # split by quotes - asms = asm.split('"') - - pad_length = 0 - output = '' - print_macro = True - if asms[0].strip() == "Text": - asms[0] = asms[0].replace("Text", "db") - elif asms[0].strip() == "Tag_Text": - pad_length = 45 - elif asms[0].strip() == ("Text_" + region): - asms[0] = asms[0].replace("Text_" + region, "db") - elif asms[0].find("Text_") != -1: - asms[0] = ";" - elif asms[0].find("OT_Name") == -1 and asms[0].find("Nickname") == -1 and asms[0].find("Insert_Prologue") == -1 and asms[0].find("Berry") == -1: - print_macro = False - - if print_macro: - even = False - for token in asms: - if even: - characters = [] - # token is a string to convert to byte values - while len(token): - # read a single UTF-8 codepoint - char = token[0] - if ord(char) < 0xc0: - token = token[1:] - # handle escape sequences - if char == "\\": - if token[0] == '{': - for i in range(len(token)): - char += token[0] - token = token[1:] - if char[-1] == '}': - break - elif token[0] == 'v': - char += token[0:2] - token = token[2:] - else: - char += token[0] - token = token[1:] - elif ord(char) < 0xe0: - char = char + token[1:2] - token = token[2:] - elif ord(char) < 0xf0: - char = char + token[1:3] - token = token[3:] - else: - char = char + token[1:4] - token = token[4:] - characters += [char] - - line = 0 - output += '"' - for char in characters: - if chars[char] == '\x00': - output += '",$00,"' - else: - output += chars[char] - output += '"' - - - if pad_length - len(characters) > 0: - output += ",$FF" - for i in range(len(characters) + 1, pad_length): - output += ",$00" - - else: - output += token - even = not even - - else: - asm = asm.replace("\\0", "\",$00,\"") - asm = asm.replace("é", "\x7F") - output = asm - - out.write(output) -f.closed |