Estoy jugando con una fuente (encontradaaquí) que tiene sups/subs definidos para figuras pero no para letras. Si no los habilito, no los obtengo:
Pero si \usepackage{realscripts}
los habilito, pierdo la capacidad de usar letras como subíndices/superíndices:
¿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, realscripts
só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 \textsuperscript
argumento 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 a
y 1
se vería muy diferente, por lo que sería mejor usar \fakesuperscript
(es decir, no me gusta realscripts
) en este caso.