Mercurial > ift6266
view transformations/ttf2jpg.py @ 26:47e7202d4f19
Array format handling bug fix for thick.py
author | Xavier Glorot <glorotxa@iro.umontreal.ca> |
---|---|
date | Fri, 29 Jan 2010 14:09:14 -0500 |
parents | 424b5b0d9fcb |
children | 6d432a5010a2 |
line wrap: on
line source
#!/usr/bin/python # -*- coding: iso-8859-1 -*- # ttf2jpg.py converts font files to jpg images # download fonts from http://www.dafont.com ################## # import libraries ################## import sys, os, fnmatch import Image import ImageFont, ImageDraw ########### # variables ########### # don't forget the "/" at the end of directories font_dir = "/usr/share/fonts/truetype/ttf-liberation/" image_dir = "./images/" pattern = "*.ttf" ########### # functions ########### # save a picture of "text" with font "font_file" def write_image(text, font_file): # print "Writing \"" + text + "\" with " + font_file + "..." sys.stdout.write(".") sys.stdout.flush() # create a 32x32 white picture, and a drawing space image = Image.new("L", (32, 32), "White") draw = ImageDraw.Draw(image) # load the font with the right size font = ImageFont.truetype(font_dir + font_file, 28) w,h = draw.textsize(text, font=font) # write text and aligns it draw.text(((32 - w) / 2, ((32 - h) / 2)), text, font=font) # show image, xv must be installed #image.show() # save the picture image.save(image_dir + text + "-" + font_file + ".jpg") # write all the letters and numbers into pictures def process_font(font_file): for i in range(0, 26): write_image(chr(ord('a') + i), font_file) for i in range(0, 26): write_image(chr(ord('A') + i), font_file) for i in range(0, 10): write_image(chr(ord('0') + i), font_file) ###### # main ###### # look for ttf files files = os.listdir(font_dir) font_files = fnmatch.filter(files, pattern) # create "image_dir" if it doesn't exist if not os.path.isdir(image_dir): os.mkdir(image_dir) sys.stdout.write( str(len(font_files)) + " fonts found, generating jpg images in folder " + image_dir ) sys.stdout.flush() # main loop for font_file in font_files: process_font(font_file) sys.stdout.write("\nall done!\n")