code: def contains_bad_glyph(glyph_data, data):
      
  
      def check_glyph(char):
          for cmap in glyph_data["cmap"].tables:
              if cmap.isUnicode():
                  if char in cmap.cmap:
                      return True
          return False
  
      for part in data:
          text = part.get("full_text", "")
          try:
              # for python 2
              text = text.decode("utf8")
          except AttributeError:
              pass
  
          for char in text:
              if not check_glyph(ord(char)):
                  # we have not found a character in the font
                  print(u"%s (%s) missing" % (char, ord(char)))
                  return True
      return False
docs: Pillow only looks for glyphs in the font used so we need to make sure our
      font has the glygh.  Although we could substitute a glyph from another font
      eg symbola but this adds more complexity and is of limited value.