如何在pygame中显示一个utf-8字符?

How to display an utf-8 character in pygame?

有没有办法使用 pygame 渲染刻度线?我尝试像这样直接使用 unicode:

def write(screen, text, color, position, size):
    font = pygame.font.Font(pygame.font.get_default_font(), size)# Defining a font with font and size
    text_surface = font.render(text, True, color)# Defining the text color which will be rendered
    screen.blit(text_surface, (position[0], position[1])) # Rendering the font

write(window, u'\u2713', self.color, position, size) 

但这只是画了一个矩形。

正在写的这个'rectangle'实际上是符号使用pygame.font.get_default_font()的表示。为了显示 符号,您需要确定该符号包含在您使用的字体中。我提出以下解决方案:

  1. 下载包含该符号的字体(例如 Segoe UI Symbols from here
  2. 将字体包解压到data文件夹(或主应用文件夹)
  3. 将您正在使用的字体更改为下载的字体
    font = pygame.font.Font("seguisym.ttf", size)
  1. 使用 write(window, u'\u2713', self.color, position, size) 方法或直接使用 write(screen, "✓", self.color, position, size)
  2. 写入函数