1) Are you using py2exe?

2) Copy-ing the font to the same folder as the game will probably work.

3) I ripped out my font name matching code, it might help. [It might
be easier if you want the whole font wrapper class.]

class Text(object):
        """...code..."""
        def __init__(self, text=None, font=None, size=18,color="black",
bold=False, italic=False):
                """font can be:
                        1) filepath:
                                "ttf/arial.ttf"
                        2) list of names to search: ( calls 
self.match_font(list) )
                                "arial, verdana, freesans"
                        3) None
                                use default font
                """
                self.screen = pygame.display.get_surface()
                self.font_name = font
                self.font_size = size                           
                
                self.color = pygame.color.Color( color )
                self.text = text
                self.antialias = True           
                self.color_bg = None
                self.rect = pygame.Rect(15,15,0,0)

                self.match_font('bitstreamverasans, verdana, arial,lucidia 
console')            
                self._create_font()
                
        def match_font(self, font_list, bold=False, italic=False):
                """pygame.font.match_font() wrapper, but also sets the font. 
You can
                call with a commma deliminated list. It chooses the first valid 
font."""
                filename = pygame.font.match_font(font_list, bold, italic)      
                        
                if not filename: # if failed, fallback on one that works
                        filename = pygame.font.match_font('bitstreamverasans, 
verdana,
arial,lucidia console,freesans, freesansbold') # should at least have
freesans[bold] since it comes with pygame
                if( filename ):
                        self.font_name = filename #was: font_list
                        self._create_font()
                        
        def _create_font(self, font=None):
                """create Font() object"""
                try:
                        self.font = pygame.font.Font( self.font_name, 
self.font_size )
                except IOError:
                        if font:
                                self.match_font(font) #, bold, italic)


-- 
Jake

Reply via email to