我需要在文本中使用 JSON 输入。有时它包含 UTF-8 代码。例如:
Belgi\u00e
cre\u00ebren
我如何在 ConTeXt LuaTeX 中使用这样的字符串,以便结果成为拼写正确的荷兰语单词?
België
creëren
最好作为句子的一部分,其中 %placeofbirthCandidate 和 %raisedinCountries 被 JSON 的内容替换。
\par Je bent geboren in %placeofbirthCandidate. Je bent opgegroeid in %raisedinCountries.
\par Je bent geboren in Belgi\"e. Je bent opgegroeid in Nederland, Belgi\"e en Engeland.
答案1
如果你只需要下面的字符\ua000
,那么你可以使用
\def\u#1#2#3#4{\uchar"#1#2#3#4 }
如果你需要使用后面跟着字母的更高字符\u
,那么你可以另外将 ua 设为非字母
\catcode`\u=12
但最好在本地团体中执行此操作,否则会出现问题。
(这只是使用 luatex 原语,因此应该在上下文中工作。)
请注意,U+FFFF 和 U+10FFFF 之间的字符在 JSON 中将由两个\u
表示 unicode 值的 UTF-16 编码的序列表示,因此完整的解决方案必须检测 UTF-16 代理对中的第一个并与以下代码相结合\u
。