在 xetex 中使用 Century Schoolbook L 进行连字

在 xetex 中使用 Century Schoolbook L 进行连字

我没有得到任何连字符,例如 fi 连字符。

我在用着:

  • URW 世纪教科书 L (afai 无论如何都可以确定)

  • XeTeX,版本 3.1415926-2.2-0.9995.2(TeX Live 2009/Debian)

  • Ubuntu 10.04

我认为这是相关的部分:

\usepackage{fontspec}
\usepackage{wasysym}
\setsansfont{FluxBold}
\setmonofont[Scale=0.85]{Bera Sans Mono}
\setmainfont{Century Schoolbook L}

如果我放弃 fontspec 并使用 fouriernc,它工作正常,我得到连字,但我无法指定其他字体。如果我同时使用 fouriernc 和 fontspec,这似乎会发生冲突,所以我既得不到 New Century Schoolbook,也得不到 Century Schoolbook L。

我也尝试过类似的事情:

\setmainfont[Mapping=tex-text, Ligatures={Common, Rare, Historical}]{Century Schoolbook L}

毫无效果。设置 Ligatures=TeX 失败,它不知道 TeX 连字符是什么。我尝试切换到 luatex,但似乎无法使用 fontspec 包。

我被困住了。

答案1

我无法使连字与 Century Schoolbook L 或 URW Bookman L 配合使用。这可能是因为字体中缺少连字,或者可能不太支持 Type 1 字体。

TeX Gyre Schola 字体基于 Century Schoolbook L,包含正确的连字。如果它安装在 TeX 目录结构中,则必须使用

\setmainfont[
    Ligatures=TeX,
    Extension=.otf,
    UprightFont= *-regular,
    BoldFont=*-bold,
    ItalicFont=*-italic,
    BoldItalicFont=*-bolditalic
]{texgyreschola}

来调用它(或者只是将字体复制到~/.fonts)。

然而,这不适用于 Ubuntu 10.10 中包含的 XeTeX/fontspec(因此可能也不适用于 10.04)。如果您想使用 XeTeX 和 fontspec,我强烈建议您始终使用最新版本。安装TeX 直播直接(即不通过包管理器)并不太难(只需下载安装脚本,运行它并设置路径)并且会为您提供最新版本的 TeX 引擎和包。

答案2

嘿,
我没有 Century Schoolbook L 字体,但使用您的代码,当使用 Minion Pro 作为主字体时,我得到了精细的连字。
您确定 Century Schoolbook L 版本支持连字吗?

我的测试文件:

\documentclass{book}
\usepackage{fontspec}
\usepackage{wasysym}
%\setsansfont{FluxBold}
%\setmonofont[Scale=0.85]{Bera Sans Mono}
%\setmainfont{Century Schoolbook L}
\setmainfont[Ligatures={Common, Rare, Historical}]{Minion Pro}
\begin{document}
\chapter{Test}
Hello lets find some ligatures!
\end{document}

诚挚的,
理查德

相关内容