Font Awesome 不支持“Scale”功能

Font Awesome 不支持“Scale”功能

我经常将“Open Sans”和“Font Awesome”与 LuaLaTeX 结合使用。我可以按预期缩放 Open Sans,但我不能缩放 Font Awesome:

\documentclass{article}

\usepackage[german]{babel}
\usepackage{fontawesome}
\usepackage{fontspec}
\usepackage{parskip}

\setmainfont[Scale=1.0]{Open Sans} % Scale works
\fontspec{FontAwesome}[Scale=3.0]  % Scale DOES NOT work

\begin{document}

\makebox[1cm][l]{\faPhone} Test \\
\makebox[1cm][l]{\faExternalLink} Test \\
\makebox[1cm][l]{\faEnvelopeO} Test \\

\end{document}

如何缩放 Font Awesome?对我来说,最好的解决方案是为整个文档设置一个“缩放因子”。我可以这样做吗?

多谢!

问候

托尔斯滕

答案1

\fontspec 是错误的命令,它就像 \huge 或 \sffamily 一样,用于局部字体更改。如果要更改整个文档的字体,请更改底层字体系列:

\documentclass{article}

\usepackage[german]{babel}
\usepackage{fontawesome}
\usepackage{fontspec}


\setmainfont[Scale=1.0]{Open Sans} % Scale works
\newfontfamily{\FA}{FontAwesome}[Scale=3.0]  % Scale DOES NOT work

\begin{document}

\makebox[1cm][l]{\faPhone} Test \\
\makebox[1cm][l]{\faExternalLink} Test \\
\makebox[1cm][l]{\faEnvelopeO} Test \\

\end{document}

在此处输入图片描述

答案2

scaled添加一个选项相当容易fontawesome,但是,遗憾的是,包的作者却没有这样做。

\documentclass{article}

\usepackage[german]{babel}
\usepackage{fontspec}
\usepackage{fontawesome}
\usepackage{letltxmacro}
\usepackage{etoolbox}

\makeatletter
\ifdefined\FA
  % we're in XeLaTeX or LuaLaTeX
  \LetLtxMacro\origFA\FA
  \renewcommand{\FA}{\fontsize{\FAsize}{0}\origFA}
\else
  % pdflatex
  \preto\FAone{\fontsize{\FAsize}{0}}
  \preto\FAtwo{\fontsize{\FAsize}{0}}
  \preto\FAthree{\fontsize{\FAsize}{0}}
\fi
\newcommand{\FAsize}{30}% <---- set here the font size you want

\setmainfont[Scale=1.0]{Open Sans} % Scale works

\begin{document}

\makebox[1cm][l]{\faPhone} Test \\
\makebox[1cm][l]{\faExternalLink} Test \\
\makebox[1cm][l]{\faEnvelopeO} Test \\

\end{document}

在此处输入图片描述

相关内容