Provided by: texlive-xetex_2023.20240207-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)