Libertine 字体在 ConTeXt 中不起作用

Libertine 字体在 ConTeXt 中不起作用

在一个上一个关于垂直节奏的问题,我被指向了 ConTeXt,现在我正在尝试使用它。我首先从 LaTeX 转到 luaLaTeX,以便获得简化的字体选择,并可以从系统或我的 tex 文件目录中使用 opentype 字体。

但是,现在我使用 ConTeXt fontspec(它真的很简单)就不再是选项了。simplefonts 是下一个可能的选择,但它不随 miktex 一起提供(我有 2.9,win xp)。我也可以访问在 Ubuntu 上运行的 texlive 2010,但它也不起作用。由于我更熟悉 windows,我首先尝试修复 miktex。除了 miktex 2.9 之外,我还安装了 context,按照这些说明(选项 2)一切看上去都很好。

我正在编译来自 ConTeXt wiki 的 libertine 示例并出现以下错误:

pdfTeX error: pdftex (file fxlr): Font fxlr at 600 not found

我尝试重新加载字体

mtxrun --script fonts --reload

结果

MTXrun | unknown script 'fonts.lua' or 'mtx-fonts.lua'
  • 我该怎么做才能使 mtxrun 完成?
  • 还需要做什么才能使自由字体适用于上下文?
  • 此外,这会有多痛苦(我对字体感到非常沮丧)?

答案1

您的错误消息显示“pdftex”。pdfTeX 不是 LuaTeX,因此您没有使用 MkIV。该示例不起作用。

忘记将上下文与 MiKTeX 结合使用的想法。MiKTeX 2.9 中有一个上下文。(它可以工作)但它没有更新,而且 MiKTeX 中的 LuaTeX 已经过时了。另外,不要尝试使用其他东西作为 MkIV(即 LuaTeX 上的 ConTeXt),ConTeXt 已经足够复杂了,没有必要费力安装 Ruby 等其他脚本语言。

获取ConTeXt 最小值. 在您初始化它之后,setuptex.bat使用“上下文文档”编译您的文档。

答案2

代表 Wolfgang Schuster 发布此文

这些字体不是随最小版本一起提供的,您的系统的 texmf-fonts 下有它们,这意味着它们是由您安装的。

打字稿的问题在于上下文使用来自 ctan 的名称,而该名称与字体的 sourceforge 版本不同。

Ulrike 遇到的 simplefonts 问题是模块找不到字体,这种情况可能发生在加载时\setmainfont[Linux Libertine],而不是加载时\setmainfont[Linux Libertine O](第二个在名称末尾有一个“O”)。只有当找不到字体并且模块尝试使用“DefaultFont”时才会出现 Lua 错误,而“DefaultFont”的字体功能存在问题(请参阅 context-dev 列表中的消息)。

使用字体的另一种解决方案是 spec-system(XeTeX 的 MkIV 版本的 Xserif),例如

\definetypeface[mainface][rm][specserif][Linux Libertine O][default]

\setupbodyfont[mainface]

\starttext
\stoptext

相关内容