首頁 > 軟體

pygame學習筆記之設定字型及顯示中文

2022-07-05 14:03:58

一、獲得可用字型

import pygame
 
print(pygame.font.get_fonts())

結果: 

['arial', 'arialblack', 'bahnschrift', 'calibri', 'cambriacambriamath', 'cambria', 'candara', 'comicsansms', 'consolas', 'constantia', 'corbel', 'couriernew', 'ebrima', 'franklingothicmedium', 'gabriola', 'gadugi', 'georgia', 'impact', 'inkfree', 'javanesetext', 'leelawadeeui', 'leelawadeeuisemilight', 'lucidaconsole', 'lucidasans', 'malgungothic', 'malgungothicsemilight', 'microsofthimalaya', 'microsoftjhengheimicrosoftjhengheiui', 'microsoftjhengheimicrosoftjhengheiuibold', 'microsoftjhengheimicrosoftjhengheiuilight', 'microsoftnewtailue', 'microsoftphagspa', 'microsoftsansserif', 'microsofttaile', 'microsoftyaheimicrosoftyaheiui', 'microsoftyaheimicrosoftyaheiuibold', 'microsoftyaheimicrosoftyaheiuilight', 'microsoftyibaiti', 'mingliuextbpmingliuextbmingliuhkscsextb', 'mongolianbaiti', 'msgothicmsuigothicmspgothic', 'mvboli', 'myanmartext', 'nirmalaui', 'nirmalauisemilight', 'palatinolinotype', 'segoemdl2assets', 'segoeprint', 'segoescript', 'segoeui', 'segoeuiblack', 'segoeuiemoji', 'segoeuihistoric', 'segoeuisemibold', 'segoeuisemilight', 'segoeuisymbol', 'simsunnsimsun', 'simsunextb', 'sitkasmallsitkatextsitkasubheadingsitkaheadingsitkadisplaysitkabanner', 'sitkasmallsitkatextboldsitkasubheadingboldsitkaheadingboldsitkadisplayboldsitkabannerbold', 'sitkasmallsitkatextbolditalicsitkasubheadingbolditalicsitkaheadingbolditalicsitkadisplaybolditalicsitkabannerbolditalic', 'sitkasmallsitkatextitalicsitkasubheadingitalicsitkaheadingitalicsitkadisplayitalicsitkabanneritalic', 'sylfaen', 'symbol', 'tahoma', 'timesnewroman', 'trebuchetms', 'verdana', 'webdings', 'wingdings', 'yugothicyugothicuisemiboldyugothicuibold', 'yugothicyugothicuilight', 'yugothicmediumyugothicuiregular', 'yugothicregularyugothicuisemilight', 'dengxian', 'fangsong', 'kaiti', 'simhei', 'holomdl2assets', 'extra', 'opensansregular', 'opensanssemibold', '']
 

二、字型的中英文對照

一般的中文字型名,使用拼音即可,如 仿宋fangsong, 楷體kaiti

新細明體:PMingLiU 
細明體:MingLiU 
標楷體:DFKai-SB 
黑體:SimHei 
宋體:SimSun 
新宋體:NSimSun 
仿宋:FangSong 
楷體:KaiTi 
仿宋_GB2312:FangSong_GB2312 
楷體_GB2312:KaiTi_GB2312 
微軟正黑體:Microsoft JhengHei 
微軟雅黑體:Microsoft YaHei

三、設定字型

import pygame,sys
 
pygame.init()#pygame庫的初始化
 
root_sf = pygame.display.set_mode((480,600))#建立視窗,設定大小
 
#顯示文字
print(pygame.font.get_fonts())
font_name = pygame.font.match_font('fangsong')  # 2.獲得字型檔案
font = pygame.font.Font(font_name, 20)  # 1.獲取font物件(需要字型檔案)
# 繪製內容:text為內容,True為是否抗鋸齒, WHITE是字型顏色
font_surface = font.render('你好', True, 'white')  # 3.將文字生成 surface物件
root_sf.blit(font_surface, (100, 100))#4.將文字surface物件 放到背景surface上
 
while True:#阻止視窗關閉
    #事件判斷
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            sys.exit()
 
    #重新整理螢幕
    pygame.display.flip()

四、拓展

1.上方方法是匹配系統的字型

2.匹配字型檔案的字型

import pygame,sys
 
pygame.init()#pygame庫的初始化
 
root_sf = pygame.display.set_mode((480,600))#建立視窗,設定大小
 
#顯示文字
print(pygame.font.get_fonts())
# font_name = pygame.font.match_font('fangsong')  # 2.獲得字型檔案
# font = pygame.font.Font(font_name, 20)  # 1.獲取font物件(需要字型檔案)
font = pygame.font.Font("simhei.ttf", 20)  # 1.獲取font物件(需要字型檔案)
 
# 繪製內容:text為內容,True為是否抗鋸齒, WHITE是字型顏色
font_surface = font.render('你好', True, 'white')  # 3.將文字生成 surface物件
root_sf.blit(font_surface, (100, 100))#4.將文字surface物件 放到背景surface上
 
while True:#阻止視窗關閉
    #事件判斷
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            sys.exit()
 
    #重新整理螢幕
    pygame.display.flip()

總結

到此這篇關於pygame學習筆記之設定字型及顯示中文的文章就介紹到這了,更多相關pygame設定字型及顯示中文內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com