import re import sys USAGE_MSG = ''' Font converter for jDAAD (A DAAD text adventure engine interpreter in javascript, https://github.com/Utodev/jDAAD) by Alexey Galkin, 2023. MIT license. Usage: python jdaadfc.py Mode: ascii convert font.js to ASCII-font file js convert ASCII-font file to font.js ''' if len(sys.argv) != 4: print(USAGE_MSG) quit() input_filename = sys.argv[1] output_filename = sys.argv[2] mode = sys.argv[3] output = '' with open(input_filename, 'r') as file: if mode == 'ascii': input_file = file.read() js_font = input_file[input_file.find('[')+1:input_file.find(']')] js_font = js_font.replace('0x', '').split(',') for byte in js_font: line = bin(int(byte, 16))[2:] line = '0' * (8-len(line)) + line line = line.replace('0', '.').replace('1', '#') output = output + line + '\n' elif mode == 'js': input_file = file.readlines() output = [hex(int(byte.replace('.', '0').replace('#', '1'), 2)) for byte in input_file] output = f'''// The DAAD 8x6 font converted by jdaadfc. var font = [{', '.join(output)}]; ''' else: print(USAGE_MSG) quit() with open(output_filename, 'w') as file: file.write(output)