らんだむな記憶

blogというものを体験してみようか!的なー

FreeTypeで文字を書く

anaconda環境 on Mac - らんだむな記憶をしたので、

$ conda install freetype

する。なんかうまくいっているように見えてうまくいかない...。パッケージ入ってないよー。

freetype-py 1.0.2 : Python Package Indexからzipを回収して、

$ python setup.py install

でインストール。
Python Imaging Library (PIL)からPILもインストール。これは古いままらしいのでforkしたIndex of Packages : Python Package Indexのほうが良いのかもしれないが。

で、Rendering outlined font with FT2 + PIL · GitHubを参考にさせていただいて、以下のような感じで、GID (Glyph ID) を指定してラスタライズしてファイルに書き出せる。

#! /usr/bin/env python
# -*- coding: utf-8 -*-

import struct
import freetype
from PIL import Image

face = freetype.Face("SourceSansPro-Regular.otf")
#face.set_char_size( 48*64 )
face.set_char_size( 128*128 )
for gid in range(2, 69+1):
    face.load_glyph(gid)
    bitmap = face.glyph.bitmap
    data = ''.join([struct.pack('B', 255-c) for c in bitmap.buffer])
    im = Image.frombuffer("L", (bitmap.width, bitmap.rows), data, "raw", "L", 0, 1)
    im.save("{}.png".format(gid), "PNG")