有没有办法让 ConTeXt 使用任意文件夹中未安装的 .otf 文件?
例如,在我当前的 LaTeX 文件中,我有:
\setmainfont{ProximaNova}[
UprightFont=*-Regular,
ItalicFont=*-RegularItalic,
BoldFont=*-Bold,
BoldItalicFont=*-BoldItalic,
Path=../../fonts/ProximaNova/,
Extension=.otf]
它从我存储所有字体的特定文件夹中获取字体文件。字体之间的命名有时不同,因此它们在setmainfont
。
我能从中看出问题和文档ConTeXt 需要从一些文件夹中读取字体OSFONTDIR
,这些字体可以来自多个文件夹,但必须在此变量中指定。我不能使用任何 .otf 文件,而是直接在 .tex 文件中指定。还是我读错了?我认为我没有看到任何表明 typescript 可以获取文件路径的内容?
答案1
我没有 Proxima Nova 字体,但我刚刚下载了鸬鹚字体,所以我将使用这个。然后我使用\definefontfamily
设置字体。
\definefontfamily [mainface] [serif] [Latin Modern Roman]
[tf=file:Cormorant-Regular.ttf,
it=file:Cormorant-Italic.ttf,
bf=file:Cormorant-Bold.ttf,
bi=file:Cormorant-BoldItalic.ttf,
sc=file:CormorantSC-Regular.ttf]
\definefontfamily [mainface] [sans] [Latin Modern Sans]
\definefontfamily [mainface] [mono] [Latin Modern Mono] [features=none]
\definefontfamily [mainface] [math] [Latin Modern Math]
\setupbodyfont [mainface]
\starttext
\samplefile{knuth}
\stoptext
我本可以将完整的文件路径硬编码,但我认为这太不灵活了。相反,我将一个适当的值传递OSFONTDIR
给 ConTeXt,这样
OSFONTDIR="~/Downloads/Cormorant_Install_v3.601/1. TrueType Font Files" context test.mkvi