    # File lib/rubygame/sfont.rb, line 87
        def initialize(filename,glyphs=nil,spacew=nil)
          # load the surface containing all the glyphs
          surface = nil
          if filename.is_a? String
            surface = Surface.load_image(filename)
          elsif filename.is_a? Surface
            surface = filename
          end
          @height = surface.height
          colorkey = surface.get_at(0,@height-1)

          # set colorkey if "transparent" color is not actually transparent
          if colorkey[3] != 0
            surface.set_colorkey(colorkey[0..2])
          end

          @glyphs = {}
          @skip = surface.get_at(0,0)[0..2]

          # split the glyphs into separate surfaces
          glyphs = (glyphs or @@default_glyphs)
          start_x = 2
          glyphs.each{ |glyph| start_x = load_glyph(surface,glyph,start_x) }

          if not glyphs.include?(" ")
            if spacew == nil
              spacew = @glyphs['"'].width
            elsif spacew.kind_of? Numeric
              spacew = spacew.to_i
            elsif spacew.kind_of? String
              if glyphs.include? spacew
                spacew = @glyphs[spacew].width
              else
                spacew = @glyphs['"'].width
              end
            else
              raise(ArgumentError,"spacew must be Numeric, String, \
    or nil (got %s)"%[spacew.class])
            end
            @glyphs[" "] = Surface.new([spacew,@height])
          end
        end