当字体不支持粗体时如何将文本更改为粗体

当字体不支持粗体时如何将文本更改为粗体

我有一份 100 页的文档,我在序言中用下面的命令在许多地方使用了彩色文本来突出显示

\newcommand\bluetext[1]{\textcolor{blue}{#1}}

它工作得很好,但在撰写本文时我并没有意识到我需要彩色打印机。我想将彩色文本更改为粗体 - 我将上述命令更改为以下内容

 \newcommand\bluetext[1]{\textbf{#1}}

它删除了颜色,但没有给我任何粗体字母,是因为字体吗?还是我做错了什么?我使用的是 sanskrit 2003 字体。 Bold_image

在附图中,所有带圆圈的文字都应该显示为粗体。感谢您的帮助 - 这是 MWE

\documentclass[24pt]{article}
\usepackage{fontspec}
\usepackage{polyglossia}
\usepackage{color}
\usepackage{amstext, amsmath}
\setmainfont[Script=Devanagari]{Sanskrit2003}
\setdefaultlanguage{sanskrit}
\newcommand\bluetext[1]{\textcolor{blue}{#1}} 
%\newcommand\bluetext[1]{\textbf{#1}} % Blue Text
\begin{document}
१.१.१\bluetext{वृद्धिः}\textsuperscript{१/१} आत्\textsuperscript{१/१} ऐच्\textsuperscript{१/१}     \\
१.१.२     अत्\textsuperscript{१/१}  एङ्\textsuperscript{१/१} गुणः\textsuperscript{१/१}     \\
१.१.३     \bluetext{इकः}\textsuperscript{६/१} \bluetext{गुणवृद्धी}\textsuperscript{१/२}    \\
 १.१.४     \bluetext{न}\textsuperscript{०/०} धातुलोपे\textsuperscript{७/१} आर्धधातुके\textsuperscript{७/१}    \\
१.१.५     क्क्ङिति\textsuperscript{७/१} च\textsuperscript{०/०}     \\
\end{document}

答案1

如果您使用此字体,fontspec将会在日志文件中告诉您:

Could not resolve font Sanskrit 2003/B (it probably doesn't exist).

这意味着该字体没有粗体(/B)版本。

您可以使用 AutoFakeBold 键来获得伪粗体:

\documentclass{article}
\usepackage{fontspec}
 \setmainfont[Script=Devanagari,AutoFakeBold=3.5]{Sanskrit 2003}
\begin{document}
test ^^^^e081

\bfseries
test ^^^^e081

\end{document}

相关内容