如果我使用Kalpurush
而不是Noto Sans Bengali
,则与本文档对齐没有任何问题:
\documentclass[12pt]{article}
\usepackage{harfload, fontspec}
\usepackage[paperwidth=8.5in, paperheight=11.7in, top=1in, bottom=1in, left=1in, right=1in]{geometry}
\setmainfont{Kalpurush}[RawFeature={mode=harf}]
%\setmainfont{Noto Sans Bengali}[RawFeature={mode=harf}]
\newfontfamily\en{Noto Sans}
\parindent 0pt
\begin{document}
দ্রতেরত এরতেরত হগজঘজ ইয়ুত্রুরত্য এরতেরতের দসগদফগদফগ দফগদফগদফগস্ফসদফ সদফসদসদফসদফ সদফ সদফসদফসদফসদফ সদফসদফসস এরতেরতেরত এরতেরতেরত এরতেরতেরতের এরতেরতে রতেরত রতেরত এরতেরত রত্রত রত্রত রত্রত্রত্র রত্রত্র রত্র \\
{\en Test sdfsdf sdfsdf sdfsdfsdf sdfsdfsdf sdfsdfsd sdfsdfsdf sdfsdf sdfsdfsdf sdfsdfsdf sdfsdfsdfs sdfsdfsdf sdfsdfsdf sdfsdfsdf sdfsdfsdf sdfsdfsdf sdfsdfsdf sdfsdfsdf sdfsdf sdfsdfsdfsdf sds}
\end{document}
以下是具体情况Noto Sans Bengali
:
与Kalpurush
:
如何修复Noto Sans Bengali
对齐问题?
答案1
TeX 无法找到合适的位置来换行第一个段落,所以它放弃了,你得到了一个溢出的 \hbox。Kalpurush 是一种比 Noto Sans Bengali 更窄的字体,但它工作正常。
您可以尝试以下两件事:
- 重新措辞该段落以避免出现过满的行。
让段落变得凌乱,这样 TeX 可以让单词之间的间距更大,但这样一来,行数就会不够。换句话说,你赢不了。
环境
sloppypar
设置以下参数:\tolerance 9999\emergencystretch 3em\hfuzz .5pt \vfuzz \hfuzz
。您也可以单独试验和调整这些参数。\fussy
将事物恢复为默认值。\fussy
定义为:\emergencystretch 0pt \tolerance 200\hfuzz .1pt \vfuzz \hfuzz
。
在旁边:您应该从孟加拉语行的末尾删除\\
。您永远不应该以手动换行符来结束段落。
平均能量损失
因为xelatex
我还没有设置 Harfbuzz luatex
。
\documentclass[12pt]{article}
\usepackage{fontspec}
\usepackage[paperwidth=8.5in, paperheight=11.7in, top=1in, bottom=1in, left=1in, right=1in]{geometry}
\setmainfont{Noto Sans Bengali}
\newfontfamily\en{Noto Sans}
\usepackage{parskip}
\begin{document}
\begin{sloppypar}
দ্রতেরত এরতেরত হগজঘজ ইয়ুত্রুরত্য এরতেরতের দসগদফগদফগ দফগদফগদফগস্ফসদফ সদফসদসদফসদফ সদফ সদফসদফসদফসদফ সদফসদফসস এরতেরতেরত এরতেরতেরত এরতেরতেরতের এরতেরতে রতেরত রতেরত এরতেরত রত্রত রত্রত রত্রত্রত্র রত্রত্র রত্র
\end{sloppypar}
{\en Test sdfsdf sdfsdf sdfsdfsdf sdfsdfsdf sdfsdfsd sdfsdfsdf sdfsdf sdfsdfsdf sdfsdfsdf sdfsdfsdfs sdfsdfsdf sdfsdfsdf sdfsdfsdf sdfsdfsdf sdfsdfsdf sdfsdfsdf sdfsdfsdf sdfsdf sdfsdfsdfsdf sds}
\end{document}