5

App Engine'de PIL ile hangi fontlar kullanılabilir?Google App Engine'de PIL için hangi sistem fontları var?

Uygulamanın bir parçası olarak bir yazı tipi yükleyebileceğimi biliyorum, ancak temelde istediğim şey, iyi görünümlü bir Helvetica (veya alternatif) olan unicode karakterleriyle çalışacak bir sistem sans-serif sağladı. Google sunucularında bazı yazı tipleri zaten yüklü olabilir ve bu benim içgörüyü öğrenmek istiyorum.

Unicode özellikli kullanmak için bir yazı tipi bulmak istiyorum, bu yüzden Japonca ve diğer karakterler PIL kullanılarak düzgün bir şekilde oluşturulacak.

Font ailesi kullanarak unicode karakterleri düzgün bir şekilde gösteren bir web sayfam var: 'Helvetica Neue', Helvetica, Arial, sans-serif;

Aynı unicode karakterleri oluşturmak için PIL'i kullandığımda, düzgün şekilde oluşturulmaz. Uygulamanın parçası olarak yüklediğim yazı tipi yazı tipinde gerekli unicode karakterlere sahip değil.

Şu an kullandığım python kod satırı. Düşünüldüğünde

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) 
+0

Yazı tipini nasıl kullanıyorsunuz? Bazı kod parçacıklarınız var mı? (PIL ile çok aşina değilim ve etrafa bakmak için bir şeyler yapmaya çalışıyorum. Örneğin, import os, PIL; print os.listdir (os.path.dirname (PIL .__ file __)) 'dan https: // shell-27 .appspot.com) – bossylobster

+0

"FontIAmUsing.otf" dosyası genellikle nerede yaşıyor? IIUC, kodu çağırdığınız dizinde olması gerekiyordu. Sadece yazı tipini uygulamanızla birlikte eklemediniz ve dosya ile konuşturamaz mısınız? [Bu makale] (http://www.leancrew.com/all-this/2008/11/truetype-fonts-for-the-python-imaging-library/) yazı tiplerinin nerede saklandığını ve nasıl ekleyebileceğinizi gösterir. Onları yerel olarak. – bossylobster

+0

Sağ. Bu makaleyi okudum ve yazı tipimi yüklüyorum. Unicode karakterleri kullanan web sayfaları için sans-serif gibi unicode karakterlerle "sadece çalışacak" bir sistem yazı tipi olduğunu umuyorum. Mac’te, sans-serif’in Helvetica’ya geri döndüğünü düşünüyorum. Uygulamanın bir parçası olarak yüklenecek unicode karakterleri olan bir Helvetica yazı tipi yok. Hâlâ Google’ın kullanabileceğim sistem yüklü yazı tiplerine (Helvetica?) Sahip olabileceğini umuyorum. – philipfc

cevap

4

ki (çirkin ve muhtemelen unicode karakter çok geniş bir alanını içermeyen) ve sahip beri yazı tipi dosyasının tam yolunu sağlamak VE dışında bir alamayan varsayılan bir bitmap yazı ile PIL sadece gemiler GAE'deki korumalı ortamınız, yazı tiplerini uygulamanızla birlikte yüklemeniz daha iyi olur. Bir yol belirtmezseniz, web uygulamanızın kökü bakar. OSX için GoogleAppEngineLauncher kullanıyorum ve onu dağıtırken bulunan tüm dosyaları (ImageDraw ile kullanıyorum .ttf dahil) yükler.

http://effbot.org/imagingbook/imagefont.htm belgelerindeki durumlar şu şekildedir: (1.1.4 sürümünde yeni) "Hiçbir şeyden daha iyi" varsayılan yazı tipini yükleyin. Sadece varsayılan yazı tipinin GAE'de mevcut olduğunu doğruladım.

+0

Önerdiğiniz bir yazı tipi yüklemeye karar verdim. – philipfc