在 LuaLaTeX 或 XeLaTeX 中我可以用哪些希伯来字体替代 David?

在 LuaLaTeX 或 XeLaTeX 中我可以用哪些希伯来字体替代 David?

我需要用希伯来语写一份摘要。

在帮助下我设法让下一个 MWE 工作(我使用 LuaLaTeX):

\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}[Language=Default]{DejaVu Sans}
%\babelfont[hebrew]{rm}[Language=Default]{David} -Not Working: Does not contain script Hebrew
%\babelfont[hebrew]{rm}[Language=Default]{DejaVu Serif}-Not Working: Does not contain script Hebrew

%\babelfont[hebrew]{rm}{Noto Sans Hebrew}

\usepackage{setspace}
\setlength\headheight{15pt}
\usepackage[a4paper,top=25mm,bottom=20mm,outer=2.5cm,inner=4cm]{geometry}
\pagenumbering{gobble}

\begin{document}
\doublespacing

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

\end{document}

然而,字体看起来像“Arial”字体: ~'Arial' 字体 而我需要它看起来像“David”字体: ~'David' 字体

我不知道如何找到不会产生错误的正确字体。对于所有 TeX 技术细节,我都是真正的新手。

只需将“DejaVu Sans”更改为“David”就会产生一个警告Font 'David' does not contain script 'Hebrew',并且生成的 pdf 会显示奇怪的符号而不是希伯来字母。

有人可以一步一步解释如何使正确的字体工作吗?

答案1

网上有几种不同的免费版本的 David。一个很好的资源是开放西杜尔项目。这里我使用 Culmus 项目的 David CLM,但您也可以尝试 David Libre。对于匹配的英文字体,我选择了 TeX Gyre Bonum,它是 Bookman 的克隆版。

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

\babelprovide[import, main]{hebrew}

\defaultfontfeatures{ Ligatures = TeX, Scale = MatchUppercase }
\babelfont{rm}[Scale = 1.0, Ligatures = Common, Language = Default]{TeX Gyre Bonum}
\babelfont{sf}[Ligatures = Common, Language = Default]{TeX Gyre Heros}
\babelfont{tt}[Language = Default]{Inconsolata}
\babelfont[hebrew]{rm}[Language = Default]{David CLM}
\babelfont[hebrew]{sf}[Language = Default]{Miriam CLM}
\babelfont[hebrew]{tt}[Language = Default]{Miriam Mono CLM}

% This prevents the minipage environment from suppressing the space between
% paragraphs.  You could also save \parindent to keep paragraph indentation, but
% this example alternates right-to-left and left-to-right paragraphs.
\makeatletter
\newlength\savedparskip
\setlength\savedparskip{\parskip}
\newcommand{\@minipagerestore}{\setlength{\parskip}{\savedparskip}}
\makeatother

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

ניסוי ותהייה, או ניסוי וטעיה?
\foreignlanguage{english}{(We shall see.)}

\begin{otherlanguage}{english}
some text \foreignlanguage{Hebrew}{בעברית}
\end{otherlanguage}
\end{minipage}
\end{document}

David CLM/Bonum 字体样本

这是 David Libre 和 的替代方案polyglossia。它使用 David CLM 来实现斜体样式。它还演示了如何设置希伯来语无衬线字体和等宽字体。

\documentclass[12pt]{article}
\usepackage{fontspec}
\usepackage{polyglossia}
\usepackage{parskip}

\setdefaultlanguage{hebrew}
\setotherlanguage{english}

\defaultfontfeatures{ Ligatures = TeX, Scale = MatchUppercase }
\setmainfont{TeX Gyre Pagella}[
  Scale = 1.0 ,
  Numbers = OldStyle ,
  Ligatures = {Common, Discretionary}]
%\setsansfont{URWClassico}[
%  UprightFont = *-Regular ,
%  ItalicFont = *-Italic ,
%  BoldFont = *-Bold ,
%  BoldItalicFont = *-BoldItalic ,
%  Extension = .otf ]
%\setmonofont{Inconsolata}
\newfontfamily\hebrewfont{David Libre}[
  Script = Hebrew ,
  Language = Hebrew ,
  UprightFeatures = { Ligatures = {Common, Discretionary} } ,
  BoldFeatures = { Ligatures = {Common, Discretionary} } ,
  ItalicFont = [DavidCLM-MediumItalic] ,
  BoldItalicFont = [DavidCLM-BoldItalic] ]
%\newfontfamily\hebrewfontsf{Miriam Libre}[
%  Script = Hebrew ,
%  Ligatures = Common ]
%\newfontfamily\hebrewfonttt{Miriam Mono CLM}[
%  Script = Hebrew]

% This prevents the minipage environment from suppressing the space between
% paragraphs.  You could also save \parindent to keep paragraph indentation, but
% this example alternates right-to-left and left-to-right paragraphs.
\makeatletter
\newlength\savedparskip
\setlength\savedparskip{\parskip}
\newcommand{\@minipagerestore}{\setlength{\parskip}{\savedparskip}}
\makeatother

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

ניסוי ותהייה, או ניסוי וטעיה?
\textenglish{(We shall see.)}

\begin{english}
some text \texthebrew{בעברית}
\end{english}
\end{minipage}
\end{document}

David Libre/TeX Gyre Pagella 样本

我发现 David Libre 与 Palatino 很匹配(因此是它的克隆版 Pagella),而 Miriam Libre 与 Optima 很匹配(因此是它的克隆版 Classico)。就我个人而言,我更喜欢这种字体组合。

如果您需要混合使用两种语言的斜体字体,需要考虑的一点是,许多希伯来语斜体字体的倾斜方向与其他字体相反。(或者您可以使用从左到右倾斜的希伯来语斜体,或使用 Drugulin 来强调。)这在数学定理中尤其会给您带来麻烦。因此,您可以考虑加载\usepackage[math-style = upright]{unicode-math}如果您要混合使用相反方向的倾斜,您​​可能需要考虑加载。Hermann Zapf 的少数用直立字母设计的数学字体之一是欧拉。

附言:

感谢 Ulrike Fischer 提到 Babel 自 3.27 版本起支持希伯来语 Unicode。

相关内容