如何在 ConTeXt 中使用 OTF 文件?

如何在 ConTeXt 中使用 OTF 文件?

有没有办法让 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

在此处输入图片描述

相关内容