Como obter subs/sups para figuras, mas não para letras?

Como obter subs/sups para figuras, mas não para letras?

Estou brincando com uma fonte (encontradaaqui) que tem sups/subs definidos para figuras, mas não para letras. Se eu não os ativar, não os entendo:

Não há sups/subs adequados para figuras

Mas se eu \usepackage{realscripts}ativá-los, perco a capacidade de usar letras como sub/sobrescritos:

com pacote realscripts

Existe uma maneira de obter os números de subs/sups e ao mesmo tempo manter a capacidade de usar letras em subs/sobrescritos? Aqui está o meu 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}

Responder1

Não, realscriptssó é útil setodosos glifos que você precisa sobrescrever ou subscrever são desenhados especificamente na fonte. Não há como no XeTeX detectar se um determinado recurso de fonte afetará um glifo específico (ou uma série de glifos), então você não pode saber até digitar o documento e inspecionar a saída.

Bem, em alguns casos você poderia fazer uma caixa e comparar seu tamanho antes e depois de definir o recurso de fonte, mas esse método provavelmente tem casos extremos que ocasionalmente fariam com que ele não fosse confiável.

Outra opção pode ser inspecionar o conteúdo do \textsuperscriptargumento e ramificar de acordo com a entrada. Ou seja,

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

Mas isso pareceria terrível porque aseria 1muito diferente, então seria melhor usar \fakesuperscript(ou seja, não gostar realscripts) neste caso.

informação relacionada