code: def font_info(font_str):
      
      vals = font_str.split(';')
      point_size, style, weight = 8, 'normal', 'normal'
      family = vals[0]
      if len(vals) > 1:
          style = vals[1]
      if len(vals) > 2:
          weight = vals[2]
  
      match = font_regex.match(family)
      if match:
          family, point_size = match.groups()
          point_size = int(point_size)
  
      return Bunch.Bunch(family=family, point_size=point_size,
                         style=style, weight=weight)
docs: Extract font information from a font string, such as supplied to the
      'font' argument to a widget.