2016-06-23 3 views
1

Я думал, что pygame.font.Font должен был загружать шрифты .ttf, и что вы не можете загрузить шрифт без файла .ttf в том же каталоге, но я видел видео, где кто-то загружал шрифт, не имея шрифт .ttf в том же каталоге. Я хочу знать, какие шрифты я могу использовать с pygame.font.Font без файла .ttf в том же каталогеКакие шрифты я могу использовать с pygame.font.Font?

ответ

6

Существует, как правило, два способа использования шрифтов в pygame: pygame.font.Font() и pygame.font.SysFont(). pygame.font.Font() ожидает путь к файлу шрифта в качестве его первого параметра, тогда как pygame.font.SysFont() ожидает строку с именем шрифта.

Вы можете загрузить любой файл шрифта TrueType (* .ttf) с помощью pygame.font.Font(). Чтобы загрузить файл шрифта myfont.ttf в каталог проекта, просто вызовите pygame.font.Font("myfont.ttf", size). Замените путь к вашему файлу для первого параметра, если он у вас в другом месте. Вы можете использовать либо относительный, либо абсолютный путь к файлу.

Кроме того, вы можете использовать системный шрифт, позвонив по телефону pygame.font.SysFont("fontname", size). Какие системные шрифты вы можете вызывать, зависит от системы, на которой вы ее запускаете. Если он не может найти шрифт, который вы пытались предоставить, он будет возвращаться к системному шрифту по умолчанию. Вы можете передать ему список имен шрифтов, разделенных запятыми, которые затем будут отсортированы по порядку, и будет возвращен первый доступный шрифт. pygame.font.get_fonts() вернет список всех имен шрифтов, которые он может найти в вашей системе, которые вы можете использовать с ним.

И наконец, чтобы загрузить файл шрифта, который не является шрифтом TrueType, вы можете использовать модуль pygame.freetype, который поддерживает шрифты TTF, Type1, CFF, OpenType, SFNT, PCF, FNT, BDF, PFR и Type42. Вы можете использовать любые файлы шрифтов, вызывая pygame.freetype.Font() или системные шрифты, вызывая pygame.freetype.SysFont(), аналогичный модулю шрифта.

Так что если вы хотите использовать шрифт Arial и он установлен в вашей системе, вы можете позвонить ему, используя pygame.font.SysFont('arial', size). Если у вас его нет в вашей системе или вы не уверены, вы можете напрямую указать путь к файлу шрифта, например. pygame.font.Font("C:\Windows\Fonts\Arial.ttf",size).

+0

он работает с freesansbold.ttf, но он не работает для arial, например. Я знаю, что могу использовать pygame.font.SysFont, но я хочу знать, какие шрифты я могу использовать с pygame.font.Font –

+0

Я расширил свой предыдущий ответ, но я по-прежнему не уверен, правильно ли я понимаю вашу проблему. Вы смущены о типах файлов или путях файлов, которые вы можете использовать с помощью 'pygame.font.Font()'? – Isa

+0

Я читал, что freesansbold.ttf - это шрифт, который поставляется с pygame, поэтому вам не нужно, чтобы файл .ttf загружал его с помощью pygame.font.Font; Я хочу знать, есть ли еще шрифты, которые поставляются с pygame? –

Смежные вопросы