LaTeX3/expl3 中的字符代码是如何分类的?

LaTeX3/expl3 中的字符代码是如何分类的?

我不明白以下部分解决方案:

\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。

相关内容