更新 2018-01-10

更新 2018-01-10

以下代码是什么意思?它的零看起来很奇怪。

\DeclareFontShape{T1}{FiraSans-OsF}{m}{n}{
      <-0> \FiraSans@@scale FiraSans-Book-osf-t1
      <0-> \FiraSans@@scale FiraSans-Regular-osf-t1
}{}

代码位于T1FiraSans-OsF.fd

答案1

似乎有时autoinst会出现奇怪的情况。可能是在构建字体系列基础结构时传递了一个错误的参数。不,Book 变体永远不会被使用。

一般而言,语法如下

<x-y> s*[<mag>] fontfile

表示当请求大于和小于或等于 的字体组合时, LaTeX 应该使用fontfile(放大) 。TeX 的工作是查看字体的设计大小并按比例加载它。<mag>xy

如果x缺少 ,则所有小于或等于 的尺寸都y将使用fontfile;如果y缺少 ,则fontfile大于 的尺寸将使用x

该宏\FiraSans@@scale将扩展为无或为s*[<mag>],因此它无关紧要。

该声明完全等同于

\DeclareFontShape{T1}{FiraSans-OsF}{m}{n}{
      <-> \FiraSans@@scale FiraSans-Regular-osf-t1
}{}

因为不能加载小于或等于 0 大小的字体。

这是理论,实践似乎有所不同。:-(

显然,这些字体声明具有选择的效果第一的行。事实上,文档

\documentclass{article}
\usepackage[default]{FiraSans}

\begin{document}

Normal: \fontname\font

Bold: \textbf{\fontname\font}

Italic: \textit{\fontname\font}

BoldItalic: \textbf{\textit{\fontname\font}}

\end{document}

生产

在此处输入图片描述

这并不是我们所期望的。

我想说,这个软件包中有一个明显的错误。如果我复制该.fd文件并删除这些<-0>行,上面的文档将产生

在此处输入图片描述

此外,该book选项没有任何意义,因为文件k中没有定义权重.fd

更新 2018-01-10

该软件包FiraSans已更新并且错误已修复。

现在错误的条目是

\DeclareFontShape{T1}{FiraSans-OsF}{m}{n}{
      <-> \FiraSans@@scale FiraSans-Regular-osf-t1
}{}

正如它应该。

现在上面的示例排版

在此处输入图片描述

如果我们将book选项添加到调用中FiraSans,则输出为

在此处输入图片描述

正如文档中宣传的那样。

相关内容