Fontawesome не масштабируется

Fontawesome не масштабируется

Редактировать:@cfr сообщил, что в новой версии 4.4.0 ошибка исправлена.

Я написал небольшой пример для проверки, еслишрифтпотрясающий скрипт(v. 4.3.0-1) масштабируется вместе с нужным мне размером шрифта, но этого не происходит :(

\documentclass{article}
\usepackage{fontawesome}

\begin{document}

{Normal \faAdjust}
{\Huge Huge \faAdjust}

\end{document}

Я отрендерил tex-файл с помощью pdflatex.

визуализированный текст

Я что-то упустил?

решение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

Автор пакета исправил пакет, чтобы предоставить соответствующую конфигурацию для LaTeX, и теперь пакет поддерживает масштабирование с (pdf)TeX. С текущей версией CTAN (v4.4.0), которая также теперь есть в TeX Live, MWE OP:

\documentclass{article}
\usepackage{fontawesome}

\begin{document}

{Normal \faAdjust}
{\Huge Huge \faAdjust}

\end{document}

выдает ожидаемый результат:

ожидаемый результат

Таким образом, если у вас установлена ​​обновленная копия пакета, ручные исправления, обсуждавшиеся в других ответах здесь, больше не нужны ;).

решение4

КакУльрике Фишер сказала, пакет не устанавливает шрифты правильно для pdfLaTeX. В результате их нельзя масштабировать с помощью обычных команд изменения размера шрифта. Это относится только к использованию pdfLaTeX и не влияет на XeLaTeX/LuaLaTeX.

Ульрике Фишер опубликовала свой ответ, пока я писал свой. Поскольку мой включает более полную конфигурацию, я надеюсь, что она не будет против его публикации.

\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 вообще отсутствует.

Связанный контент