%%
%% This is file `atfi-dvipdfmx.def',
%% generated with the docstrip utility.
%%
%% The original source files were:
%%
%% attachfile2.dtx  (with options: `dvipdfmx')
%% 
%% This is a generated file.
%% 
%% Project: attachfile2
%% Version: 2024-01-18 v2.12
%% 
%% Copyright (C)
%%    2005-2010, 2012  Heiko Oberdiek
%%    2016-2019  Oberdiek Package Support Group
%% 
%% This work may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either
%% version 1.3c of this license or (at your option) any later
%% version. This version of this license is in
%%    https://www.latex-project.org/lppl/lppl-1-3c.txt
%% and the latest version of this license is in
%%    https://www.latex-project.org/lppl.txt
%% and version 1.3 or later is part of all distributions of
%% LaTeX version 2005/12/01 or later.
%% 
%% This work has the LPPL maintenance status "maintained".
%% 
%% The Current Maintainers of this work are
%% Heiko Oberdiek and the Oberdiek Package Support Group
%% https://github.com/ho-tex/attachfile2/issues
%% 
%% 
%% This work consists of the main source file attachfile2.dtx
%% and the derived files
%%    attachfile2.sty, attachfile2.pdf,
%%    atfi-dvips.def, atfi-pdftex.def, atfi-dvipdfmx.def, atfi-luatex.def
%%    pdfatfi.pl, pdfatfi.1.
%% 
\NeedsTeXFormat{LaTeX2e}
\ProvidesFile{atfi-dvipdfmx.def}%
  [2024-01-18 v2.12 attachfile2 driver for dvipdfmx/XeTeX (HO)]%
\def\atfi@special#1{%
  \special{pdf:#1}%
}
\def\atfi@literal#1{%
  \atfi@special{content #1}%
}
\def\atfi@GSAVE{q }
\def\atfi@GRESTORE{Q }
\def\atfi@SETLINEWIDTH{w }
\def\atfi@LINETO{l }
\def\atfi@MOVETO{m }
\def\atfi@STROKE{S }
\def\atfi@FILL{f }
\def\atfi@FILLSTROKE#1#2{#1#2B }
\def\atfi@SETRGBCOLORSTROKE{RG }
\def\atfi@SETRGBCOLORFILL{rg }
\def\atfi@SETGRAYSTROKE{G }
\def\atfi@SETGRAYFILL{g }
\def\atfi@SETCMYKCOLORSTROKE{K }
\def\atfi@SETCMYKCOLORFILL{k }
\def\atfi@RECTFILL{re f }
\def\atfi@RECTSTROKEFILL#1#2#3{#1#2#3re B }
\def\atfi@SETMITERLIMIT{M }
\def\atfi@SETFLAT{i }
\def\atfi@SETLINECAP{J }
\def\atfi@CURVETO{c }
\def\atfi@CURVETOV{v }
\def\atfi@CURVETOY{y }
\def\atfi@CLOSEPATH{h }
\def\atfi@SETLINEJOIN{j }
\newcounter{atfi@obj}
\renewcommand*{\theatfi@obj}{%
  @atfi_obj_\number\c@atfi@obj
}
\define@key{AtFi@file}{Size}{%
  \edef\atfi@params{\atfi@params/Size #1}%
}
\def\atfi@embedfile#1{%
  \ltx@IfUndefined{atfi@fileobj@#1}{%
    \stepcounter{atfi@obj}%
    \begingroup
      \let\atfi@params\ltx@empty
      \expandafter\let\expandafter\atfi@temp
          \csname atfi@file@#1\endcsname
      \ifx\atfi@temp\ltx@empty
        \let\atfi@temp\relax
      \fi
      \ifx\atfi@temp\relax
        \atfi@pdftexdata{#1}%
      \else
        \edef\x{%
          \noexpand\setkeys{AtFi@file}{\@nameuse{atfi@file@#1}}%
        }%
        \x
      \fi
      \ifx\atfi@params\ltx@empty
      \else
        \edef\atfi@params{/Params<<\atfi@params>>}%
      \fi
      \edef\atfi@FILE{#1}%
      \filename@parse\atfi@FILE
      \ifx\filename@area\ltx@empty
        \edef\atfi@FILE{./\atfi@FILE}%
      \fi
      \EdefEscapeString\atfi@FILE{\atfi@FILE}%
      \atfi@special{fstream %
        \theatfi@obj
        (\atfi@FILE)%
        <<%
          /Type/EmbeddedFile%
          \atfi@mimetype
          \atfi@params
        >>%
      }%
      \atfi@special{close \theatfi@obj}%
      \expandafter
      \xdef\csname atfi@fileobj@#1\endcsname{\theatfi@obj}%
    \endgroup
  }{%
    % file already embedded
  }%
}
\def\atfi@xform{%
  \stepcounter{atfi@obj}%
  \smash{%
    \rlap{%
      \atfi@special{bxobj \theatfi@obj\space
        width \the\wd\atfi@appearancebox\space
        height \the\ht\atfi@appearancebox\space
        depth \the\dp\atfi@appearancebox
      }%
      \usebox\atfi@appearancebox
      \atfi@special{exobj}%
    }%
  }%
  \edef\atfi@appearanceobj{\theatfi@obj}%
}
\let\atfi@xform@icon\atfi@xform
\def\atfi@refxform#1{%
  \leavevmode
  \atfi@special{uxobj #1}%
}
\def\atfi@insert@file@annot#1{%
  \rule{0pt}{0pt}%
  \ifatfi@appearance
    \def\atfi@appearance@dict{%
      /AP<<%
        /N \atfi@appearanceobj
        /R \atfi@appearanceobj
        /D \atfi@appearanceobj
      >>%
    }%
  \else
    \let\atfi@appearance@dict\ltx@empty
  \fi
  \ltx@IfUndefined{atfi@fsobj@#1}{%
    \begingroup
      \ifxetex
        \let\atfi@temp\Hy@Warning
        \let\Hy@Warning\ltx@gobble
      \fi
      \Hy@unicodefalse%
      \ifxetex
        \let\Hy@Warning\atfi@temp
      \fi
      \atfi@pdfstringdef\atfi@file{#1}%
      \stepcounter{atfi@obj}%
      \atfi@special{obj \theatfi@obj <<%
          /Type/Filespec%
          /F(\atfi@file)%
          \ifx\atfi@ucfilespec\ltx@empty
          \else
            /UF(\atfi@ucfilespec)%
          \fi
          /EF<<%
            /F \@nameuse{atfi@fileobj@#1}%
          >>%
        >>%
      }%
      \expandafter\xdef\csname atfi@fsobj@#1\endcsname{%
        \theatfi@obj
      }%
    \endgroup
  }{%
  }%
  \begingroup
    \dimen@=\atfi@scale\atfi@appearancewidth
    \edef\atfi@rule{width \the\dimen@}%
    \dimen@=\atfi@scale\atfi@appearanceheight
    \edef\atfi@rule{\atfi@rule\space height \the\dimen@}%
    \dimen@=\atfi@scale\atfi@appearancedepth
    \edef\atfi@rule{\atfi@rule\space depth \the\dimen@}%
    \atfi@special{ann \atfi@rule
      <<%
        /Subtype/FileAttachment%
        \atfi@icon
        \atfi@color@annot
        \atfi@author
        \atfi@date
        \atfi@annotname
        \atfi@description
        \atfi@subject
        \atfi@appearance@dict
        /F \theatfi@flags
        /FS \@nameuse{atfi@fsobj@#1}%
      >>%
    }%
  \endgroup
  \rule{0pt}{\atfi@appearanceheight}%
  \rule[-\atfi@appearancedepth]{0pt}{\atfi@appearancedepth}%
  \rule{\atfi@appearancewidth}{0pt}%
}
\endinput
%%
%% End of file `atfi-dvipdfmx.def'.
