![章节标题中的土耳其语点状“İ”](https://linux22.com/image/404225/%E7%AB%A0%E8%8A%82%E6%A0%87%E9%A2%98%E4%B8%AD%E7%9A%84%E5%9C%9F%E8%80%B3%E5%85%B6%E8%AF%AD%E7%82%B9%E7%8A%B6%E2%80%9C%C4%B0%E2%80%9D.png)
在土耳其语中,大写字母“İ”和“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