![为什么 LuaLaTeX 会将功能(如 rot13)添加到缓存中的任何 OpenType 字体中](https://linux22.com/image/457745/%E4%B8%BA%E4%BB%80%E4%B9%88%20LuaLaTeX%20%E4%BC%9A%E5%B0%86%E5%8A%9F%E8%83%BD%EF%BC%88%E5%A6%82%20rot13%EF%BC%89%E6%B7%BB%E5%8A%A0%E5%88%B0%E7%BC%93%E5%AD%98%E4%B8%AD%E7%9A%84%E4%BB%BB%E4%BD%95%20OpenType%20%E5%AD%97%E4%BD%93%E4%B8%AD.png)
以下程序
\documentclass{article}
\usepackage{fontspec}
\begin{document}
\fontspec{Erewhon-regular.otf}
Hello {\addfontfeature{RawFeature={rot13,!!??}} World !?}
{\addfontfeature{RawFeature={rot13,!!??}}Hello} World !?
\end{document}
输出结果如下:
Hello Jbeyq ‽ Uryyb World !?
rot13 循环交换字母(这是凯撒加密方法)并且 !!?? 用叠加的符号替换 ? 和 ! 两个符号。
这些功能不在正版 Erewhon-regular.otf 文件中,我假设它们是在 /Users/.../Library/texlive/2022/texmf-var/luatex-cache/ 中创建字体的 lua 版本时由 LuaLaTeX 添加的。对吗?
为什么要添加这些功能?
还有其他的吗?
请注意,任何 OTF 字体都会发生这种情况(即使 TeXLive 中没有的字体也是如此)。
非常感谢您的解释。