qt_formats = {"svg", "svg", "none", ...
              "pdf", "pdf", "none", ...
              "pdfcrop", "pdf", "none", ...
              "eps", "eps", "none", ...
              "epsc", "eps", "none", ...
              "ps", "ps", "none", ...
              "psc", "ps", "none", ...
              "pslatex", "tex", "latex", ...
              "epslatex", "tex", "latex", ...
              "pdflatex", "tex", "pdflatex", ...
              "pslatexstandalone", "tex", "latex", ...
              "epslatexstandalone", "tex", "latex", ...
              "pdflatexstandalone", "tex", "pdflatex", ...
              "emf", "emf", "none", ...
              "meta", "emf", "none", ...
              "fig", "fig", "none", ...
              "tikz", "tex", "latex", ...
              "png", "png", "none", ...
              "jpg", "jpg", "none", ...
              "jpeg", "jpg", "none", ...
              "tif", "tiff", "none", ...
              "tiff", "tiff", "none", ...
              "tiffn", "tiff", "none", ...
              "gif", "gif", "none", ...
              "pbm", "pbm", "none"};

              
graphics_toolkit ("qt")
fmts = qt_formats(1:3:end);
ext = qt_formats(2:3:end);
engine = qt_formats(3:3:end);

hf = figure ("visible", "off");
plot (1:10)

# basedir = fullfile (tempdir (), "print test")
basedir = fullfile (tempdir (), "print_test")
diaryfile = fullfile (basedir, "print_diary.txt")

if (! exist (basedir, "dir"))
  mkdir (basedir);
else
  unlink (diaryfile);
endif

diary (diaryfile)

for ii = 1:numel (fmts)
  fname = fullfile (basedir, sprintf ("%d-%s.%s", ii, fmts{ii}, ext{ii}));
  printf ("*** %s:\n", fname)
  try
    print (["-d" fmts{ii}], "-debug", fname)
  catch
    printf ("FAILED")
  end_try_catch
  printf ("\n\n", fname)
endfor

diary off
