import binascii import sys filename = 'c16.bin' #filename=sys.argv[0] with open(filename, 'rb') as f: content = f.read() print '/****************************************************************' print '* Font from BIN exported' print '*****************************************************************/' print print '#include ' # Vertical - Left-Right print '// converted from',filename print '// Vertical --> LEFT-RIGHT' print 'static const byte PROGMEM font_'+filename.split('.')[0]+'[][8] =' print '{' i=0 EOF=len(content) while i31 and (i/8)<132: print ' ',chr(i/8) else: print i=i+8 print '};' # Horizontal - Top-Down print print '// converted from',filename print '// Horizontal --> TOP-DOWN' print 'static const byte PROGMEM font_H_'+filename.split('.')[0]+'[][8] =' print '{' for index in range(len(content)): if (index%8)==0: print ' {', sys.stdout.write('0x'+binascii.hexlify(content[index])) if (index%8)<7: print ',', else: print '}, // ',hex(index/8), if (index/8)>31 and (index/8)<132: print ' ',chr(index/8) else: print print '};'