Skip to content

Instantly share code, notes, and snippets.

@chrismwendt
Created March 7, 2016 20:49
Show Gist options
  • Save chrismwendt/4907067fb661591b464a to your computer and use it in GitHub Desktop.
Save chrismwendt/4907067fb661591b464a to your computer and use it in GitHub Desktop.
Render font characters as PNGs
from PIL import Image
from PIL import ImageDraw
from PIL import ImageFont
from PIL import ImageEnhance
# pip install Pillow
def render(text, filename):
width=128
height=128
opacity=0.8
black = (0,0,0)
white = (255,255,255)
transparent = (0,0,0,0)
font = ImageFont.truetype('octicons.ttf',height)
wm = Image.new('RGBA',(width,height),transparent)
draw = ImageDraw.Draw(wm)
w,h = draw.textsize(text, font)
draw.text((0,0),text,black,font)
en = ImageEnhance.Brightness(wm)
mask = en.enhance(1-opacity)
im = Image.new('RGBA',(w,height),transparent) # Change this line too.
im.paste(wm,(0,0),mask)
im.save(filename)
render(u'\uf0ac', 'pull_request.png')
render(u'\uf020', 'branch.png')
render(u'\uf02b', 'comment.png')
render(u'\uf01f', 'commit.png')
render(u'\uf026', 'issue.png')
render(u'\uf00a', 'github.png')
render(u'\uf008', 'octoface.png')
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment