Skip to content

Commit b0e20ee

Browse files
authored
Merge pull request #2678 from Starbuck5/fix-sysfont-bold-italic
Fix sysfont bold italic
2 parents dd03b30 + d9814e2 commit b0e20ee

File tree

2 files changed

+24
-1
lines changed

2 files changed

+24
-1
lines changed

src_py/sysfont.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -466,7 +466,7 @@ def SysFont(name, size, bold=False, italic=False, constructor=None):
466466
name[idx] = single_name.decode()
467467

468468
for single_name in name:
469-
fontname, gotbold, gotitalic = _load_single_font(single_name)
469+
fontname, gotbold, gotitalic = _load_single_font(single_name, bold, italic)
470470
if fontname:
471471
break
472472

test/sysfont_test.py

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,29 @@ def test_sysfont(self):
3131

3232
pygame.font.SysFont(None, 40)
3333

34+
@unittest.skipIf("Windows" not in platform.platform(), "Just for windows")
35+
def test_sysfont_settings(self):
36+
import pygame.font
37+
38+
pygame.font.init()
39+
40+
# The idea of this test is that we know we can expect Arial bold, Arial italic
41+
# Arial, and Arial italic bold to load different fonts on Windows. If that
42+
# isn't happening it may indicate a problem like
43+
# https://github.com/pygame-community/pygame-ce/issues/2677
44+
45+
arial = pygame.font.SysFont("Arial", 40)
46+
arial_bold = pygame.font.SysFont("Arial", 40, bold=True)
47+
arial_italic = pygame.font.SysFont("Arial", 40, italic=True)
48+
arial_bold_italic = pygame.font.SysFont("Arial", 40, bold=True, italic=True)
49+
50+
self.assertNotEqual(arial.style_name, arial_bold.style_name)
51+
self.assertNotEqual(arial.style_name, arial_italic.style_name)
52+
self.assertNotEqual(arial.style_name, arial_bold_italic.style_name)
53+
self.assertNotEqual(arial_bold.style_name, arial_italic.style_name)
54+
self.assertNotEqual(arial_italic.style_name, arial_bold_italic.style_name)
55+
self.assertNotEqual(arial_bold.style_name, arial_bold_italic.style_name)
56+
3457
@unittest.skipIf(
3558
("Darwin" in platform.platform() or "Windows" in platform.platform()),
3659
"Not unix we skip.",

0 commit comments

Comments
 (0)