使用大型字体系列而不声明许多新字体系列

使用大型字体系列而不声明许多新字体系列

Vollkorn我已经从下载了字体https://www.fontsquirrel.com/fonts/vollkorn有 8 种样式:常规、半粗体、粗体、黑色和斜体。还有 18 种样式的字体,但我想插图用不着。

我想使用所有这些风格,所以我想做这样的事情:

\newfontfamily\voll{Vollkorn-Regular.ttf}%
    [
        Extension           =   .ttf,
        ItalicFont          =   Vollkorn-Italic,
        SemiBoldFont        =   Vollkorn-Semibold,
        SemiBoldItalicFont  =   Vollkorn-SemiBoldItalic,
        BoldFont            =   Vollkorn-Bold,
        BoldItalicFont      =   Vollkorn-BoldItalic,
        BlackFont           =   VollkornBlack,
        BlackItalicFont     =   Vollkorn-BlackItalic

    ]

然后在文档中的某处:

\textblack{Black Text}, \textsemibolditalic{Semi-Bold Italized}.

我不知道该怎么做,所以现在我已经定义了到系列:voll--- 对于普通字体,哪个粗体版本是半粗体,vollbold哪个普通版本是粗体,哪个粗体版本是黑色:

\newfontfamily\voll{Vollkorn-Regular.ttf}%
    [
        Extension       =   .ttf,
        BoldFont        =   Vollkorn-Semibold,
        ItalicFont      =   Vollkorn-Italic,
        BoldItalicFont  =   Vollkorn-SemiBoldItalic
    ]
\newfontfamily\vollbold{Vollkorn-Bold.ttf}%
    [
        Extension       =   .ttf,
        BoldFont        =   Vollkorn-Black,
        ItalicFont      =   Vollkorn-BoldItalic,
        BoldItalicFont  =   Vollkorn-BlackItalic
    ]

为了产生所需的输出,我这样做

\voll
This is normal font\\
\textbf{Applying bf to normal font, we get the semibold version}\\
\vollbold We now swith to bold version\\
\textbf{And now the bold version of bold version, a.\,k.\,a. BLACK}

产生

在此处输入图片描述

编辑:正如评论中提到的那样,这样做\newcommand{\textblack}[1]{{\vollbold\textbf{#1}}}并不能达到目的,因为如果我有多种具有多种样式的字体,我想将\textblack它们全部使用,而无需为每种字体定义一个特殊的命令。

我可以让我的生活更轻松并做我想做的事吗?

这里是完整的平均能量损失(可与 LuaLaTeX 甚至 XeLaTeX 编译)

\documentclass{scrartcl}

\usepackage[no-math]{fontspec}
\usepackage{polyglossia}

\setmainlanguage{english}
\defaultfontfeatures{Ligatures=TeX}

\setmainfont{Vollkorn}

    \newfontfamily\voll{Vollkorn-Regular.ttf}%
        [
            Extension       =   .ttf,
            BoldFont        =   Vollkorn-Semibold,
            ItalicFont      =   Vollkorn-Italic,
            BoldItalicFont  =   Vollkorn-SemiBoldItalic
        ]
    \newfontfamily\vollbold{Vollkorn-Bold.ttf}%
        [
            Extension       =   .ttf,
            BoldFont        =   Vollkorn-Black,
            ItalicFont      =   Vollkorn-BoldItalic,
            BoldItalicFont  =   Vollkorn-BlackItalic
        ]   


\begin{document}

    \noindent%
    \voll
    This is normal font\\
    \textbf{Applying bf to normal font, we get the semibold version}\\
    \vollbold We now swith to bold version\\
    \textbf{And now the bold version of bold version, a.\,k.\,a. BLACK}


\end{document}

答案1

您可以使用 FontFace-Key 添加更多系列(和形状)。下面是一个为 Arial Black 定义 \textblack 的示例:

\documentclass{scrartcl}

\usepackage[no-math]{fontspec}
\usepackage{polyglossia}

\setmainlanguage{english}
\defaultfontfeatures{Ligatures=TeX}

\setmainfont{Arial}%
[
 FontFace={bxx}{n}{Arial Black}
] 

\makeatletter
\DeclareRobustCommand\blackseries
        {\not@math@alphabet\blackseries\mathbf
         \fontseries{bxx}\selectfont
         }
 \makeatother        
\DeclareTextFontCommand{\textblack}{\blackseries}         
\begin{document}

abc
\textbf{abc}
\textblack{abc}

\end{document}

在此处输入图片描述

相关内容