希伯来语 polyglossia+fontspec 中的虚假空格

希伯来语 polyglossia+fontspec 中的虚假空格

我使用tabular带有段落单元格的环境。在其中一个单元格中,我包含一个希伯来语段落。结果是我在第一行的末尾得到了一个虚假的空格(因此在左侧,因为文本从右侧开始)。我花了很多时间,但找不到解决方案。这是一个最小的例子:

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{fontspec,polyglossia,amstext}
\setmainlanguage[variant=usmax]{english}
\setotherlanguage{hebrew}
\newfontfamily{\sbl}[Script=Hebrew,Path=./,Extension=.ttf,Scale=1.2]{SBL_Hbrw}

\newenvironment{HEBREW}{\begin{hebrew}\beginR\sbl}{\endR\end{hebrew}}

\def\lineoftwo#1#2{\begin{tabular}{@{}p{.485\textwidth}p{.485\textwidth}@{}}\hskip0pt#1&#2\hfill\end{tabular}}
\begin{document}

\lineoftwo{\begin{HEBREW}בָּר֨וּךְ אַתָּ֤ה יְהֹוָה֙ אֱלֹהֵי֙ יִשְׂרָאֵ֣ל אָבִ֔ינוּ מֵעוֹלָ֖ם וְעַד־עוֹלָֽם׃ לְךָ֣ יְ֠הֹוָ֠ה הַגְּדֻלָּ֨ה וְהַגְּבוּרָ֤ה וְהַתִּפְאֶ֨רֶת֙ וְהַנֵּ֣צַח וְהַה֔וֹד כִּי־כֹ֖ל בַּשָּׁמַ֣יִם וּבָאָ֑רֶץ לְךָ֤ יְהוָה֙ הַמַּמְלָכָ֔ה וְהַמִּתְנַשֵּׂ֖א לְכֹ֥ל ׀ לְרֹֽאשׁ׃ וְהָעֹ֤שֶׁר וְהַכָּבוֹד֙ מִלְּפָנֶ֔יךָ וְאַתָּה֙ מוֹשֵׁ֣ל בַּכֹּ֔ל וּבְיָדְךָ֖ כֹּ֣חַ וּגְבוּרָ֑ה וּבְיָ֣דְךָ֔ לְגַדֵּ֥ל וּלְחַזֵּ֖ק לַכֹּֽל׃ וְעַתָּ֣ה אֱלֹהֵ֔ינוּ מוֹדִ֥ים אֲנַ֖חְנוּ לָ֑ךְ וּֽמְהַֽלְלִ֖ים לְשֵׁ֥ם תִּפְאַרְתֶּֽךָ׃ וַאֲנַ֤חְנוּ ׀\hfill\end{HEBREW}}{Baruch atta adonai eloh^^^^0113 yisra^^^^02beel avinu, me^^^^02bfolam ve^^^^02bfad ^^^^02bfolam. Lecha adonai haggedulla vehaggevura vehattif^^^^02beeret vehannetsa^^^^1e25 vehahod ki chol bash-shamayim uva^^^^02bearets, lecha adonai hammamlacha vehammitnas^^^^0113 lechol lerosh. Veha^^^^02bfosher vehakkavod millefanecha ve^^^^02beatta moshel bakkol uvyadecha kowa^^^^1e25 u\ensuremath{\bar{\text{g}}}vura uvyadecha le\ensuremath{\bar{\text{g}}}addel ul^^^^1e25azze^^^^1e33 lakkol.}

\end{document}

在此代码中,HEBREW是使用 polyglossia 环境的环境,但也调用字体并通过使用和hebrew来处理从右到左的方向。该命令仅构建一个表格环境。使用的字体是 SBL Hebrew,可以从免费下载\beginR\endR\lineoftwohttps://www.sbl-site.org/Fonts/SBL_Hbrw.ttf

我正在使用 XeLaTeX。这是我得到的结果:

在此处输入图片描述

虚假空格是单词之间的空格(粘连),因此每个段落的虚假空格宽度都不同。它只出现在段落的第一行。

我究竟做错了什么?

\hskip0pt附言:当我从命令内部删除该命令时\lineoftwo,我得到了完美的希伯来语第一行,但在该行之前也出现了虚假的垂直跳跃

在此处输入图片描述

这更糟糕。如果没有垂直跳跃,我怎么能写出完美的第一行呢?

答案1

再次,解决方案由 Ulrike Fischer 提供。如果您遇到同样的问题,请进入文件

/usr/local/texlive/2022/texmf-dist/tex/latex/polyglossia/gloss-hebrew.ldf

在第 74 行,如果你看到

  \def\proofname{הוכחה}

然后在末尾添加百分号:

  \def\proofname{הוכחה}%

您的所有问题都将迎刃而解。我指的是希伯来语多语种中的虚假空格相关问题。谢谢 Ulrike!

相关内容