我使用了很多特殊字符,例如 ā、ī、ū、š、ṣ、ḥ、ḫ 等等。我发现这有时会造成连字问题,例如 fi 连字,如果 i 上的点是破折号:fī。
在下面的 MWE 中我使用了 Brill 字体:http://www.brill.com/author-gateway/brill-fonts。
到目前为止,我已经了解到有三个选项可以设置fī
:
如果您想获得 MWE,请从这里下载:http://www.arabic-philosophy.com/misc/minimal_fi.tex(复制粘贴到此论坛不起作用,因为它使选项 1 和 3 看起来完全相同。)
结果如下:http://www.arabic-philosophy.com/misc/minimal_fi.pdf
f
当我输入 a和 an时出现的是选项 1 ī
。
tohecz 建议了选项 2。
我更喜欢选项 3。
有没有办法让我自己像以前一样打字,但告诉 LuaLatex 使用选项 3 而不是 1 作为输出?1 和 3 之间实际上有什么区别?
答案1
您的选项 3 是使用
U+0069(拉丁小写字母 I)U+0304(结合长音符号)
代替
U+012B(带长音符号的拉丁文小写字母 I)
通过使用输入后者,您可以获得前者
\usepackage{newunicodechar}
\newunicodechar{ī}{ī} % use "i + combining macron" in the second argument
或者,无需费力输入奇怪的字符,
\newunicodechar{ī}{i\char\string"0304 }
这是来自您的测试文件的输出(省略选项 2)。
最小示例:
\documentclass[12pt, a4paper]{scrbook}
\usepackage{fontspec}
\setmainfont[Ligatures=TeX]{Brill}
\usepackage{newunicodechar}
\newunicodechar{ī}{i\char\string"0304 }
\begin{document}
\begin{verbatim}
1a. Kitāb an-Naǧāt fī l-ḥikma.
1b. \emph{Kitāb an-Naǧāt fī l-ḥikma}.
3a. Kitāb an-Naǧāt fī l-ḥikma.
3b. \emph{Kitāb an-Naǧāt fī l-ḥikma}.
\end{verbatim}
1a. Kitāb an-Naǧāt fī l-ḥikma.
1b. \emph{Kitāb an-Naǧāt fī l-ḥikma}.
3a. Kitāb an-Naǧāt fī l-ḥikma.
3b. \emph{Kitāb an-Naǧāt fī l-ḥikma}.
\end{document}
答案2
在我看来,当有除点之外的其他顶部重音时,fi
不应连字符。您可以通过在字母之间放置空括号来实现这一点:。此图像显示了一些变体,最后一个与 重叠,以供比较(我也展示了代码,utf8 char对我来说不起作用,因此命令如下):i
{}
f{}ī
fi
\=\i
ī
\=