[pukiwiki]
//*[[Python でplanet(自動巡回):http://plaza.rakuten.co.jp/kugutsushi/diary/200805010000/]]
[[漢字が使える日本語フォント 無料ダウンロード 46種類:http://blog.4galaxy.net/56.html]]
という記事が[[はてブ:http://b.hatena.ne.jp/entry/http://blog.4galaxy.net/56.html]]でホットエントリ入りしていました。
で、いちいちインストールするのも厭だったので、フォントファイルのサンプル画像を作成するスクリプトをPythonおよび[[PIL:http://www.pythonware.com/products/pil/]]モジュールで書いてみました。
”インスコしてないフォントでもok”
ついでに、一覧用のhtmlファイルも作成。 (テンプレートエンジンとか使ってないのでアレですが)
※どんなhtmlファイルが作成されるかといいますとー、 上記のリンク先を無地にしたような感じと思っていただければ。
*ちょっと困ったこと
-zipファイル内のフォントも表示するように。。。しようと思ったけど、時間切れ。 誰か作ってー
-msgothicなどのフォント名が変。どうすればいいのかしらん?
以下コード
[/pukiwiki]
# -*- coding: utf-8 -*- import Image,ImageDraw,ImageFont from glob import glob import os im=Image.new("L",(640,120)) draw=ImageDraw.ImageDraw(im) draw.rectangle((0,0,639,120),fill=(255)) #フォントファイルの場所。サンプルではシステムのフォントフォルダですが #インストールしてないファイルでも大丈夫です。 fontpath=r"c:¥Windows¥Fonts" fontpath+=r"¥%s" fontlist=glob(fontpath % "*.tt*") fonty=32 sample=[ u"ABCDEFGHIJKLMNOPQRSTUVWXYZ", u"あいうえお @ハローワールド♪", u"亜唖娃阿哀愛挨姶逢葵茜" ] savename="./img/%s.png" oxy=(ox,oy)=(8,8) if not os.path.exists(r"./img") : os.mkdir(r"./img") html=["<html><head><title>Font Sample</title></head><body>"] tmpl="""<div><a href="file://%(f)s"> %(fbody)s<br/> %(fname)s</a><br/> %(fstyle)s<br/> <a href="file://%(f)s"> <img src="%(imname)s" border=0 /></a><br/> '</div>""" def test(f) : font = ImageFont.truetype(f,fonty) nm=font.getname() fbody=os.path.split(f)[-1] fname=nm[0] imname=savename%fbody fstyle=nm[1] for i,s in enumerate(sample) : draw.text((ox,oy+i*fonty),s,fill=0,font=font) im.save(imname) html.append(tmpl %locals()) for f in fontlist: print ".", draw.rectangle((0,0,639,190),fill=(255)) try : test(f) except Exception, e: print print "<<<error >>> %s %s"% (f,str(e)) html.append(r"</body></html>") fp=open("font.html","wb") fp.write( "¥n".join(html)) fp.close()