#!/usr/bin/env python # # fontprint.py2 - define a 5x7 font and print it. # # March 5, 2013 G. Forrest Cook # Released under the GPLv3 license. # Python 2 version # # Print out a 5x7 character sideways # def printchar (char): ordchar = ord(char) # Get the ascii position of the char. if (ordchar < 0x20): print "char out of range, too low" return if (ordchar >= 0x7F): print "char out of range, too high" return firstcol = (ordchar - 0x20) * 5 for col in range (0, 5): line = fonttable[firstcol + col] if (line & 1): print '*', else: print ' ', if (line & 2): print '*', else: print ' ', if (line & 4): print '*', else: print ' ', if (line & 8): print '*', else: print ' ', if (line & 16): print '*', else: print ' ', if (line & 32): print '*', else: print ' ', if (line & 64): print '*', else: print ' ', if (line & 128): print '*' else: print ' ' print return # # 5x7 font data, all ASCII printable char, starts at ASCII 0x20. # fonttable = [ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7D, 0x00, 0x00, 0x00, 0x70, 0x00, 0x70, 0x00, 0x14, 0x7F, 0x14, 0x7F, 0x14, 0x12, 0x2A, 0x7F, 0x2A, 0x24, 0x62, 0x64, 0x08, 0x13, 0x23, 0x36, 0x49, 0x35, 0x02, 0x05, 0x00, 0x00, 0x70, 0x00, 0x00, 0x1C, 0x22, 0x41, 0x00, 0x00, 0x00, 0x00, 0x41, 0x22, 0x1C, 0x22, 0x14, 0x7f, 0x14, 0x22, 0x08, 0x08, 0x3E, 0x08, 0x08, 0x00, 0x01, 0x06, 0x00, 0x00, 0x08, 0x08, 0x08, 0x08, 0x08, 0x00, 0x00, 0x01, 0x00, 0x00, 0x02, 0x04, 0x08, 0x10, 0x20, 0x3E, 0x45, 0x49, 0x51, 0x3E, 0x00, 0x21, 0x7F, 0x01, 0x00, 0x23, 0x45, 0x49, 0x49, 0x31, 0x42, 0x41, 0x49, 0x59, 0x66, 0x0C, 0x14, 0x24, 0x7F, 0x04, 0x72, 0x51, 0x51, 0x51, 0x4E, 0x3E, 0x49, 0x49, 0x49, 0x26, 0x40, 0x47, 0x48, 0x50, 0x60, 0x36, 0x49, 0x49, 0x49, 0x36, 0x30, 0x48, 0x49, 0x4A, 0x3C, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x01, 0x16, 0x00, 0x00, 0x08, 0x14, 0x22, 0x41, 0x00, 0x14, 0x14, 0x14, 0x14, 0x14, 0x00, 0x41, 0x22, 0x14, 0x08, 0x20, 0x40, 0x4D, 0x50, 0x20, 0x3E, 0x41, 0x5D, 0x4D, 0x39, 0x1F, 0x24, 0x44, 0x24, 0x1F, 0x7F, 0x49, 0x49, 0x49, 0x36, 0x3E, 0x41, 0x41, 0x41, 0x22, 0x7F, 0x41, 0x41, 0x41, 0x3E, 0x7F, 0x49, 0x49, 0x49, 0x41, 0x7F, 0x48, 0x48, 0x48, 0x40, 0x3E, 0x41, 0x41, 0x45, 0x26, 0x7F, 0x08, 0x08, 0x08, 0x7F, 0x00, 0x41, 0x7F, 0x41, 0x00, 0x02, 0x01, 0x01, 0x01, 0x7E, 0x7F, 0x08, 0x14, 0x22, 0x41, 0x7F, 0x01, 0x01, 0x01, 0x01, 0x7F, 0x20, 0x18, 0x20, 0x7F, 0x7F, 0x10, 0x08, 0x04, 0x7F, 0x3E, 0x41, 0x41, 0x41, 0x3E, 0x7F, 0x48, 0x48, 0x48, 0x30, 0x3E, 0x41, 0x45, 0x42, 0x3D, 0x7F, 0x48, 0x4C, 0x4A, 0x31, 0x32, 0x49, 0x49, 0x49, 0x26, 0x40, 0x40, 0x7F, 0x40, 0x40, 0x7E, 0x01, 0x01, 0x01, 0x7E, 0x70, 0x0C, 0x03, 0x0C, 0x70, 0x7F, 0x02, 0x0C, 0x02, 0x7F, 0x63, 0x14, 0x08, 0x14, 0x63, 0x60, 0x10, 0x0F, 0x10, 0x60, 0x43, 0x45, 0x49, 0x51, 0x61, 0x7F, 0x41, 0x41, 0x41, 0x41, 0x20, 0x10, 0x08, 0x04, 0x02, 0x41, 0x41, 0x41, 0x41, 0x7F, 0x04, 0x08, 0x10, 0x08, 0x04, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x80, 0x40, 0x20, 0x00, 0x0E, 0x11, 0x11, 0x0A, 0x1F, 0x7F, 0x0A, 0x11, 0x11, 0x0E, 0x0E, 0x11, 0x11, 0x11, 0x11, 0x0E, 0x11, 0x11, 0x0A, 0x7F, 0x0E, 0x15, 0x15, 0x15, 0x0C, 0x00, 0x08, 0x3F, 0x48, 0x40, 0x38, 0x45, 0x45, 0x29, 0x7E, 0x7F, 0x08, 0x08, 0x08, 0x07, 0x00, 0x09, 0x2F, 0x01, 0x00, 0x02, 0x01, 0x01, 0x5E, 0x00, 0x7F, 0x04, 0x04, 0x0A, 0x11, 0x00, 0x00, 0x7F, 0x00, 0x00, 0x1F, 0x10, 0x0F, 0x10, 0x0F, 0x1F, 0x10, 0x10, 0x10, 0x0F, 0x0E, 0x11, 0x11, 0x11, 0x0E, 0x7F, 0x28, 0x44, 0x44, 0x38, 0x38, 0x44, 0x44, 0x28, 0x7F, 0x1F, 0x08, 0x10, 0x10, 0x08, 0x09, 0x15, 0x15, 0x15, 0x12, 0x00, 0x10, 0x7E, 0x11, 0x00, 0x1E, 0x01, 0x01, 0x01, 0x1F, 0x18, 0x06, 0x01, 0x06, 0x18, 0x1E, 0x01, 0x02, 0x01, 0x1E, 0x11, 0x0A, 0x04, 0x0A, 0x11, 0x78, 0x05, 0x05, 0x05, 0x7E, 0x11, 0x13, 0x15, 0x19, 0x11, 0x08, 0x36, 0x41, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x00, 0x00, 0x00, 0x08, 0x36, 0x41, 0x04, 0x08, 0x08, 0x08, 0x10, 0x7F, 0x7F, 0x7F, 0x7F, 0x7F] # # Main code here. # print test_string = "ABCDEFG abcdefg 0123456789" for ch in test_string: printchar (ch) exit