Alguien me acaba de sugerir en el contexto deotra preguntaconsiderar uno o dos\fontfamily{...}\fontseries{...}
combinaciones; pero no estoy muy interesado en esas opciones. ¿Cómo puedo verificar?todo¿Estas combinaciones están instaladas/disponibles en mi sistema?
Nota:Estaría bien haciendo esto fuera de LaTeX, por ejemplo, desde el shell o incluso usando algún mecanismo específico de distribución de TeX (yo uso TeXLive), si no hay una mejor opción.
Respuesta1
Respuesta2
Las descripciones de las fuentes generalmente se guardan en .fd
archivos (pero no es obligatorio, algunos paquetes pueden definir las fuentes directamente en el .sty
archivo).
El comando de shell
fd '^[tT]1.*\.fd$' /usr/local/texlive/2017/texmf-dist/tex/latex | wc -l
(fd
es un script que proporciona una interfaz más simple que find
) devuelve 555.
Por lo tanto, hay 555 familias de fuentes que admiten la codificación T1 (y 502 para la codificación OT1, con una línea de comando similar).
Ahora tu tarea es mirar dentro de cada .fd
archivo que te interesa y extraer la información relacionada con la forma y la serie proporcionada en la familia de fuentes. Por ejemplo, T1Roboto-LF.fd
contiene
%% Generated by autoinst on 2015/09/15
%%
\ProvidesFile{T1Roboto-LF.fd}
[2015/09/15 (autoinst) Font definitions for T1/Roboto-LF.]
\expandafter\ifx\csname Roboto@scale\endcsname\relax
\let\Roboto@@scale\@empty
\else
\edef\Roboto@@scale{s*[\csname Roboto@scale\endcsname]}%
\fi
\DeclareFontFamily{T1}{Roboto-LF}{}
\DeclareFontShape{T1}{Roboto-LF}{l}{sc}{
<-> \Roboto@@scale Roboto-Light-lf-sc-t1
}{}
\DeclareFontShape{T1}{Roboto-LF}{l}{n}{
<-> \Roboto@@scale Roboto-Light-lf-t1
}{}
\DeclareFontShape{T1}{Roboto-LF}{l}{it}{
<-> \Roboto@@scale Roboto-LightItalic-lf-t1
}{}
\DeclareFontShape{T1}{Roboto-LF}{l}{scit}{
<-> \Roboto@@scale Roboto-LightItalic-lf-sc-t1
}{}
\DeclareFontShape{T1}{Roboto-LF}{l}{scsl}{
<-> ssub * Roboto-LF/l/scit
}{}
\DeclareFontShape{T1}{Roboto-LF}{l}{sl}{
<-> ssub * Roboto-LF/l/it
}{}
\DeclareFontShape{T1}{Roboto-LF}{k}{sc}{
<-> \Roboto@@scale Roboto-Black-lf-sc-t1
}{}
\DeclareFontShape{T1}{Roboto-LF}{k}{n}{
<-> \Roboto@@scale Roboto-Black-lf-t1
}{}
\DeclareFontShape{T1}{Roboto-LF}{k}{it}{
<-> \Roboto@@scale Roboto-BlackItalic-lf-t1
}{}
\DeclareFontShape{T1}{Roboto-LF}{k}{scit}{
<-> \Roboto@@scale Roboto-BlackItalic-lf-sc-t1
}{}
\DeclareFontShape{T1}{Roboto-LF}{k}{scsl}{
<-> ssub * Roboto-LF/k/scit
}{}
\DeclareFontShape{T1}{Roboto-LF}{k}{sl}{
<-> ssub * Roboto-LF/k/it
}{}
\DeclareFontShape{T1}{Roboto-LF}{b}{sc}{
<-> \Roboto@@scale Roboto-Bold-lf-sc-t1
}{}
\DeclareFontShape{T1}{Roboto-LF}{b}{n}{
<-> \Roboto@@scale Roboto-Bold-lf-t1
}{}
\DeclareFontShape{T1}{Roboto-LF}{b}{it}{
<-> \Roboto@@scale Roboto-BoldItalic-lf-t1
}{}
\DeclareFontShape{T1}{Roboto-LF}{b}{scit}{
<-> \Roboto@@scale Roboto-BoldItalic-lf-sc-t1
}{}
\DeclareFontShape{T1}{Roboto-LF}{b}{scsl}{
<-> ssub * Roboto-LF/b/scit
}{}
\DeclareFontShape{T1}{Roboto-LF}{b}{sl}{
<-> ssub * Roboto-LF/b/it
}{}
\DeclareFontShape{T1}{Roboto-LF}{mb}{sc}{
<-> \Roboto@@scale Roboto-Medium-lf-sc-t1
}{}
\DeclareFontShape{T1}{Roboto-LF}{mb}{n}{
<-> \Roboto@@scale Roboto-Medium-lf-t1
}{}
\DeclareFontShape{T1}{Roboto-LF}{mb}{it}{
<-> \Roboto@@scale Roboto-MediumItalic-lf-t1
}{}
\DeclareFontShape{T1}{Roboto-LF}{mb}{scit}{
<-> \Roboto@@scale Roboto-MediumItalic-lf-sc-t1
}{}
\DeclareFontShape{T1}{Roboto-LF}{mb}{scsl}{
<-> ssub * Roboto-LF/mb/scit
}{}
\DeclareFontShape{T1}{Roboto-LF}{mb}{sl}{
<-> ssub * Roboto-LF/mb/it
}{}
\DeclareFontShape{T1}{Roboto-LF}{m}{sc}{
<-> \Roboto@@scale Roboto-Regular-lf-sc-t1
}{}
\DeclareFontShape{T1}{Roboto-LF}{m}{n}{
<-> \Roboto@@scale Roboto-Regular-lf-t1
}{}
\DeclareFontShape{T1}{Roboto-LF}{m}{it}{
<-> \Roboto@@scale Roboto-Italic-lf-t1
}{}
\DeclareFontShape{T1}{Roboto-LF}{m}{scit}{
<-> \Roboto@@scale Roboto-Italic-lf-sc-t1
}{}
\DeclareFontShape{T1}{Roboto-LF}{m}{scsl}{
<-> ssub * Roboto-LF/m/scit
}{}
\DeclareFontShape{T1}{Roboto-LF}{m}{sl}{
<-> ssub * Roboto-LF/m/it
}{}
\DeclareFontShape{T1}{Roboto-LF}{t}{sc}{
<-> \Roboto@@scale Roboto-Thin-lf-sc-t1
}{}
\DeclareFontShape{T1}{Roboto-LF}{t}{n}{
<-> \Roboto@@scale Roboto-Thin-lf-t1
}{}
\DeclareFontShape{T1}{Roboto-LF}{t}{it}{
<-> \Roboto@@scale Roboto-ThinItalic-lf-t1
}{}
\DeclareFontShape{T1}{Roboto-LF}{t}{scit}{
<-> \Roboto@@scale Roboto-ThinItalic-lf-sc-t1
}{}
\DeclareFontShape{T1}{Roboto-LF}{t}{scsl}{
<-> ssub * Roboto-LF/t/scit
}{}
\DeclareFontShape{T1}{Roboto-LF}{t}{sl}{
<-> ssub * Roboto-LF/t/it
}{}
\DeclareFontShape{T1}{Roboto-LF}{bx}{sl}{
<-> ssub * Roboto-LF/b/sl
}{}
\DeclareFontShape{T1}{Roboto-LF}{bx}{scsl}{
<-> ssub * Roboto-LF/b/scsl
}{}
\DeclareFontShape{T1}{Roboto-LF}{bx}{sc}{
<-> ssub * Roboto-LF/b/sc
}{}
\DeclareFontShape{T1}{Roboto-LF}{bx}{n}{
<-> ssub * Roboto-LF/b/n
}{}
\DeclareFontShape{T1}{Roboto-LF}{bx}{it}{
<-> ssub * Roboto-LF/b/it
}{}
\DeclareFontShape{T1}{Roboto-LF}{bx}{scit}{
<-> ssub * Roboto-LF/b/scit
}{}
\endinput
que dice que la fuente proporciona la serie
l
(luz)k
(negro)b
(atrevido)mb
(negrita media)m
(medio o regular)t
(delgado)
y lo define bx
como un alias para b
.
Los descriptores, aparte de m
y, b
son esencialmente cadenas arbitrarias. La Guía de fuentes LaTeX ( texdoc fntguide
) enumera sólo algunos valores "comunes". Lo que llama un paquete de fuentes k
puede ser muy diferente de otro.
Respuesta3
Este sitio web podría ayudar. Útil para comprobar las fuentes disponibles.
Respuesta4
La lista es aún mayor. Es de final abierto. La respuesta es x.
Ahora que xelatex y lualatex pueden acceder a las fuentes del sistema, no sólo a las tex/latex, la lista ha crecido enormemente.
Más,
Supongamos que uso el fontspec
paquete y defino una familia de fuentes \setromanfont{Noto Serif}[
y luego nombro una de sus series 仢ul
y asigno una fuente no relacionada a esa serie, FontFace={仢ul}{n}{Font=SimSun},
y lo hago varias veces.
y tiene
\DeclareRobustCommand{\仢ulseries}{\fontseries{仢ul}\selectfont}
y
\DeclareTextFontCommand{\仢textul}{\仢ulseries}
y luego llamar a la serie con
\仢textul{\sampletext} {\仢ulseries \sampletext}
donde \sampletext
se define como
\newcommand\sampletext{了亶他件}
y lo hago para tantas series (y formas) como quiero o necesito,
entonces entiendo
Sin embargo, la lista estaría limitada por las limitaciones del sistema.