使用 Demotic Alef unicode 字符与 Noto 字体包和 pdfLaTeX

使用 Demotic Alef unicode 字符与 Noto 字体包和 pdfLaTeX

我正在为我的机构编辑一些文件,需要一些世俗体(古埃及文字)字符:

  • 阿莱夫: ;Unicode:U+A723U+A722
  • 阿音: ;Unicode:U+A725U+A724^1

必须编译使用来自 TL 的pdfLaTeX字体noto。该软件包所采用的原始 Google Noto 字体noto支持所有这些字符。

不幸的是,我无法让它工作。我尝试了简单的\char"A723。由于没有成功,我尝试了一些更简单的字符。可以生成ä带有 的字符\char"00E4,但即使尝试生成λ带有 的字符\char"03BB也会引发错误。noto字体包产生希腊字母是显而易见的(就像在数学中或与\usepackage[greek]{babel})。

这可能是一个初学者的问题,但我对这些特殊字符没有经验,因此,任何帮助都将不胜感激。

下面是一个简短的 MWE (包含不同的测试和有效的 lambda):

\documentclass{article}

\usepackage[T1]{fontenc}
\usepackage[greek.ancient,english]{babel}
\usepackage[light]{noto}

\begin{document}

\char"00E4 % German ä

% \char"A723 % Demotic Alef

% \char"03BB % lambda

\foreignlanguage{greek}{l} % lambda

\end{document}

答案1

感谢@UlrikeFischer 和@DavidCarlisle 的提示,我想出了以下解决方案(有人已经从评论中猜到了):

对于少数非常特殊的世俗体字符,使用lualatex相应的 unicode 值当然是最简单的方法。 解决方案pdflatex是可能的,但对于少数字符来说,这意味着需要付出太多努力。

由于我的情况是,我们主要处理古代文字,因此保留使用 LGR 或 beta 代码输入古希腊文本的可能性非常重要。因此,最初需要pdflatex

但是该软件包中已经有两个隐藏的小功能babel,提供了使用测试代码的可能性。

  1. ibycus-babel提供完整的 beta 代码支持,但字体固定,不会因设置的主字体等而改变。也可编译pdflatex
  2. 尚未提交且未完整阐述的babel版本betagreek截至目前,它还不支持所有 beta 代码修饰符,但会受到所选字体的影响(只要该字体支持希腊字符)

因此,这里有一个解决unicode问题并提供了两种希腊语排版可能性的示例的文档(必须用 进行编译lualatex):

\documentclass{article}

\usepackage[T1]{fontenc}
\usepackage{fontspec}
\setmainfont{NotoSerifNerdFont-Light.ttf}
% \usepackage[light]{noto} % Can process ibycus-input with pdflatex, but no unicode
\usepackage[ibycus,english]{babel}

\babelprovide[import=el]{betagreek}

% In the following, more rules for transliteration have to be declared
\babelprehyphenation{betagreek}{ ([ahiuw]) = }{
  string = {1|ahiuw|ᾶῆῖῦῶ},
  remove
}
\babelprehyphenation{betagreek}{ ([aehiouw]) {)} / }{
  string = {1|aehiouw|ἄἔἤἴὄὔὤ},
  remove, remove
}
\babelprehyphenation{betagreek}{ ([aehiouw]) {(} }{
  string = {1|aehiouw|ἁἑἡἱὁὑὡ},
  remove
}
\babelprehyphenation{betagreek}{ ([aehiouw]) {)} }{
  string = {1|aehiouw|ἀἐἠἰὀὐὠ},
  remove
}
\babelprehyphenation{betagreek}{ ([aehiouw]) / }{
  string = {1|aehiouw|άέήίόύώ},
  remove
}
\babelprehyphenation{betagreek}{([abgdezhqiklmncoprstufxyw])}{
  string = {1|abgdezhqiklmncoprstufxyw%
             |αβγδεζηθικλµνξοπρστυφχψω}
}

\begin{document}

\char"00E4 % German ä

\char"A723 % Demotic Alef

\char"03BB % lambda

\begin{ibycus}
    ('Omhros
\end{ibycus}

\ibygr{a)rxai=a gra'mmata}

% Not all modificators are supported, e.g. majuskel:
\foreignlanguage{betagreek}{O('mhros. a)rxai=a gra/mmata}

\end{document}

(似乎还有更多类似的包teubnerbetababel我目前还没有测试过。

相关内容