Python 使用pygame2exe并且sysfont/.ttf存在字体问题

Python 使用pygame2exe并且sysfont/.ttf存在字体问题,python,pygame,py2exe,Python,Pygame,Py2exe,我尝试了py2exe,cx_freeze,但在使用这个网站的人身上一无所获,在pygame2exe上取得了一些进展。我阅读了其他两到三篇关于这个问题的文章,但是尽管我的安装文件与说明中的相同,并且输入了freesansbold.ttf,我仍然收到“has requested the runtime to terminate in a un寻常的方式”错误 我将深入讨论一些细节,但奇怪的是,如果我将我的文本设置为“Arial”之类的标准内容,就像这里建议的那样()并且它创建的应用程序确实可以工作,

我尝试了py2exe,cx_freeze,但在使用这个网站的人身上一无所获,在pygame2exe上取得了一些进展。我阅读了其他两到三篇关于这个问题的文章,但是尽管我的安装文件与说明中的相同,并且输入了freesansbold.ttf,我仍然收到“has requested the runtime to terminate in a un寻常的方式”错误

我将深入讨论一些细节,但奇怪的是,如果我将我的文本设置为“Arial”之类的标准内容,就像这里建议的那样()并且它创建的应用程序确实可以工作,但问题是我的游戏是rpg,如果文本不是freesanbold,它会到处溢出,无法读取,因此基本上我必须拥有该文本

以下是我最初的字体代码:

font=pygame.font.SysFont(None, 48)
然后我把它改成:

font=pygame.font.SysFont("freesansbold.ttf", 48)
并将.ttf包含在文件夹中,但无效。 同样,如果我将其更改为“Arial”,则pygame2exe将创建一个工作文件,但由于文本问题,我需要freesanbold

以下是pygame2exe代码,我完全是从wiki复制的:

def isSystemDLL(pathname):
    # checks if the freetype and ogg dll files are being included
    if os.path.basename(pathname).lower() in ("libfreetype-6.dll", "libogg-0.dll","sdl_ttf.dll"): # "sdl_ttf.dll" added by arit.
            return 0
    return origIsSystemDLL(pathname) # return the orginal function
py2exe.build_exe.isSystemDLL = isSystemDLL # override the default function with this one
我试过把.dll放到文件夹里,什么也没有。这可能是一个超级简单的修复,但我已经在这几天了,我无法理解它

同样,我在这里完全遵循了wiki(),但问题是,即使将.ttf文件放在文件夹中,我也会遇到运行时错误


我没有主意了,谢谢你的帮助……

我在默认系统字体上也遇到了同样的问题。真的很傻。我最终使用了
pygame.font.SysFont(“Arial”,16)
,它可以在我不需要包含任何内容的情况下工作。

我解决这个问题的方法是将freesansbold.ttf复制到我的项目目录,并使用
pygame.font.font(“freesansbold.ttf”,16)
这将有效,但问题是我所有的文本都是用这种特定的字体放置的,如果有一种几乎完全相同大小的字体,我就可以使用这种字体。