我不明白以下部分这解决方案:
\peek_charcode:NTF ^^f0
'^^f0' 是什么意思?它来自哪里?我查看了 interface3.pdf,但什么也没找到。
unicode 替换非常适合 1f1e9-1f1ea (
答案1
这是原始的 tex 语法(即使在经典 tex 中,这两种^^
形式也可以工作)。它只是表示代码为十六进制 f0 的字符,因此 U+00F0 luatex 和 xetex 扩展了语法,允许^^^^2020
引用更大的范围
所以你不需要 expl3 甚至 latex,只需要原始的 tex 语法
\show ^^77
生产
> the letter w.
l.2 \show ^^77
事实上
\sho^^77 w
产生
> the letter w.
l.2 \show w
?
替换^^
还处于非常早期的阶段,甚至在命令名称被标记之前。
Luatex 使用扩展语法,允许 4 个或 6 个^
(但不允许 3 个或 5 个),因此你可能正在寻找
^^^^^^01f3f4
在 xetex 或 luatex 中,字符 U+1F1EA 是单个字符标记,其字符代码为十六进制 1f1ea,因此它不符合十六进制代码为 f0 的字符的测试;在 pdftex 中,它是四个字符标记,其字符代码为十六进制 f0 9f 87 aa(因为在 pdftex 中字符 = 字节 = 八位字节),因此如果您查找下一个字符,您只会看到 utf8 编码的第一个字节,即字符十六进制 f0。