¿Cómo conseguir subs/sups para figuras pero no para letras?

¿Cómo conseguir subs/sups para figuras pero no para letras?

Estoy jugando con una fuente (encontradaaquí) que tiene sups/subs definidos para figuras pero no para letras. Si no los habilito, no los obtengo:

No hay sups/subs adecuados para las figuras.

Pero si \usepackage{realscripts}los habilito, pierdo la capacidad de usar letras como subíndices/superíndices:

con paquetes realscripts

¿Hay alguna manera de obtener las cifras de subs/sups y al mismo tiempo conservar la capacidad de usar letras en subíndices/superíndices? Aquí está mi código:

\documentclass{standalone}
\usepackage{fontspec}
\setmainfont{OFLGoudyStM}[
    Extension      = .otf,
    Ligatures      = {Common, TeX},
    ItalicFont     = OFLGoudyStM-Italic]
\usepackage{realscripts}

\begin{document}
\begin{tabular}{l}
  M\textsuperscript{abc0123456789def} \\
  M\textsubscript{abc0123456789def}
\end{tabular}
\end{document}

Respuesta1

No, realscriptssólo es útil sitodoLos glifos que necesita en superíndice o subíndice se dibujan específicamente en la fuente. No hay forma dentro de XeTeX de detectar si una característica de fuente determinada afectará a un glifo en particular (o una serie de glifos), por lo que ni siquiera puedes saberlo hasta que escribas el documento e inspecciones el resultado.

Bueno, en algunos casos podrías crear un cuadro y comparar su tamaño antes y después de configurar la función de fuente, pero ese método probablemente tenga casos extremos que harían que ocasionalmente no fuera confiable.

Otra opción podría ser inspeccionar el contenido del \textsuperscriptargumento y bifurcar según la entrada. Es decir,

\textsuperscript{a1} -> 
\textsuperscript{a}\textsuperscript{1} ->
\fakesuperscript{a}\realsuperscript{1}

Pero esto se vería terrible porque ay 1se vería muy diferente, por lo que sería mejor usar \fakesuperscript(es decir, no me gusta realscripts) en este caso.

información relacionada