在土耳其语中,大写字母“İ”和“I”是不同的字母,小写字母“i”和“ı”也是不同的字母。在下面的 MWE 的 pdf 输出中,第一个章节标题尊重这种差异,但第二个章节标题却不尊重。有什么解决办法吗?
\mainlanguage[tr]
\definefontfamily[libertine][rm][Linux Libertine O]
\setupbodyfont[libertine,serif]
\setuplayout[grid=yes]
\setupindenting[yes,medium]
\setuphead
[chapter][number=no,textstyle=cap]
\starttext
\chapter{CAPITAL ``I'' AND ``İ''}% FIRST CHAPTER HEAD WITH CAPITAL LETTERS
\chapter{small ``ı'' and ``i''}% second chapter head with small letters
\stoptext
答案1
有现有的开关可以i
使用\WORD
等命令更改输出,但您重载了大写字符的默认设置。您遇到的相同问题也存在于德语双 s 中,SS
当您使用时会产生\WORD
该问题,但模块s-lingual-de.mkiv
显示了如何更改此问题。
使用该命令,\overloaduppercase
您可以设置字母大写形式应使用哪个字符。在下面的示例中,我将德语双 s 的代码改为带点的 i。
\unexpanded\def\enableuppercasedottedi {\overloaduppercase{0x69}{0x130}}
\unexpanded\def\disableuppercasedottedi{\overloaduppercase{0x69}{0x49}}
\installtexdirective
{fonts.uppercasedottedi}
\enableuppercasedottedi
\disableuppercasedottedi
%\enabledirectives[fonts.uppercasedottedi]
\starttext
\WORD{i}
\enableuppercasedottedi
\WORD{i}
\disableuppercasedottedi
\WORD{i}
\stoptext