我的问题与 XeTeX 和 LuaTeX 有关;两者都无法正确显示圣经希伯来字体。
更准确地说,文本在某个时候被截断,并且尼库德(意思类似于希伯来语中的重音符号)位置不正确,其他变音符号也是如此。
其他免费编辑器(如 OpenOffice 或 Notepad++)可以正确显示这些符号。
我安装了Shlomo 字体在我的计算机上。因此,我用 XeTeX 和 Luatex 编译了一个圣经片段,两个引擎都错误地定位了“nikud”和字母周围的变音符号。更重要的是,它们都损坏了圣经片段。我尝试了其他希伯来语字体,结果相同。以下是代码片段和处理后的结果(注意:希伯来语是从右到左书写的):
%%%%%%%%%%%%%%% XETEX %%%%%%%%%%%%%%%%%%%
% XETEX Version 3.1415926-2.3-0.9997.5 (MiKTeX 2.9)
\TeXXeTstate = 1
\font\Shlomofnt="Shlomo" at 14pt
\Shlomofnt
\beginR
א וַיִּשְׁלַ֣ח יְהוֹשֻֽׁעַ־בִּן־נ֠וּן מִֽן־הַשִּׁטִּ֞ים שְׁנַֽיִם־אֲנָשִׁ֤ים מְרַגְּלִים֙ חֶ֣רֶשׁ לֵאמֹ֔ר לְכ֛וּ רְא֥וּ אֶת־הָאָ֖רֶץ וְאֶת־יְרִיח֑וֹ וַיֵּ֨לְכ֜וּ וַ֠יָּבֹאוּ בֵּית־אִשָּׁ֥ה זוֹנָ֛ה וּשְׁמָ֥הּ רָחָ֖ב וַיִּשְׁכְּבוּ־שָֽׁמָּה׃
ב וַיֵּ֣אָמַ֔ר לְמֶ֥לֶךְ יְרִיח֖וֹ לֵאמֹ֑ר הִנֵּ֣ה אֲ֠נָשִׁים בָּ֣אוּ הֵ֧נָּה הַלַּ֛יְלָה מִבְּנֵ֥י יִשְׂרָאֵ֖ל לַחְפֹּ֥ר אֶת־הָאָֽרֶץ׃
ג וַיִּשְׁלַח֙ מֶ֣לֶךְ יְרִיח֔וֹ אֶל־רָחָ֖ב לֵאמֹ֑ר ה֠וֹצִיאִי הָֽאֲנָשִׁ֨ים הַבָּאִ֤ים אֵלַ֨יִךְ֙ אֲשֶׁר־בָּ֣אוּ לְבֵיתֵ֔ךְ כִּ֛י לַחְפֹּ֥ר אֶת־כָּל־הָאָ֖רֶץ בָּֽאוּ׃
\end
% Note : the fragment appears here written from right to left because my
% notepad++ editor automatically inverts the direction of writing when it sees
% hebrew characters, but in fact, it is written in logical order.
这是 XeTeX 处理后的结果;nikud 和变音符号的位置不正确,并且在某些时候,文本变得不可读:
以下是圣经片段在 OpenOffice 中的样子(“nikud” 的位置正确,变音符号也是如此):
类似地,在 Notepad++ 中,该段看起来相当不错:
现在,我使用以下代码并使用 Luatex(版本 beta- 0.70.1-2011080216(rev 4277))对其进行了编译:
%%%%%%%%%%%% LUATEX %%%%%%%%%%%%%%%%%
\input luaotfload.sty
\font\Shlomofnt={file:C:/Windows/Fonts/Shlomo.ttf} at 14pt
\Shlomofnt
{\pardir TRT \noindent {\textdir TRT
א וַיִּשְׁלַ֣ח יְהוֹשֻֽׁעַ־בִּן־נ֠וּן מִֽן־הַשִּׁים שְׁנַֽיִם־אֲנָשִׁ֤ים מְרַגְּלִים֙ חֶ֣רֶשׁ לֵאמֹ֔ר לְכ֛וּ רְא֥וּ אֶת־הָאָ֖רֶץ וְאֶת־יְרִיח֑וֹ וַיֵּ֨לְכ֜וּ וַ֠יָּבֹאוּ בֵּית־אִשָּׁ֥ה זוֹנָ֛ה וּשְׁמָ֥הּ רָחָ֖ב וַיִּשְׁכְּבוּ־שָֽׁמָּה׃ ב וַיֵּ֣אָמַ֔ר לְמֶ֥לֶךְ יְרִיח֖וֹ לֵאמֹ֑ר הִנֵּ֣ה אֲ֠נָשִׁים בָּ֣אוּ הֵ֧נָּה הַלַּ֛יְלָה מִבְּנֵ֥י יִשְׂרָאֵ֖ל לַחְפֹּ֥ר אֶת־הָאָֽרֶץ׃ ג וַיִּשְׁלַח֙ מֶ֣לֶךְ יְרִיח֔וֹ אֶל־רָחָ֖ב לֵאמֹ֑ר ה֠וֹצִיאִי הָֽאֲנָשִׁ֨ים הַבָּאִ֤ים אֵלַ֨יִךְ֙ אֲשֶׁר־בָּ֣אוּ לְבֵיתֵ֔ךְ כִּ֛י לַחְפֹּ֥ר אֶת־כָּל־הָאָ֖רֶץ בָּֽאוּ׃
}}
\end
结果再次被截断并且不正确:
(这个问题也可以在Google Docs 为 PDF。
答案1
使用 XeTeX 0.9998 时,我没有得到方框,使用 LuaTeX 0.70.2 时也没有得到截断的线条。对于 nikud 放置问题,您必须告诉引擎要使用哪种 OpenType 脚本(它们不会自动选择;必须明确设置)。使用此测试文件,我使用两个引擎获得了相同的输出:
% allow the test file to work with both engines to easily compare the result
\input ifluatex.sty
\ifluatex
\input luaotfload.sty
\def\setRTL{\pardir TRT\textdir TRT}
\def\endLTR{\pardir TLT\textdir TLT}
\else
\input bidi
\fi
\font\Shlomofnt="Shlomo:script=hebr" at 14pt
\Shlomofnt
\setRTL
\noindent
א וַיִּשְׁלַ֣ח יְהוֹשֻׁעַ־בִּן־נ֠וּן מִֽן־הַשּׁטִּים שְׁנַֽיִם־אֲנָשִׁים מְרַגְּלִים֙ חֶ֣רֶשׁ לֵאמֹ֔ר לְכ֛וּ רְא֥וּ אֶת־הָאָ֖רֶץ וְאֶת־יְרִיח֑וֹ וַיֵּלְכ֜וּ וַ֠יָּבֹאוּ בֵּית־אִשּׁה זוֹנָ֛ה וּשְׁמָ֥הּ רָחָ֖ב וַיִּשְׁכְּבוּ־שָׁמָּה׃
ב וַיֵּאָמַ֔ר לְמֶ֥לֶךְ יְרִיח֖וֹ לֵאמֹ֑ר הִנֵּה אֲ֠נָשִׁים בָּאוּ הֵ֧נָּה הַלַּיְלָה מִבְּנֵ֥י יִשְׂרָאֵ֖ל לַחְפֹּר אֶת־הָאָֽרֶץ׃
ג וַיִּשְׁלַח֙ מֶ֣לֶךְ יְרִיח֔וֹ אֶל־רָחָ֖ב לֵאמֹ֑ר ה֠וֹצִיאִי הָֽאֲנָשִׁים הַבָּאִ֤ים אֵלַ֨יִךְ֙ אֲשֶׁר־בָּאוּ לְבֵיתֵ֔ךְ כִּי לַחְפֹּר אֶת־כָּל־הָאָ֖רֶץ בָּאוּ׃
\bye
答案2
你能使用 xelatex 吗?我猜它工作得很好:
\documentclass{article}
\usepackage{fontspec}
\setmainfont{Shlomo}
\usepackage{polyglossia}
\setmainlanguage{hebrew}
\begin{document}
א וַיִּשְׁלַ֣ח יְהוֹשֻֽׁעַ־בִּן־נ֠וּן מִֽן־הַשִּׁטִּ֞ים שְׁנַֽיִם־אֲנָשִׁ֤ים מְרַגְּלִים֙ חֶ֣רֶשׁ לֵאמֹ֔ר לְכ֛וּ רְא֥וּ אֶת־הָאָ֖רֶץ וְאֶת־יְרִיח֑וֹ וַיֵּ֨לְכ֜וּ וַ֠יָּבֹאוּ בֵּית־אִשָּׁ֥ה זוֹנָ֛ה וּשְׁמָ֥הּ רָחָ֖ב וַיִּשְׁכְּבוּ־שָֽׁמָּה׃
ב וַיֵּ֣אָמַ֔ר לְמֶ֥לֶךְ יְרִיח֖וֹ לֵאמֹ֑ר הִנֵּ֣ה אֲ֠נָשִׁים בָּ֣אוּ הֵ֧נָּה הַלַּ֛יְלָה מִבְּנֵ֥י יִשְׂרָאֵ֖ל לַחְפֹּ֥ר אֶת־הָאָֽרֶץ׃
ג וַיִּשְׁלַח֙ מֶ֣לֶךְ יְרִיח֔וֹ אֶל־רָחָ֖ב לֵאמֹ֑ר ה֠וֹצִיאִי הָֽאֲנָשִׁ֨ים הַבָּאִ֤ים אֵלַ֨יִךְ֙ אֲשֶׁר־בָּ֣אוּ לְבֵיתֵ֔ךְ כִּ֛י לַחְפֹּ֥ר אֶת־כָּל־הָאָ֖רֶץ בָּֽאוּ׃
\end{document}