Se trovi un bug con il tuo codice o lavoro, ricordati di testare sempre in un ambiente di test prima di aggiungere il codice al progetto finale.
Soluzione:
Le descrizioni dei caratteri sono solitamente conservate in .fd
(ma non è obbligatorio, alcuni pacchetti possono definire i font direttamente nel file .sty
).
Il comando di shell
fd '^[tT]1.*.fd$' /usr/local/texlive/2017/texmf-dist/tex/latex | wc -l
(fd
è uno script che fornisce un'interfaccia più semplice rispetto a find
) restituisce 555.
Quindi ci sono 555 famiglie di font che supportano la codifica T1 (e 502 per la codifica OT1, con una riga di comando simile).
Ora il compito è quello di guardare all'interno di ogni famiglia di font .fd
che vi interessa ed estrarre le informazioni relative alla forma e alla serie fornite dalla famiglia di caratteri. A titolo di esempio, 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.]
expandafterifxcsname [email protected]endcsnamerelax
let[email protected]@scale@empty
else
edef[email protected]@scale{s*[csname [email protected]endcsname]}%
fi
DeclareFontFamily{T1}{Roboto-LF}{}
DeclareFontShape{T1}{Roboto-LF}{l}{sc}{
<-> [email protected]@scale Roboto-Light-lf-sc-t1
}{}
DeclareFontShape{T1}{Roboto-LF}{l}{n}{
<-> [email protected]@scale Roboto-Light-lf-t1
}{}
DeclareFontShape{T1}{Roboto-LF}{l}{it}{
<-> [email protected]@scale Roboto-LightItalic-lf-t1
}{}
DeclareFontShape{T1}{Roboto-LF}{l}{scit}{
<-> [email protected]@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}{
<-> [email protected]@scale Roboto-Black-lf-sc-t1
}{}
DeclareFontShape{T1}{Roboto-LF}{k}{n}{
<-> [email protected]@scale Roboto-Black-lf-t1
}{}
DeclareFontShape{T1}{Roboto-LF}{k}{it}{
<-> [email protected]@scale Roboto-BlackItalic-lf-t1
}{}
DeclareFontShape{T1}{Roboto-LF}{k}{scit}{
<-> [email protected]@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}{
<-> [email protected]@scale Roboto-Bold-lf-sc-t1
}{}
DeclareFontShape{T1}{Roboto-LF}{b}{n}{
<-> [email protected]@scale Roboto-Bold-lf-t1
}{}
DeclareFontShape{T1}{Roboto-LF}{b}{it}{
<-> [email protected]@scale Roboto-BoldItalic-lf-t1
}{}
DeclareFontShape{T1}{Roboto-LF}{b}{scit}{
<-> [email protected]@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}{
<-> [email protected]@scale Roboto-Medium-lf-sc-t1
}{}
DeclareFontShape{T1}{Roboto-LF}{mb}{n}{
<-> [email protected]@scale Roboto-Medium-lf-t1
}{}
DeclareFontShape{T1}{Roboto-LF}{mb}{it}{
<-> [email protected]@scale Roboto-MediumItalic-lf-t1
}{}
DeclareFontShape{T1}{Roboto-LF}{mb}{scit}{
<-> [email protected]@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}{
<-> [email protected]@scale Roboto-Regular-lf-sc-t1
}{}
DeclareFontShape{T1}{Roboto-LF}{m}{n}{
<-> [email protected]@scale Roboto-Regular-lf-t1
}{}
DeclareFontShape{T1}{Roboto-LF}{m}{it}{
<-> [email protected]@scale Roboto-Italic-lf-t1
}{}
DeclareFontShape{T1}{Roboto-LF}{m}{scit}{
<-> [email protected]@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}{
<-> [email protected]@scale Roboto-Thin-lf-sc-t1
}{}
DeclareFontShape{T1}{Roboto-LF}{t}{n}{
<-> [email protected]@scale Roboto-Thin-lf-t1
}{}
DeclareFontShape{T1}{Roboto-LF}{t}{it}{
<-> [email protected]@scale Roboto-ThinItalic-lf-t1
}{}
DeclareFontShape{T1}{Roboto-LF}{t}{scit}{
<-> [email protected]@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
che dice che il font fornisce la serie
l
(luce)k
(nero)b
(grassetto)mb
(grassetto medio)m
(medio o regolare)t
(sottile)
e definisce bx
come alias per b
.
I descrittori, a parte m
e b
sono essenzialmente stringhe arbitrarie. La Guida ai font LaTeX (texdoc fntguide
) elenca solo alcuni valori "comuni". Ciò che un pacchetto di font chiama k
potrebbe essere molto diverso da quello di un altro.
Non tutti i valori possibili, ma è possibile ottenere una panoramica delle opzioni più comuni passando il mouse sul comando in questione in texstudio
:
(questo non controlla se tutti i font sono installati sul sistema e quali pesi hanno effettivamente).
Recensioni e valutazioni del tutorial
Hai la possibilità di aggiungere valore alle nostre informazioni rendendo omaggio alla tua esperienza nelle recensioni.