Onde encontrar o código de família de uma fonte personalizada

Onde encontrar o código de família de uma fonte personalizada

Existe uma lista de referência para a codificação de fontes em LaTeX? Um local onde se pode pesquisar uma fonte específica e obter o código relevante que a representa. Alguns deles nem sequer são lógicos, por exemplo, paraHeróis TeX GyreEu imaginaria um código como " tgh", mas o código é " qhv":

{\usefont{T1}{qhv}{b}{n}\selectfont\huge}  %"qhv" - TeX Gyre Heros, "b" - bold
{\usefont{T2A}{qcr}{m}{n}qcr\selectfont}   % Another font

Eu estava procurando o código de família equivalente paraAlegreyaeAlegreya Sansmas não consigo encontrar. Deve existir, penso eu, porque minha lógica me diz que todas as fontes do mundo têm um código como este associado a elas? Ou talvez não? Onde alguém procuraria esse código? Também abri a fonte no meu visualizador de fontes sem sucesso.

Saúde!

Responder1

Uma forma mais geral de encontrar o nome da família, que não exige a abertura de arquivos e não depende da existência de um .styarquivo, é usar os nomes dos arquivos de definição de fonte ( .fd). Isto funcionará com qualquer fonte configurada para uso com LaTeX, independentemente de um .styarquivo ser fornecido ou não.

Suponha que você queira usar o Zapf Chancery. Isso é fornecido pelo zapfchanpacote e está incluído nas distribuições padrão do TeX. Examinando o conteúdo de texmf-dist/tex/latex/zapfchan/(TeX Live):

8ruzc.fd   omluzc.fd  omsuzc.fd  ot1uzc.fd  t1uzc.fd   ts1uzc.fd

Não há .styarquivo neste caso. Isso torna ainda mais importante descobrir o nome da família, pois é a única maneira de usar a fonte com o LaTeX.

Ajuda saber um pouco sobre codificações de fontes neste momento. 8r, oml, oms, ot1e t1são ts1versões em minúsculas de diferentes codificações de fontes usadas pelo TeX: 8r, OML, OMS, OT1, T1 e TS1. Para descobrir o nome da família, não importa quais sejam. Tudo o que importa é que você saiba que são codificações.

  • Pegue o nome de qualquer .fdarquivo. -> Ex t1uzc.fd.
  • Exclua o .fdsufixo. -> Ex t1uzc.
  • Exclua o prefixo de codificação. -> Ex uzc.
  • O que resta é o nome de uma família de fontes. Por exemplo uzc.

Algumas fontes podem ter diversas famílias de fontes diferentes, além de codificações diferentes. Nesses casos, você precisaria investigar mais a fundo para descobrir qual família deseja usar. Para Zapf Chancery, entretanto, existe apenas uma única família uzce é isso que você usaria para selecionar a fonte no LaTeX.

O nome dos arquivos de definição de fonte informa outra coisa crucial: eles informam em quais codificações a fonte está disponível.

  • 8r: esta é uma codificação 'bruta' - você pode esquecer isso, a menos que esteja interessado em criar pacotes de fontes você mesmo;
  • OML/OMS: codificações que suportam matemática;
  • OT1: a codificação de texto padrão do TeX e também usada em matemática;
  • T1: uma codificação de texto aprimorada com suporte muito melhor que OT1 para caracteres acentuados, em particular;
  • TS1: uma codificação de texto suplementar que fornece vários símbolos, como o símbolo de copyright, números de estilo antigo, etc.

Você pode ficar intrigado neste momento ao descobrir que

\fontencoding{T1}\fontfamily{uzc}\selectfont Is this Zapf Chancery?

ainda produz Computer Modern Roman em vez de Zapf Chancery. O LaTeX irá avisá-lo de que substituiu as fontes no console e no log e (para o pdfTeX) seu visualizador de PDF mostrará que o CMR ainda está sendo usado. Por que a seleção da fonte falha?

Para descobrir isso, você tem que olhardentroo arquivo de definição de fonte. (Eu apenas disse que você não precisava abrir arquivos para descobrir a família - não disse que você seria capaz de usá-los!)

Lendo t1uzc.fd, encontramos a seguinte linha:

\DeclareFontShape{T1}{uzc}{mb}{it}{
   <-> uzcmi8t
}{}

Isso mostra que a família inclui uma fonte em série mb(negrito médio) e formato it(itálico).

As próximas duas declarações de forma:

\DeclareFontShape{T1}{uzc}{m}{it}{<->ssub * uzc/mb/it}{}
\DeclareFontShape{T1}{uzc}{mb}{sl}{<->ssub * uzc/mb/it}{}

diga-nos que esta fonte única ( uzc/mb/it) é substituída silenciosamente (ou seja, sem aviso prévio) se for solicitada a forma itálica em peso médio ( msérie) ou a forma inclinada ( sl) na série média em negrito.

A declaração final da forma:

\DeclareFontShape{T1}{uzc}{m}{sl}{<->ssub * uzc/mb/sl}{}

nos diz que o uzc/mb/slé silenciosamente substituído se for solicitada a forma inclinada na série média. Como o itálico e o negrito médio são substituídos de uzc/mb/slqualquer maneira, isso significa efetivamente que não importa qual itálico e inclinado sejam solicitados, e não importa qual seja o médio e o negrito médio, sempre obteremos a forma itálico e negrito médio.

No entanto, nada está definido para a forma vertical padrão. Portanto, para realmente usar o Zapf Chancery, precisamos também mudar para o formato itálico ou inclinado. Por segurança, seria melhor especificar também o peso. Dessa forma, se o negrito estiver ativo, digamos, não obteremos algo inesperado (como CMR em negrito).

\fontencoding{T1}\fontfamily{uzc}\fontshape{it}\fontseries{mb}\selectfont Is this Zapf Chancery?

Observe que este método de encontrar o nome da família funcionará independentemente de o nome da fonte seguir ou não o esquema Berry. Por exemplo,

texmf-dist/tex/latex/ebgaramond/T1EBGaramond-OsF.fd

nos diz que há uma família de fontes disponível na codificação T1 chamada EBGaramond-OsFque poderíamos selecionar de forma semelhante, \fontfamily{}se apropriado. [Embora geralmente seja melhor, neste caso, usar o .styarquivo fornecido pelo pacote.)

Responder2

As fontes Alegreya (serif e Sans) não usam o esquema Berry, onde o sobrenome é uma abreviatura de três (ou quatro) letras.

Você encontra os nomes de família em Alegreya.stye AlegreyaSans.sty.

Alegreya

220 \else % type1
221 
222   \def\Alegreyafamily{Alegreya-\Alegreya@figurealign \Alegreya@figurestyle}
223   \def\Alegreya{\fontfamily{\Alegreyafamily}\selectfont}
224   \def\AlegreyaLF{\fontfamily{Alegreya-LF}\selectfont}
225   \def\AlegreyaOsF{\fontfamily{Alegreya-OsF}\selectfont}
226   \def\AlegreyaTLF{\fontfamily{Alegreya-TLF}\selectfont}
227   \def\AlegreyaTOsF{\fontfamily{Alegreya-TOsF}\selectfont}

AlegreyaSans

235 \else % type1
236 
237   \def\AlegreyaSansfamily{AlegreyaSans-\AlegreyaSans@figurealign \AlegreyaSans@figurestyle}
238   \def\AlegreyaSans{\fontfamily{\AlegreyaSansfamily}\selectfont}
239   \def\AlegreyaSansLF{\fontfamily{AlegreyaSans-LF}\selectfont}
240   \def\AlegreyaSansOsF{\fontfamily{AlegreyaSans-OsF}\selectfont}
241   \def\AlegreyaSansTLF{\fontfamily{AlegreyaSans-TLF}\selectfont}
242   \def\AlegreyaSansTOsF{\fontfamily{AlegreyaSans-TOsF}\selectfont}

Adicionei os números das linhas para referência. As últimas quatro linhas de cada trecho de código informam o que usar como argumento \fontfamily.

As siglas LF, OsFe significam “figuras de forro”, “figuras de estilo antigo”, “figuras de forro tabular” e “figuras de estilo antigo tabular” TLF.TOsF

Para XeLaTeX ou LuaLaTeX é mais fácil: digite

\newfontfamily{\alegreyasans}[
  <options>
]{AlegreyaSans}

e use \alegreyasansquando quiser esta fonte.

informação relacionada