code: def _parse_da(self):
          
          if not self._text_da:
              return
          font = "Helv"
          fsize = 0
          col = (0, 0, 0)
          dat = self._text_da.split()              # split on any whitespace
          for i, item in enumerate(dat):
              if item == "Tf":
                  font = dat[i - 2][1:]
                  fsize = float(dat[i - 1])
                  dat[i] = dat[i-1] = dat[i-2] = ""
                  continue
              if item == "g":            # unicolor text
                  col = [(float(dat[i - 1]))]
                  dat[i] = dat[i-1] = ""
                  continue
              if item == "rg":           # RGB colored text
                  col = [float(f) for f in dat[i - 3:i]]
                  dat[i] = dat[i-1] = dat[i-2] = dat[i-3] = ""
                  continue
          self.text_font     = font
          self.text_fontsize = fsize
          self.text_color    = col
          self._text_da = " ".join([c for c in dat if c != ""])
          return
docs: Extract font name, size and color from default appearance string (/DA object). Equivalent to 'pdf_parse_default_appearance' function in MuPDF's 'pdf-annot.c'.