2009-11-29 37 views

答えて

8

フォントの太字/斜体のバージョンを使用する

+3

:書体の各バージョンは、例えば、別のファイルに来る:arial.ttfの、ArialBold.ttf、など。 – btk

4

多くのフォントは太字/斜体のバージョンで異なるTTFファイルを使用しているため、そのファイルを指定するだけで動作すると思います。

1

これは私の最初のコメントです。さあ。

私は手順を明確にしようとします。最初は私がやったことは、この

font = ImageFont.truetype("C:\Windows\Fonts\\Arial Negrita.ttf",25) 

のようにフォントの「名前」を使用しただけで、このようないくつかのエラーを得た:その後、私は時々フォントが他の「名前」を持っているか、ということを思い出し

Traceback (most recent call last): 
    File "C:/Users/555STi/PycharmProjects/PIL/img.py", line 8, in <module> 
    font = ImageFont.truetype("C:\Windows\Fonts\Arial negrita.ttf",25) 
    File "C:\Python27\lib\site-packages\PIL\ImageFont.py", line 262, in truetype 
    return FreeTypeFont(font, size, index, encoding) 
    File "C:\Python27\lib\site-packages\PIL\ImageFont.py", line 142, in __init__ 
    self.font = core.getfont(font, size, index, encoding) 
IOError: cannot open resource 

を"ファイル名"なので、フォントフォルダーに行き、次にnegrita(太字)、cursiva(イタリック)などのすべてのスタイルを表示するArialフォントを開きました。

「negrita "スタイル、選択された"プロパティ "、フォントの"実名 "があります。

私の場合、名前は「ariblk」

最後に、このような名前を使用しました。

私はこの記事が古いと知っていますが、今日は解決策に手伝ってくれました。だから誰も助けてくれることを願っています。 ()何らかの理由でフォントの別の大胆なバージョンを持っていない場合は、フォント太字にする

=)

+0

これはOPの質問に答えるのか? – Nilambar

+0

@Nilambar、どういう意味ですか?申し訳ありませんが、私はここでちょっと新しいです。 –

+0

@NikolaiMilos彼は元のポスター(OP)がかなり具体的なものについて質問したことを意味します。 Arial Negritaフォントを読み込むとエラーが発生するのはなぜですか?あなたが質問を読んだら、あなたはそれがまったく違うことに気付くでしょう。 – Paragon

3

むしろハックソリューションは、わずかなオフセットと同じテキストを複数回印刷することです。ただ、明確にする

andaleMono = ImageFont.truetype(ANDALE_MONO_PATH,16) 
text = "hello world" 
mainOffset = (50,50) 
xoff, yoff = mainOffset 
draw.text(mainOffset,text,font=andaleMono,fill='black') 
draw.text((xoff+1,yoff+1),text,font=andaleMono,fill='black') 
draw.text((xoff-1,yoff-1),text,font=andaleMono,fill='black')