docstr: Return the string bounding box
docstr_tok: ["Return","the","string","bounding","box"]
code: def get_str_bbox_and_descent(self, s):
      """
      Return the string bounding box
      """
      if not len(s):
          return 0, 0, 0, 0
      totalw = 0
      namelast = None
      miny = 1e9
      maxy = 0
      left = 0
      if not isinstance(s, unicode):
          s = s.decode()
      for c in s:
          if c == "\n":
              continue
          name = uni2type1.get(ord(c), "question")
          try:
              wx, bbox = self._metrics_by_name[name]
          except KeyError:
              name = "question"
              wx, bbox = self._metrics_by_name[name]
          l, b, w, h = bbox
          if l < left:
              left = l
          # find the width with kerning
          try:
              kp = self._kern[(namelast, name)]
          except KeyError:
              kp = 0
          totalw += wx + kp
  
          # find the max y
          thismax = b + h
          if thismax > maxy:
              maxy = thismax
  
          # find the min y
          thismin = b
          if thismin < miny:
              miny = thismin
  
      return left, miny, totalw, maxy - miny, -miny
  
imports: import sys, os, re
  from _mathtext_data import uni2type1
label_desc: Use image node_id 4 for calling the AFM obj's underlying member method code with example usage: obj.get_str_bbox_and_descent(s) and returns: left,  miny,  totalw,  unknown,  unknown, int,  int,  int,  int