我需要在文字中使用來自 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
程式碼。