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:
Mas se eu \usepackage{realscripts}
ativá-los, perco a capacidade de usar letras como sub/sobrescritos:
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, realscripts
só é ú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 \textsuperscript
argumento 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 a
seria 1
muito diferente, então seria melhor usar \fakesuperscript
(ou seja, não gostar realscripts
) neste caso.