XeLaTeX 没有粗体、斜体和小写字母

XeLaTeX 没有粗体、斜体和小写字母

我将工作文档从 pdfLaTeX 切换到 XeLaTeX。字体有问题,因为现在 Computer Modern Roman 无法显示粗体、斜体和小型大写字母(如果我说的话,它只能在一页中显示\usefont{T1}{cmr}{m}{n}\selectfont)。

例如在我的图片标题中,我在序言中已经说过labelfont={sc,color=blue}, textfont={small,it}, labelsep=endash除了 it 和 sc 之外什么都可以正常工作。并且\textit,,在所有文档中\textbf\textsc不起作用:

在此处输入图片描述

这是一个 MWE:

%%Classe du document
\documentclass[11pt,oneside]{book}

\usepackage[labelfont={sc,color=blue}, textfont={small,it}, labelsep=endash]{caption}
\usepackage{subcaption}

\usepackage[cm-default]{fontspec}
\usepackage{xunicode}
\DeclareTextCommandDefault{\nobreakspace}{\leavevmode\nobreak\ } 

%%Pour insérer des images
\usepackage{graphicx} 

%%Le document est en français
\usepackage{polyglossia}
\setdefaultlanguage{french}

\usepackage{cmlgc}

\begin{document}
{\huge\textsc{Sans la liberté de blâmer, il n'est point d'éloge flatteur. }}

\begin{figure}
\includegraphics{image.png}
\caption{Beaumarchais}
\end{figure}

\end{document}

答案1

看起来 cmlgc 包与 xetex 使用的 Unicode 字体不兼容,如果我删除它,字体警告就会消失,并且您会得到小写字母的输出

在此处输入图片描述

\documentclass[11pt,oneside]{book}

\usepackage[labelfont={sc,color=blue}, textfont={small,it}, labelsep=endash]{caption}
\usepackage{subcaption}

\usepackage{fontspec}

\DeclareTextCommandDefault{\nobreakspace}{\leavevmode\nobreak\ } 

%%Pour insérer des images
\usepackage{graphicx} 

%%Le document est en français
\usepackage{polyglossia}
\setdefaultlanguage{french}

%\usepackage{cmlgc}

\begin{document}
{\huge\textsc{Sans la liberté de blâmer, il n'est point d'éloge flatteur. }}

\begin{figure}
\includegraphics{image.png}
\caption{Beaumarchais}
\end{figure}

\end{document}

相关内容