XeLaTeX 中缺少粗体和斜体字体

XeLaTeX 中缺少粗体和斜体字体

请参阅下面给出的 MWE,它尝试生成正常、粗体和斜体文本孟加拉

\documentclass{article}

% For a bilingual document
\RequirePackage{fontspec}
\RequirePackage{polyglossia}
\setmainlanguage{english}
\defaultfontfeatures{Ligatures=TeX}

% Times New Roman used for English
\setmainfont[Mapping=tex-text, Ligatures=TeX]{Times New Roman}

% Bengali
\setotherlanguage[numerals=Devanagari]{bengali}
\newfontfamily\bengalifont[Script=Bengali]{SolaimanLipi}
\newfontfamily\bengalifontbf[Script=Bengali]{SolaimanLipi}
\newfontfamily\bengalifonttt[Script=Bengali]{SolaimanLipi}
\newfontfamily\bengalifontsf[Script=Bengali]{SolaimanLipi}

\begin{document}

\begin{bengali}
  বাংলা ভাষা

  \textbf{বাংলা ভাষা}

  \textit{বাংলা ভাষা}

\end{bengali}

\end{document}

编译后,第二和第三个文本以正常字体显示,并显示以下日志消息:

LaTeX Font Warning: Font shape `EU1/SolaimanLipi(0)/bx/n' undefined
(Font)              using `EU1/SolaimanLipi(0)/m/n' instead on input line 24.


LaTeX Font Warning: Font shape `EU1/SolaimanLipi(0)/m/it' undefined
(Font)              using `EU1/SolaimanLipi(0)/m/n' instead on input line 26.

但是,相同的字体(索莱曼·里皮) 可以在其他应用程序中使用,例如 LibreOffice,以获得相同的效果。

在此处输入图片描述

我可能做错了什么?

编辑

LibreOffice 使用相同的字体

在此处输入图片描述

我的机器里没有其他 SolaimanLipi 字体

命令

sudo find / -name SolaimanLipi* -print

给出,

/home/masroor/.local/share/fonts/SolaimanLipi_20-04-07.ttf

答案1

您可以使用伪造的粗体字体,因为许多所见即所得的编辑器也在使用此功能。

在下面的代码中我添加了AutoFakeBold=4.0字体选项。只需调整数字即可调整粗细(数字越大越粗)。

编辑:如果您还想伪造斜体/倾斜字体,请尝试使用AutoFakeSlant=0.4数字来表示倾斜的强度。

孟加拉语假装大胆和倾斜

\documentclass{article}

% For a bilingual document
\RequirePackage{fontspec}
\RequirePackage{polyglossia}
\setmainlanguage{english}
\defaultfontfeatures{Ligatures=TeX}

% Times New Roman used for English
\setmainfont[Mapping=tex-text, Ligatures=TeX]{Times New Roman}

% Bengali
\setotherlanguage[numerals=Devanagari]{bengali}
\newfontfamily\bengalifont[Script=Bengali,AutoFakeBold=4.0,AutoFakeSlant=0.4]{SolaimanLipi.ttf}
\newfontfamily\bengalifontbf[Script=Bengali,AutoFakeBold=4.0,AutoFakeSlant=0.4]{SolaimanLipi.ttf}
\newfontfamily\bengalifonttt[Script=Bengali,AutoFakeBold=4.0,AutoFakeSlant=0.4]{SolaimanLipi.ttf}
\newfontfamily\bengalifontsf[Script=Bengali,AutoFakeBold=4.0,AutoFakeSlant=0.4]{SolaimanLipi.ttf}

\begin{document}

\begin{bengali}
  বাংলা ভাষা

  \textbf{বাংলা ভাষা}

  \textit{বাংলা ভাষা}

\end{bengali}

\end{document}

相关内容