5

App EngineのPILで使用できるフォントは何ですか?

アプリケーションの一部としてフォントをアップロードできることは知っていますが、基本的に必要なのは、見栄えの良いHelvetica(または代替)であるUnicode文字で動作するsans-serifを提供するシステムです。Googleサーバーにはすでにいくつかのフォントがインストールされている可能性があります。これについて、私はいくつかの洞察を求めています。

日本語やその他の文字がPILを使用して適切にレンダリングされるように、Unicode対応のフォントを見つけたいと思います。

font-familyを使用してUnicode文字を適切にレンダリングするWebページがあります:'Helvetica Neue'、Helvetica、Arial、sans-serif;

PILを使用して同じUnicode文字をレンダリングすると、正しくレンダリングされません。アプリの一部としてアップロードしたフォントには、フォントに必要なUnicode文字が含まれていません。

これが私が今使っているものからの関連するPythonのコード行です。

import Image, ImageDraw, ImageFont  

draw = ImageDraw.Draw(my_output)  
font = ImageFont.truetype("FontIAmUsing.otf", font_size, encoding="utf-8")  
draw.text((5, 51), 'abc', fill='#2A2A2A', font=font)
4

1 に答える 1

4

PIL にはデフォルトのビットマップ フォントしか同梱されていない (見苦しく、おそらく非常に幅広い Unicode 文字が含まれていない) ことを考慮し、フォント ファイルへのフル パスを指定する必要があり、GAE のサンドボックス環境の外に出ることはできないため、アプリケーションと一緒にフォントをアップロードするだけです。パスを指定しない場合、Web アプリケーションのルートが検索されます。私は OSX 用の GoogleAppEngineLauncher を使用しています。展開すると、見つかったすべてのファイルがアップロードされます (ImageDraw で使用している .ttf を含む)。

http://effbot.org/imagingbook/imagefont.htmのドキュメントには次のように記載されています。デフォルトのフォントが GAE で使用できることを確認しました。

于 2013-04-13T03:50:01.473 に答える