这款字体 Kalpurush 没有任何大胆的,斜体,加粗斜体等等功能。
\documentclass{article}
\usepackage{harfload, fontspec}
\setmainfont{Kalpurush}[RawFeature={mode=harf}]
\parindent 0pt
\begin{document}
বাংলা \textbf{বাংলা} \textit{বাংলা} \\
English \textbf{English} \textit{English}
\end{document}
将其设置为 mainfont 会删除大胆的,斜体,加粗斜体功能也与英语相似。我怎样才能做到这一点大胆的,斜体,加粗斜体? AutoFake 能与 Luatex/Harftex 兼容吗?
答案1
添加字体选项AutoFakeBold
,并AutoFakeSlant
应启用没有粗体和斜体样式的字体的加粗和倾斜字体。
这适用于 XeTeX:
\documentclass{article}
\usepackage{fontspec}
\setmainfont{Kalpurush}
[
AutoFakeBold,
AutoFakeSlant,
]
\parindent 0pt
\begin{document}
বাংলা \textbf{বাংলা} \textit{বাংলা} \\
English \textbf{English} \textit{English}
\end{document}
对于 LuaTeX 和 HarfTeX,该AutoFakeBold
选项将引发警告,并且会被 fontspec 忽略(直到此请求请求已合并)。一种解决方法是手动执行BoldFeatures
选项:
\documentclass{article}
\usepackage{harfload, fontspec}
\setmainfont{Kalpurush}
[
AutoFakeBold,
AutoFakeSlant,
BoldFeatures={RawFeature={embolden=1.5}},
RawFeature={mode=harf},
]
\parindent 0pt
\begin{document}
বাংলা \textbf{বাংলা} \textit{বাংলা} \\
English \textbf{English} \textit{English}
\end{document}
harfload
(这需要其最新的软件包GitHub資料庫)
答案2
使用luahblatex
(基于引擎 luahbtex 的 latex)、luaotfload 版本 3.11(上传 10.11.)(需要该版本才能使 Script=Bengali 正常工作)和当前 fontspec 可以正常工作:
\documentclass{article}
\usepackage{fontspec}
\setmainfont{Kalpurush}[Renderer=Harfbuzz,Script=Bengali,AutoFakeSlant,AutoFakeBold]
\parindent 0pt
\begin{document}
বাংলা \textbf{বাংলা} \textit{বাংলা} \\
English \textbf{English} \textit{English}
\end{document}
这里描述了如何安装luahbtex引擎: 如何在 TeXLive 上安装 HarfTeX?