\textlf{} 表示细字体 — — 有多常见?

\textlf{} 表示细字体 — — 有多常见?

在里面allrunes.sty文档(使用 Metafont),我最近\textlf第一次看到这个宏。它选择了一种浅色字体,因此与常用命令\textbf及其同级命令一起\textmd作为默认的“中等”字体。

在 SX 上搜索“textlf”显示,此字符串也是Minion 专业版,但它在那里打开了衬线数字并且似乎其他一些软件包也具有\textlf执行相同操作的命令。

  • 所以我想知道,支持程度有多普遍\textlf,是否存在没有冲突的既定替代方案?
  • 更一般地说,如果我使用的字体具有多种可用粗细(例如细、浅、半粗、粗、重、黑色……),如何在 Xe-/LuaTeX 中最好地访问它们?

第二个问题是相关的,例如,如果我要为一种 Open Type 字体编写一个支持包,该支持包提供了预定义的\text…宏,这些宏包装fontspec了或更确切地说是包装了 中\newfontfamily不太为人所知的部分。\newfontface\DeclareTextFontCommand

答案1

在今天早上更新的 texlive 2014 中,我从 grep 获得以下内容(每行末尾的注释中有我的注释):

$ grep "[^a-z]textlf[^a-z]" */*
allrunes/allrunes.sty:\DeclareTextFontCommand{\textlf}{\lfseries}
baskervaldx/Baskervaldx.sty:\DeclareRobustCommand{\textlf}[1]{%    lining figures
fbb/fbb.sty:\DeclareRobustCommand{\textlf}[1]{%    lining figures
heuristica/heuristica.sty:\DeclareRobustCommand{\textlf}[1]{%    lining figures
typeface/typeface.sty:      \PassOptionsToPackage{textlf}{MinionPro}%    lining figures
xcharter/XCharter.sty:\def\textlf#1{{\lfstyle #1}}%    lining figures


$ pwd
/usr/local/texlive/2014/texmf-dist/tex/latex

因此,似乎惯例是\textlf在所有其他包中使用的地方都表示衬里数字。

答案2

举个例子HelveticaNeue-Light

\documentclass{article}
\usepackage{fontspec}
\setmainfont[
   ItalicFont     = HelveticaNeue-Italic,
   BoldFont       = HelveticaNeue-Bold,
   BoldItalicFont = HelveticaNeue-BoldItalic]{HelveticaNeue}
\newfontfamily\NHLight[
   ItalicFont     = HelveticaNeue-LightItalic,
   BoldFont       = HelveticaNeue-UltraLight,
   BoldItalicFont = HelveticaNeue-UltraLightItalic]{HelveticaNeue-Light}

\newcommand\textrmlf[1]{{\NHLight#1}}
\newcommand\textitlf[1]{{\NHLight\itshape#1}}
\let\textbflf\textrm
\newcommand\textulf[1]{{\NHLight\bfseries#1}}
\newcommand\textuitlf[1]{{\NHLight\bfseries\itshape#1}}

\begin{document}

\textrm{foo} \textbf{bar} \textit{baz} \textbf{\textit{foobar}} \par
\textrmlf{foo} \textbflf{bar} \textulf{bar} \textitlf{baz} \textuitlf{foobar}

\end{document}

在此处输入图片描述

答案3

标准的 LaTeX 命令是\fontseries{l}\selectfont,假设您的旧字体是使用官方架构安装的(或者您已经使用 以这种方式设置了您的 OpenType 字体系列fontspec)。

至少有一个其他包使用不同的命令来选择 Light 粗细:当提供 light 字体作为粗细时,将其声明为 Light。请注意,这有不同的行为,因为它允许分别选择粗细和宽度。因此,例如,如果您当前选择了 Regular Condensed,则会nfssext-cfr选择Light Condensed,但会选择 Light,因为 LaTeX 将 Light 和 Condensed 合并到系列中。\lgweight\textlg{}\lgweight\fontseries{l}{lc}

相关内容