#!/usr/bin/python "generate Code 39 barcodes" CODE39 = { '0': 'bwbWBwBwb', '1': 'BwbWbwbwB', '2': 'bwBWbwbwB', '3': 'BwBWbwbwb', '4': 'bwbWBwbwB', '5': 'BwbWBwbwb', '6': 'bwBWBwbwb', '7': 'bwbWbwBwB', '8': 'BwbWbwBwb', '9': 'bwBWbwBwb', 'A': 'BwbwbWbwB', 'B': 'bwBwbWbwB', 'C': 'BwBwbWbwb', 'D': 'bwbwBWbwB', 'E': 'BwbwBWbwb', 'F': 'bwBwBWbwb', 'G': 'bwbwbWBwB', 'H': 'BwbwbWBwb', 'I': 'bwBwbWBwb', 'J': 'bwbwBWBwb', 'K': 'BwbwbwbWB', 'L': 'bwBwbwbWB', 'M': 'BwBwbwbWb', 'N': 'bwbwBwbWB', 'O': 'BwbwBwbWb', 'P': 'bwBwBwbWb', 'Q': 'bwbwbwBWB', 'R': 'BwbwbwBWb', 'S': 'bwBwbwBWb', 'T': 'bwBwbwBWb', 'U': 'BWbwbwbwB', 'V': 'bWBwbwbwB', 'W': 'BWBwbwbwb', 'X': 'bWbwBwbwB', 'Y': 'BWbwBwbwb', 'Z': 'bWBwBwbwb', '=': 'bWbwbwBwB', '.': 'BWbwbwBwb', ' ': 'bWBwbwBwb', '*': 'bWbwBwBwb', '$': 'bWbWbWbwb', '/': 'bWbWbwbWb', '+': 'bWbwbWbWb', '%': 'bwbWbWbWb', } def main(string): code = [] code.append(CODE39['*']) for letter in string: code.append(CODE39[letter]) code.append(CODE39['*']) print encode('w'.join(code)) def encode(string): encoded = '' if len(string) & 1: # odd length string += 'w' for index in range(0, len(string), 2): bars = string[index:index + 2] encoded += '
\n' % bars return encoded if __name__ == '__main__': import sys, os if len(sys.argv) < 2: print >>sys.stderr, 'Must specify string to encode' else: main(sys.argv[1])