有人剛剛在上下文中向我建議另一個問題考慮一種或兩種\fontfamily{...}\fontseries{...}
組合;但我不太熱衷於這些選擇。我怎樣才能檢查全部我的系統上安裝/可用的此類組合?
筆記:如果沒有更好的選擇,我可以在 LaTeX 之外執行此操作,例如從 shell 甚至使用某些 TeX 發行版特定的機制(我使用 TeXLive)。
答案1
答案2
字體描述通常保存在.fd
文件中(但這不是強制性的,某些包可能直接在.sty
文件中定義字體)。
外殼命令
fd '^[tT]1.*\.fd$' /usr/local/texlive/2017/texmf-dist/tex/latex | wc -l
(fd
是一個提供比 ) 回傳 555 更簡單介面的腳本find
。
因此,有 555 個字體系列支援 T1 編碼(502 個字體系列支援 OT1 編碼,具有類似的命令列)。
現在您的任務是查看.fd
您感興趣的每個文件並提取與字體系列中提供的形狀和系列相關的資訊。僅舉個例子,T1Roboto-LF.fd
包含
%% 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
上面說字體提供了該系列
l
(光)k
(黑色的)b
(大膽的)mb
(中粗體)m
(中或常規)t
(薄的)
並定義bx
為 的別名b
。
m
除了 和之外,描述符b
本質上是任意字串。 LaTeX 字型指南 ( texdoc fntguide
) 僅列出了一些「常見」值。字體包調用的內容k
可能與另一個字體包調用的內容非常不同。
答案3
這個網站可能會有所幫助。用於檢查可用字體。
答案4
這個名單甚至更大。它是開放式的。答案是x。
現在 xelatex 和 lualatex 可以存取系統字體,而不僅僅是 tex/latex 字體,因此該清單已大大增加。
更遠,
假設我使用該fontspec
套件並定義一個字體系列\setromanfont{Noto Serif}[
,然後命名其中一個系列仢ul
並為該系列分配一個不相關的字體,FontFace={仢ul}{n}{Font=SimSun},
我多次這樣做,
並有
\DeclareRobustCommand{\仢ulseries}{\fontseries{仢ul}\selectfont}
和
\DeclareTextFontCommand{\仢textul}{\仢ulseries}
然後調用該系列
\仢textul{\sampletext} {\仢ulseries \sampletext}
其中\sampletext
定義為
\newcommand\sampletext{了亶他件}
我會按照我想要或需要的數量來製作多個系列(和形狀),
然後我得到
不過,該清單將受到系統限制。