Provided by: texlive-xetex_2024.20241115-1_all bug

NAME

       xetex-unsafe, xelatex-unsafe - run xe(la)latex unsafely

SYNOPSIS

       xetex-unsafe [xetex-options] xelatex-unsafe [xetex-options]

DESCRIPTION

       xetex-unsafe  (xelatex-unsafe)  runs  XeTeX  (XeLaTeX)  unsafely;  specifically, using the
       dvipdfmx-unsafe.cfg configuration file.

       As of TeX Live 2022, doing this is necessary only when running XeTeX  on  documents  using
       PSTricks  features which require transparency. We strongly recommend using Lua(La)TeX with
       PSTricks instead of XeTeX in this case.

       At all costs, avoid using this, or any, unsafe invocation with documents off  the  net  or
       that are otherwise untrusted in any way.

WHY?

       You might well ask why using transparency features is unsafe in XeTeX.  The answer lies in
       the implementation history of Ghostscript, starting as a PostScript interpreter before PDF
       was  invented, when it was acceptable to abort on an error, whereas with PDF, it must keep
       going.  The transparency operators, if abused in relation  to  this  error  recovery,  can
       cause internal inconsistencies in Ghostscript's state.

       Thus, to be safe, we must disallow transparency with Ghostscript by default. The xdvipdfmx
       backend for XeTeX calls  Ghostscript  under  certain  circumstances,  notably  when  using
       PSTricks.   (x)dvipdfmx  itself  is  not  a  PostScript interpreter, which is exactly what
       PSTricks requires.

       Thus, to enable transparency, xe(la)tex-unsafe run XeTeX with arguments to  the  xdvipdfmx
       backend  (-output-driver="xdvipdfmx  -i  dvipdfmx-unsafe.cfg  -q  -E")  to  use  dvipdfmx-
       unsafe.cfg,  which  in  turn  tells  Ghostscript  to  enable  the  transparency  operators
       (-dALLOWPSTRANSPARENCY). They're disabled by default.

       There  have  been  further complications related to reading from the filesystem, but as of
       TL22, these have been solved. The transparency issue cannot be solved without a  different
       Ghostscript  implementation,  and the Ghostscript developers say they have no timeline for
       this.

       To repeat the above: when using PSTricks and transparency, we strongly  recommend  playing
       it safe and using Lua(La)TeX instead of Xe(La)TeX.

OPTIONS

       All command-line arguments except --help and --version are passed to Xe(La)TeX.

BUGS

       For more about XeTeX: https://tug.org/xetex

       For more about PSTricks: https://tug.org/PSTricks

       Email for xe(la)tex-unsafe specifically: https://lists.tug.org/dvipdfmx

                                         20 November 2021                         XETEX-UNSAFE(1)