编辑

编辑

我已安装了一些自定义 Type 1 字体以供使用pdflatex。如果我使用以下方式调用它们,字体将正常工作

\renewcommand{\<rmdefault/sfdefault/ttdefault/etc>}{<fontname>}

我遵循了 Karl Berry 的字体命名方案,但现在我开始对如此多的缩写感到困惑(很多三个字母的名称并不总是很明显)。所以,我想编写一些 .sty 文件,这样我就可以用更简单、更具描述性的方式调用我的字体\usepackage{<longfontname>}。我恳请指导我编写一个用于调用字体定义的基本模板,如果可能/值得的话,解析简单的选项(例如缩放)。

答案1

最好的办法是查看与你的 TeX 发行版一起安装的类似字体的文件和/或按照字体安装指南中的说明进行操作,该指南还提供了示例。

这是.sty我为romande支持 RomandeADF 的软件包编写的文件。这不是最简单的情况,因为您询问了处理选项,但它只处理一个选项,因此相对简单。安装的字体都使用 Berry 命名方案。在这种情况下,供应商是y,系列是rda是替代的,正如您可能知道的那样。

\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{romande}[2010/06/27 v2.1 romande]
\RequirePackage{xkeyval}
\RequirePackage[T1]{fontenc}
\RequirePackage{textcomp}
\RequirePackage{nfssext-cfr}
%:boolkey for alternative encoding as default
\define@boolkey{romande.sty}[romande@]{alt}[true]{%
        \relax}
%:defaults to ensure everything is defined to something
\ExecuteOptionsX{alt=false}
%:options override defaults
\ProcessOptionsX
%:make RomandeADF default roman font, implementing option for alternative encoding as applicable
\ifromande@alt
        \renewcommand{\rmdefault}{yrda}%
\else
        \renewcommand{\rmdefault}{yrd}%
\fi
\endinput
%% end romande.sty

如果您的字体是根据 Berry 方案命名的,并且您需要访问非标准形状、粗细、宽度等,那么nfssext-cfr可能会有所帮助,因为它适用于 Romande。这是 的扩展nfssext,作为字体安装指南的一部分提供。

请注意,缩放要求您配置.fd文件以适应此选项。(就像alt支持的选项romande依赖于.fd以某种方式配置的文件一样。)

编辑

关于选项支持....

您设置包选项来执行某些操作。例如,在本例中,romande.sty提供两种不同的字体系列。

  • 默认为非替代:t1yrd.fdts1yrd.fd支持此选项。
  • 替代系列在某些位置有略微不同的字形,并受t1yrda.fd和支持ts1yrda.fd

还可以使用 中的宏来访问替代字形nfssext-cfr

此外,还有一些其他.fd文件不受软件包选项支持:t1yrdw.fd、、、。这些ts1yrdw.fd文件支持一些更奇特的字形作为“花饰”字符。(“花饰”可能具有误导性,但它们必须被归类为某种东西。)这些系列可通过 提供的宏访问。t1yrdaw.fdts1yrdaw.fdnfssext-cfr

如果您安装了字体,您应该知道文件.fd支持什么。然后,问题就变成了决定在包加载时选择不同的选项还是以其他方式选择。在某些情况下,两种选择都是合理的。对于像缩放这样的操作,只有作为包选项才真正有意义。也就是说,它应该对整个文档保持不变。

如果您已将字体设置为支持缩放,则文件应包含包中.fd类似这样的行:t1phv.fdpsnfss

\DeclareFontShape{T1}{phv}{m}{n}{
   <-> \Hv@@scale phvr8t
}{}

而不是像这样的行t1yrd.fd

\DeclareFontShape{T1}{yrd}{m}{n}{
   <-> yrdr8t
}{}

这表明psnfss对 Helvetica 的支持支持缩放字体,而romande对 Romande 的支持则不支持。

相关内容