使用 LuaLaTeX 时如何将 Devanagari 字体加粗?

使用 LuaLaTeX 时如何将 Devanagari 字体加粗?

当使用 LuaLaTeX 并对 Polyglossia 包进行以下配置时,使用时不会呈现字体的粗体\textbf{}

\usepackage{polyglossia}
\setdefaultlanguage{hindi}
\setotherlanguage{english}
\usepackage{fontspec}
\setmainfont{Times New Roman}
\newfontscript{Devanagari}{deva,dev2}
\newfontface{\hindi}[Script=Devanagari,Renderer=Harfbuzz]{Nakula}
\setmainfont{Nakula}

我不熟悉这个fontspec包。你能告诉我如何才能使字体变粗吗?

答案1

如果字体没有粗体,LaTeX 不会以粗体打印字符。我没有在任何地方找到 Nakula-Bold.ttf/otf。如果你能找到它,你的问题就会很容易解决。fontspec如果你加载,则无需加载polyglossia。后者无论如何都会加载前者。你首先将文档的主字体设置为 Times New Roman,最后将其更改为 Nakula,这意味着前一个命令现在无效。此外,如果您想使用 Nakula 作为“主字体”,则无需将其加载为“新字体”。梵文脚本已经由定义,fontspec因此您也不需要\newfontscript。因此,我认为可以省略您的代码中的四行。请参见以下示例。我更喜欢包babel并遵循这些指导方针

\documentclass{article}
\usepackage[hindi,provide=*]{babel}
\babelprovide{hindi}
\usepackage{fontspec}
\newfontfamily\baloo[%
  Script=Devanagari,%
  Renderer=Harfbuzz%
]{Baloo2}
\newfontfamily\nakula[%
  Script=Devanagari,%
  Renderer=Harfbuzz%
]{Nakula}

\begin{document}
\verb|\textbf| works with Baloo2: {\baloo नमस्ते}, \textbf{\baloo नमस्ते}

but doesn't with Nakula: {\nakula नमस्ते}, \textbf{{\nakula नमस्ते}}
\end{document}

还有许多其他字体具有您需要的所有粗细。我个人最喜欢的是 Baloo2 和 EkType 的 Mukta。它们都是可用的在 TeX 分布中。

相关内容