Please see this MWE given below which tries to produce normal, bold and italic text in Bengali.
\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}
When compiled, the second and third text appear in normal font, with the following log message:
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.
However, the same font (SolaimanLipi) can be used in other applications, e.g. LibreOffice to get the same effect.
What is it I could be doing wrong?
EDIT
LibreOffice is using the same font
There is no other SolaimanLipi font in my machine
Command
sudo find / -name SolaimanLipi* -print
gives,
/home/masroor/.local/share/fonts/SolaimanLipi_20-04-07.ttf
Best Answer
You could work with the faking of bold fonts as many WYSIWYG editors are using this too.
In the following code I've added the
AutoFakeBold=4.0
font option. Just adjust the number to adjust the weight (the higher the bolder).Edit: If you also want to fake italics/slanted font try using
AutoFakeSlant=0.4
where the number also indicates the strength of the slant.