
編輯:@cfr 說,在新版本 4.4.0 中,該錯誤已修復。
我寫了一個小樣本來測試,如果很棒的腳本(v. 4.3.0-1) 以我想要的字體大小放大,但它沒有:(
\documentclass{article}
\usepackage{fontawesome}
\begin{document}
{Normal \faAdjust}
{\Huge Huge \faAdjust}
\end{document}
我已經用 pdflatex 渲染了 tex 檔。
我錯過了什麼嗎?
答案1
麥粒腫的作者沒有編寫程式碼來實現字體縮放。您可以調整它:
\documentclass{article}
\usepackage{fontawesome}
\DeclareFontFamily{U}{fontawesomeOne}{}
\DeclareFontShape{U}{fontawesomeOne}{m}{n}
{<-> FontAwesome--fontawesomeone}{}
\DeclareRobustCommand\FAone{\fontencoding{U}\fontfamily{fontawesomeOne}\selectfont}
\begin{document}
{Normal \faAdjust}
{\Huge Huge \faAdjust}
\end{document}
您必須為\FAtwo
和編寫類似的定義\FAthree
。
答案2
該fontawesome.sty
文件做了一件非常錯誤的事情。最後你會發現
%-------------------------------------------------------------------------------
% pdflatex implementation
%-------------------------------------------------------------------------------
\else
% definition of \FA... as a shortcut to load the Font Awesome font
\pdfmapline{+FontAwesome--fontawesomeone FontAwesome "fontawesomeone ReEncodeFont" <[fontawesomeone.enc <FontAwesome.pfb}
\font\FAone=FontAwesome--fontawesomeone.enc
\pdfmapline{+FontAwesome--fontawesometwo FontAwesome "fontawesometwo ReEncodeFont" <[fontawesometwo.enc <FontAwesome.pfb}
\font\FAtwo=FontAwesome--fontawesometwo.enc
\pdfmapline{+FontAwesome--fontawesomethree FontAwesome "fontawesomethree ReEncodeFont" <[fontawesomethree.enc <FontAwesome.pfb}
\font\FAthree=FontAwesome--fontawesomethree.enc
% icon-specific commands
\input{fontawesomesymbols-pdftex.tex}
\fi
眾所周知,\font
在 LaTeX 中使用總是錯誤的。
您可以透過正確定義來修復它\FAone
,\FAtwo
並\FAthree
做正確的事情來修復它:
\documentclass{article}
\usepackage{fontawesome}
\DeclareFontFamily{U}{fontawesome1}{}
\DeclareFontShape{U}{fontawesome1}{m}{n}{<->FontAwesome--fontawesomeone}{}
\DeclareFontFamily{U}{fontawesome2}{}
\DeclareFontShape{U}{fontawesome2}{m}{n}{<->FontAwesome--fontawesometwo}{}
\DeclareFontFamily{U}{fontawesome3}{}
\DeclareFontShape{U}{fontawesome3}{m}{n}{<->FontAwesome--fontawesomethree}{}
\DeclareRobustCommand{\FAone}{\usefont{U}{fontawesome1}{m}{n}}
\DeclareRobustCommand{\FAtwo}{\usefont{U}{fontawesome2}{m}{n}}
\DeclareRobustCommand{\FAthree}{\usefont{U}{fontawesome3}{m}{n}}
\begin{document}
{Normal \faAdjust}
{\Huge Huge \faAdjust}
\end{document}
包中正確的程式碼應該是
%-------------------------------------------------------------------------------
% pdflatex implementation
%-------------------------------------------------------------------------------
\else
% definition of \FA... as a shortcut to load the Font Awesome font
\pdfmapline{+FontAwesome--fontawesomeone FontAwesome "fontawesomeone ReEncodeFont" <[fontawesomeone.enc <FontAwesome.pfb}
\pdfmapline{+FontAwesome--fontawesometwo FontAwesome "fontawesometwo ReEncodeFont" <[fontawesometwo.enc <FontAwesome.pfb}
\pdfmapline{+FontAwesome--fontawesomethree FontAwesome "fontawesomethree ReEncodeFont" <[fontawesomethree.enc <FontAwesome.pfb}
\DeclareFontFamily{U}{fontawesome1}{}
\DeclareFontShape{U}{fontawesome1}{m}{n}{<->FontAwesome--fontawesomeone}{}
\DeclareFontFamily{U}{fontawesome2}{}
\DeclareFontShape{U}{fontawesome2}{m}{n}{<->FontAwesome--fontawesometwo}{}
\DeclareFontFamily{U}{fontawesome3}{}
\DeclareFontShape{U}{fontawesome3}{m}{n}{<->FontAwesome--fontawesomethree}{}
\DeclareRobustCommand{\FAone}{\usefont{U}{fontawesome1}{m}{n}}
\DeclareRobustCommand{\FAtwo}{\usefont{U}{fontawesome2}{m}{n}}
\DeclareRobustCommand{\FAthree}{\usefont{U}{fontawesome3}{m}{n}}
% icon-specific commands
\input{fontawesomesymbols-pdftex.tex}
\fi
答案3
答案4
作為烏爾里克費雪說,該包未正確設定 pdfLaTeX 的字體。因此,無法使用普通的字體大小命令來縮放它們。這是特定於 pdfLaTeX 的使用,不影響 XeLaTeX/LuaLaTeX。
當我寫我的答案時,烏爾里克·費舍爾(Ulrike Fischer)發布了她的答案。由於我的包含了更完整的配置,所以我希望她不會介意我發布它。
\documentclass{article}
\usepackage{fontawesome}
\DeclareFontFamily{U}{FontAwesomeOne}{}
\DeclareFontShape{U}{FontAwesomeOne}{m}{n}{<-> FontAwesome--fontawesomeone}{}
\DeclareRobustCommand\FAone{\fontencoding{U}\fontfamily{FontAwesomeOne}\fontseries{m}\fontshape{n}\selectfont}
\DeclareFontFamily{U}{FontAwesomeTwo}{}
\DeclareFontShape{U}{FontAwesomeTwo}{m}{n}{<-> FontAwesome--fontawesometwo}{}
\DeclareRobustCommand\FAtwo{\fontencoding{U}\fontfamily{FontAwesomeTwo}\fontseries{m}\fontshape{n}\selectfont}
\DeclareFontFamily{U}{FontAwesomeThree}{}
\DeclareFontShape{U}{FontAwesomeThree}{m}{n}{<-> FontAwesome--fontawesomethree}{}
\DeclareRobustCommand\FAthree{\fontencoding{U}\fontfamily{FontAwesomeThree}\fontseries{m}\fontshape{n}\selectfont}
\begin{document}
{Normal \faAdjust}
{\Huge Huge \faAdjust}
\end{document}
另外值得注意的是,除了軟體包作者的決定之外,沒有理由認為這些字體也不能與常規 TeX 引擎一起使用。然而,據我所知,對 pdfLaTeX 的支援有限,對 LaTeX 根本沒有支援。