XeLaTeX 中使用 fontspec 时主字体 (cmr) 的文本倾斜问题

XeLaTeX 中使用 fontspec 时主字体 (cmr) 的文本倾斜问题

我是 XeLaTeX 新手,必须采用已排版(LaTeX)的教科书和 Computer Modern Roman 主字体。所以我想有倾斜的文本,而编译器使用默认介绍(在某处拍摄)

\usepackage[T2A]{fontenc}
\usepackage[russian]{babel}
\usepackage{fontspec} 
\defaultfontfeatures{Ligatures={TeX},Renderer=Basic}
\setmainfont{CMU Serif Roman}
\setsansfont{CMU Sans Serif}  
\setmonofont{CMU Typewriter Text}

(以及乳胶保存的命令\textsl{}\slshapr用法)写道倾斜的文本被简单的斜体取代。

我尝试了两种方法:(我)将字体 cmunsl.otf 作为 whole-windows-installed 加载并尝试将其用作独立的新字体:

\font\wslant="CMU Serif Extra RomanSlanted" at 12pt

(II)在 fontspec 文档(第 11 页)中,我发现倾斜字体可以作为选项添加\setmainfont;我尝试了(a)

\setmainfont[SlantedFont = CMU Serif Extra RomanSlanted]{CMU Serif Roman}

以及(b)

\setmainfont[SlantedFont = cmunsl.otf]{CMU Serif Roman}
(this OTF-file cmunsl.otf is presented in the folder
C:\texlive\2016\texmf-dist\fonts\opentype\public\cm-unicode\)

在所有情况下,错误都是“未找到您的字体”。如果我明确声明 Path,情况也一样:\setmainfont[Path=...,SlantedFont =...]

有人能帮忙正确声明字体并在文本中正确使用吗?在带有标签“倾斜”的问题中,我没有找到主要字体系列的解决方案。

谢谢

答案1

使用通过以下方式获取的全名

fc-list : file fullname

\setmainfont[SlantedFont=CMU Serif Roman Slanted]{CMU Serif Roman}

一定可以。

\setmainfont[SlantedFont=[cmunsl.otf]]{CMU Serif Roman}

也可以。

答案2

如果你可以通过系统名称调用字体,最简单的方法是

\documentclass[a4paper]{article}

\usepackage{fontspec}
\usepackage[russian]{babel}

\setmainfont{CMU Serif Roman}[
  SlantedFont=CMU Serif Roman Slanted,
]

\begin{document}

Normal, \textit{italic}, \textsl{slanted}.

\end{document}

否则您需要指定所有字体文件名:

\documentclass[a4paper]{article}

\usepackage{fontspec}
\usepackage[russian]{babel}

\setmainfont{cmun}[
  Extension      = .otf,
  UprightFont    = *rm,
  BoldFont       = *bx,
  ItalicFont     = *ti,
  BoldItalicFont = *bi,
  SlantedFont    = *sl,
]

\begin{document}

Normal, \textit{italic}, \textsl{slanted}.

\end{document}

在此处输入图片描述

请注意,\usepackage[T2A]{fontenc}不能与 XeLaTeX 一起使用。另外

\defaultfontfeatures{Ligatures={TeX},Renderer=Basic}

是不需要的,因为该Ligatures=TeX选项是默认设置的,并且Renderer=Basic对 XeLaTeX 不起作用。

相关内容