%%
%% This is file `lwarp-realscripts.sty',
%% generated with the docstrip utility.
%%
%% The original source files were:
%%
%% lwarp.dtx  (with options: `realscripts')
%% This is a generated file.
%% Copyright 2016-2020 Brian Dunn
%% 
%% This work may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either version 1.3
%% of this license or (at your option) any later version.
%% The latest version of this license is in
%%   http://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.
\LWR@ProvidesPackagePass{realscripts}[2016/02/13]
\ExplSyntaxOn

\DeclareDocumentCommand \LWR@print@realsubscript {m} {
  \fontspec_if_fontspec_font:TF {
    \fontspec_if_opentype:TF
    { \fontspec_if_feature:nTF {+subs}
        { {\addfontfeature{VerticalPosition=Inferior}#1} }
        { \fontspec_if_feature:nTF {+sinf}
            { {\addfontfeature{VerticalPosition=ScientificInferior}#1} }
            { \fakesubscript{#1} }
        }
    }
    { \fontspec_if_aat_feature:nnTF {10} {2}
        { {\addfontfeature{VerticalPosition=Inferior}#1} }
        { \fakesubscript{#1} }
    }
  }
  { \fakesubscript{#1} }
}

\DeclareDocumentCommand \LWR@HTML@realsubscript {m} {
    \LWR@HTML@textsubscript{#1}
}

\LWR@formatted{realsubscript}

\DeclareDocumentCommand \LWR@print@realsuperscript {m} {
  \fontspec_if_fontspec_font:TF
  {
    \fontspec_if_opentype:TF
    { \fontspec_if_feature:nTF {+sups}
      { {\addfontfeature{VerticalPosition=Superior}#1} }
      { \fakesuperscript{#1} }
    }
    { \fontspec_if_aat_feature:nnTF {10} {1}
      { {\addfontfeature{VerticalPosition=Superior}#1} }
      { \fakesuperscript{#1} }
    }
  }
  { \fakesuperscript{#1} }
}

\DeclareDocumentCommand \LWR@HTML@realsuperscript {m} {
    \LWR@HTML@textsuperscript{#1}
}

\LWR@formatted{realsuperscript}

\DeclareDocumentCommand \LWR@print@textsubsuperscript {s O{l} mm} {
  \leavevmode
  \group_begin:
  \IfBooleanTF #1
  {
    \hbox_set:Nn \l_tmpa_box {\textsubscript*{#3}}
    \hbox_set:Nn \l_tmpb_box {\textsuperscript*{#4}}
  }
  {
    \hbox_set:Nn \l_tmpa_box {\textsubscript{#3}}
    \hbox_set:Nn \l_tmpb_box {\textsuperscript{#4}}
  }
  \hbox_set:Nn \l_tmpa_box
    { \box_move_down:nn \subsupersep {\box_use:N \l_tmpa_box} }
  \hbox_set:Nn \l_tmpb_box
    { \box_move_up:nn \subsupersep {\box_use:N \l_tmpb_box} }
  \str_case:nnF {#2}
  {
    {l}{\use_i:nnn}
    {c}{\use_ii:nnn}
    {r}{\use_iii:nnn}
  }
  {
    \PackageWarning{realscripts}{
      Unknown~alignment~option~`#2'. \MessageBreak
      One~ of~ `l',~ `c',~ `r',~ only
    }
    \use_i:nnn
  }
  {
    \hbox_overlap_right:n { \box_use:N \l_tmpa_box }
    \hbox_overlap_right:n { \box_use:N \l_tmpb_box }
    \skip_horizontal:n {
      \dim_max:nn {\box_wd:N \l_tmpa_box} {\box_wd:N \l_tmpb_box}
    }
  }
  {
    \dim_compare:nTF { \box_wd:N \l_tmpa_box > \box_wd:N \l_tmpb_box }
    {
      \skip_horizontal:n {
        0.5\box_wd:N \l_tmpa_box-0.5\box_wd:N \l_tmpb_box
      }
      \box_use:N \l_tmpb_box
      \skip_horizontal:n {
        -0.5\box_wd:N \l_tmpa_box-0.5\box_wd:N \l_tmpb_box
      }
      \box_use:N \l_tmpa_box
    }
    {
      \skip_horizontal:n {
        0.5\box_wd:N \l_tmpb_box-0.5\box_wd:N \l_tmpa_box
      }
      \box_use:N \l_tmpa_box
      \skip_horizontal:n {
        -0.5\box_wd:N \l_tmpb_box-0.5\box_wd:N \l_tmpa_box
      }
      \box_use:N \l_tmpb_box
    }
  }
  {
    \skip_horizontal:n {
      \dim_max:nn {\box_wd:N \l_tmpa_box} {\box_wd:N \l_tmpb_box}
    }
    \hbox_overlap_left:n { \box_use:N \l_tmpa_box }
    \hbox_overlap_left:n { \box_use:N \l_tmpb_box }
  }
  \group_end:
}

\ExplSyntaxOff

\newcommand*{\LWR@realscriptsalign}{}

\newcommand*{\LWR@setrealscriptsalign}[1]{%
    \renewcommand*{\LWR@realscriptsalign}{}%
    \ifthenelse{\equal{#1}{c}}{%
        \renewcommand{\LWR@realscriptsalign}{%
            \LWR@print@mbox{text-align:center} ; %
        }%
    }{}%
    \ifthenelse{\equal{#1}{r}}{%
        \renewcommand{\LWR@realscriptsalign}{%
            \LWR@print@mbox{text-align:right} ; %
        }%
    }{}%
}

\DeclareDocumentCommand \LWR@HTML@textsubsuperscript {s O{l} mm} {%
    \LWR@setrealscriptsalign{#2}%
    \InlineClass[\LWR@realscriptsalign]{supsubscript}{%
        \textsuperscript{#4}\textsubscript{#3}%
    }%
}
\LWR@formatted{textsubsuperscript}

\FilenameNullify{%
    \RenewDocumentCommand{\textsuperscript}{s m}{}%
    \RenewDocumentCommand{\textsubscript}{s m}{}%
    \renewcommand{\fakesubscript}[1]{}%
    \renewcommand{\fakesuperscript}[1]{}%
    \renewcommand{\realsubscript}[1]{}%
    \renewcommand{\realsuperscript}[1]{}%
    \renewcommand{\textsubsuperscript}[2]{}%
    \renewcommand{\textsupersubscript}[2]{}%
}
\endinput
%%
%% End of file `lwarp-realscripts.sty'.
