2016-07-30 13 views
1

私のpygameに.woff形式のフォントファイルを読み込もうとしています。私はこの問題について話している他の投稿を見てきましたが、その回答は私の質問に答えるのに役立ちません。あなたはこの絵で見ることができるように私は私の現在のPythonのファイルディレクトリにこのフォントファイルを配置しているPygame外部フォントファイルからフォントを読み込む

Traceback (most recent call last): 
    File "C:\Users\Sruthi\Desktop\Python\Pygame\Memorization Game\main.py", line 111, in <module> 
    gameLoop() 
    File "C:\Users\Sruthi\Desktop\Python\Pygame\Memorization Game\main.py", line 108, in gameLoop 
    create_button(mouse, 50, 50) 
    File "C:\Users\Sruthi\Desktop\Python\Pygame\Memorization Game\main.py", line 84, in create_button 
    fontObj = py.font.Font('Memorization Game/brandon_blk-webfont.woff', 16) 
OSError: unable to read font file 'Memorization Game/brandon_blk-webfont.woff' 

ここ
fontObj = py.font.Font('brandon_blk-webfont.woff', 16) 
     textSurfaceObj = fontObj.render(self.fact, True, black, None) 
     textRectObj = textSurfaceObj.get_rect() 
     textRectObj.center = (x * 1.5, y * 1.5) 
     gameDisplay.blit(textSurfaceObj, textRectObj) 

は私のエラーです:私はこの使用してみました

Shows that the font files are in the same directory

また、フォントファイルが壊れていないことがわかりましたが、問題が発生していることがわかりました。

答えて

0

これが壊れたフォントやWindowsとの互換性の問題でないことを保証するための第一歩は、woffをttfに変換し、pygameでそのファイルをロードしようとすることです。私はこのサイトに行った:https://everythingfonts.com/woff-to-ttfと私は自分自身のwoffフォントでそれをテストし、それはちょうどttfと同じように動作します。私はLinuxを使い、フォント/コードは私のために働いた。

あなたのためにフォントロードコードを貼り付けてテストします。

まだ動作していない場合は教えてください。もしそうなら、あなたのWindows + pythonバージョンを投稿して再現することができます。

import pygame, sys, os 
from pygame.locals import * 

pygame.init() 
screen = pygame.display.set_mode((400, 300)) 

# font-related code: 

fpsClock = pygame.time.Clock() 
# https://www.behance.net/gallery/31268855/Determination-Better-Undertale-Font 
font = pygame.font.Font(os.path.join("res", "fonts", 'DeterminationMonoWeb.ttf'), 16) 

screen.blit(font.render(text, 0, (255, 240, 230)), (10, 10)) 
pygame.display.flip() 
# Main game loop 
while True: 
    if pygame.event.wait().type in (QUIT, KEYDOWN, MOUSEBUTTONDOWN): 
     break 

    pygame.display.update() 
    fpsClock.tick(60) 
関連する問題