diff --git a/InteractiveHtmlBom/core/fontparser.py b/InteractiveHtmlBom/core/fontparser.py
index 9be158f0..6f185e81 100644
--- a/InteractiveHtmlBom/core/fontparser.py
+++ b/InteractiveHtmlBom/core/fontparser.py
@@ -12,7 +12,10 @@ def parse_font_char(self, chr):
lines = []
line = []
glyph_x = 0
- glyph_str = NEWSTROKE_FONT[ord(chr) - ord(' ')]
+ index = ord(chr) - ord(' ')
+ if index >= len(NEWSTROKE_FONT):
+ index = ord('?') - ord(' ')
+ glyph_str = NEWSTROKE_FONT[index]
for i in range(0, len(glyph_str), 2):
coord = glyph_str[i:i + 2]