Use Commands to Get Font Information in LaTeX
In previous blogs, I explored font size1, font family, font shape, font series2, and font typeface3 in LaTeX. And on another hand, we can use commands, which are redefined from built-in macros of fontspect
package, to get above information of currently used font4, for example:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
\documentclass[a4paper,landscape]{article}
\usepackage[margin=1in]{geometry}
\usepackage[x11names]{xcolor}
\pagecolor{AntiqueWhite1}
\usepackage{fontspec}
\makeatletter
\newcommand{\ffamily}{\f@family}
\newcommand{\fshape}{\f@shape}
\newcommand{\fseries}{\f@series}
\newcommand{\fsize}{\f@size}
\makeatother
\begin{document}
\begin{minipage}{13em}
For different font families:
\begin{enumerate}
\item {\rmfamily \ffamily, \fshape, \fseries, \fsize\ pt}
\item {\sffamily \ffamily, \fshape, \fseries, \fsize\ pt}
\item {\ttfamily \ffamily, \fshape, \fseries, \fsize\ pt}
\end{enumerate}
\end{minipage}
\begin{minipage}{13em}
For different font typefaces:
\begin{enumerate}
\item {\fontfamily{lmdh}\selectfont \ffamily, \fshape, \fseries, \fsize\ pt}
\item {\fontfamily{phv}\selectfont \ffamily, \fshape, \fseries, \fsize\ pt}
\item {\fontfamily{courier}\selectfont \ffamily, \fshape, \fseries, \fsize\ pt}
\end{enumerate}
\end{minipage}
\begin{minipage}{13em}
For different font shapes:
\begin{enumerate}
\item {\upshape \ffamily, \fshape, \fseries, \fsize\ pt}
\item {\itshape \ffamily, \fshape, \fseries, \fsize\ pt}
\item {\slshape \ffamily, \fshape, \fseries, \fsize\ pt}
\item {\scshape \ffamily, \fshape, \fseries, \fsize\ pt}
\end{enumerate}
\end{minipage}
\begin{minipage}{13em}
For different font series:
\begin{enumerate}
\item {\mdseries \ffamily, \fshape, \fseries, \fsize\ pt}
\item {\bfseries \ffamily, \fshape, \fseries, \fsize\ pt}
\end{enumerate}
\end{minipage}
\begin{minipage}{23em}
For different font sizes:
\begin{enumerate}
\item {\tiny \ffamily, \fshape, \fseries, \fsize\ pt}
\item {\scriptsize \ffamily, \fshape, \fseries, \fsize\ pt}
\item {\footnotesize \ffamily, \fshape, \fseries, \fsize\ pt}
\item {\small \ffamily, \fshape, \fseries, \fsize\ pt}
\item {\normalsize \ffamily, \fshape, \fseries, \fsize\ pt}
\item {\large \ffamily, \fshape, \fseries, \fsize\ pt}
\item {\Large \ffamily, \fshape, \fseries, \fsize\ pt}
\item {\LARGE \ffamily, \fshape, \fseries, \fsize\ pt}
\item {\huge \ffamily, \fshape, \fseries, \fsize\ pt}
\item {\Huge \ffamily, \fshape, \fseries, \fsize\ pt}
\end{enumerate}
\end{minipage}
\end{document}
As can be seen, the font information of font family, font typeface, font shape, and font series is denoted by some code, i.e. Berry name5, and font size is by certain number which is in unit of point. The Berry name of font shape and font series is simple, and as for font family and typeface, we can find their Berry names in blog3, StachExchange answer (a more detailed list)6, and fontname.pdf
57.
Another way, which is more convenient, is using command \fontname\font
:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
\documentclass[a4paper,landscape]{article}
\usepackage[margin=1in]{geometry}
\usepackage[x11names]{xcolor}
\pagecolor{AntiqueWhite1}
\usepackage{fontspec}
\begin{document}
\begin{minipage}{30em}
For different font families:
\begin{enumerate}
\item {\rmfamily \fontname\font}
\item {\sffamily \fontname\font}
\item {\ttfamily \fontname\font}
\end{enumerate}
\end{minipage}
\begin{minipage}{30em}
For different font typefaces:
\begin{enumerate}
\item {\fontfamily{lmdh}\selectfont \fontname\font}
\item {\fontfamily{phv}\selectfont \fontname\font}
\item {\fontfamily{courier}\selectfont \fontname\font}
\end{enumerate}
\end{minipage}
\vspace{2em}
\begin{minipage}{35em}
For different font shapes:
\begin{enumerate}
\item {\upshape \fontname\font}
\item {\itshape \fontname\font}
\item {\slshape \fontname\font}
\item {\scshape \fontname\font}
\end{enumerate}
\end{minipage}
\begin{minipage}{30em}
For different font series:
\begin{enumerate}
\item {\mdseries \fontname\font}
\item {\bfseries \fontname\font}
\end{enumerate}
\end{minipage}
\vspace{2em}
\begin{minipage}{\textwidth}
For different font sizes:
\begin{enumerate}
\item {\tiny \fontname\font}
\item {\scriptsize \fontname\font}
\item {\footnotesize \fontname\font}
\item {\small \fontname\font}
\item {\normalsize \fontname\font}
\item {\large \fontname\font}
\item {\Large \fontname\font}
\item {\LARGE \fontname\font}
\item {\huge \fontname\font}
\item {\Huge \fontname\font}
\end{enumerate}
\end{minipage}
\end{document}
References