语言“希伯来语”不适用于带有脚本“希伯来语”的字体“DejaVu Sans”

语言“希伯来语”不适用于带有脚本“希伯来语”的字体“DejaVu Sans”

我尝试用希伯来语写一篇摘要。

我使用 MikTeX2.9 和 TeXnicCenter 编辑器。

这是我的 MWE:

\documentclass[12pt]{article}
\usepackage[english,bidi=default]{babel} %bidi=default with xelatex
\babelprovide[import,main]{hebrew}

\babelfont{rm}[Language=Default]{Latin Modern Roman}
\babelfont[hebrew]{rm}{DejaVu Sans}
%\babelfont[hebrew]{rm}{Noto Sans Hebrew}

\begin{document}

\begin{center}
\Huge
\textbf{תקציר}
\end{center}

ניסוי ותהייה, או ניסוי וטעיה?

\selectlanguage{english} some text 

\end{document}

当我使用 XeLaTeX 编译它时,没有出现任何错误,但出现 1 条警告:

Package fontspec Warning: 'Language 'Hebrew' not available for font 'DejaVu Sans' with script 'Hebrew' 'Defualt' language used instead'

在生成的 pdf 中我看到的是问号而不是希伯来字母。

如果有人能一步一步地告诉我如何使希伯来语字体“DejaVu Sans”能够使用希伯来语,我将不胜感激。

答案1

我需要删除让 MWE 与 Babel 3.22 一起编译import的选项\babelprovides。这样做之后,我无法重现您的错误:

\documentclass[12pt]{article}
\usepackage{fontspec}
\usepackage[bidi=default, english]{babel}
\babelprovide[main]{hebrew}

\defaultfontfeatures{ Ligatures = TeX, Scale = MatchUppercase }
\babelfont{rm}[Language=Default, Scale = 1.0]{DejaVu Serif}
\babelfont[hebrew]{rm}[Language = Default]{DejaVu Sans}

\begin{document}
\begin{minipage}{10cm} % To fit both RTL and LTR text inside a TeX.SX image.
\section*{תקציר}

ניסוי ותהייה, או ניסוי וטעיה?

\selectlanguage{english}
some text 
\end{minipage}
\end{document}

DejaVu 希伯来语-英语样本

您是否正在使用最新版本的 DejaVu Sans,并使用 XeTeX 进行编译?字体的 2.37 版本包含我需要的字形。

“语言‘希伯来语’不可用”警告是转移注意力的借口。它只是意味着您选择的字体未声明该 OpenType 字体功能。支持希伯来语脚本非常重要,因为这是双向文本正常工作所必需的,但语言仅当存在两种使用希伯来语文字且行为不同的语言时,该功能才会起作用。(例如,选择土耳其语会将 i 的小写形式更改为 İ,将 I 的小写形式更改为 ı。)

您可以采用与英语相同的方式抑制这个无害的警告消息:添加[Language = Default]到 的选项中\babelfont

相关内容