code: def com_google_fonts_check_ftxvalidator(font):
    
    import plistlib
    try:
      import subprocess
      ftx_cmd = [
          "ftxvalidator",
          "-t",
          "all",  # execute all checks
          font
      ]
      ftx_output = subprocess.check_output(ftx_cmd, stderr=subprocess.STDOUT)
      ftx_data = plistlib.loads(ftx_output)
      # we accept kATSFontTestSeverityInformation
      # and kATSFontTestSeverityMinorError
      if 'kATSFontTestSeverityFatalError' \
         not in ftx_data['kATSFontTestResultKey']:
        yield PASS, "ftxvalidator passed this file"
      else:
        ftx_cmd = [
            "ftxvalidator",
            "-T",  # Human-readable output
            "-r",  # Generate a full report
            "-t",
            "all",  # execute all checks
            font
        ]
        ftx_output = subprocess.check_output(ftx_cmd, stderr=subprocess.STDOUT)
        yield FAIL, f"ftxvalidator output follows:\n\n{ftx_output}\n"
  
    except subprocess.CalledProcessError as e:
      yield ERROR, ("ftxvalidator returned an error code. Output follows:"
                   "\n\n{}\n").format(e.output.decode('utf-8'))
    except OSError:
      yield ERROR, "ftxvalidator is not available!"
docs: Checking with ftxvalidator.