Closed qiancy98 closed 2 years ago
我看到这个了. 只是觉得如果增加选项是不是更简单一点... (还是说其实应该是字体属性里应该增加CJK, 而不是包本身需要调整...
我看到这个了. 只是觉得如果增加选项是不是更简单一点... (还是说其实应该是字体属性里应该增加CJK, 而不是包本身需要调整...
上面 sikouhjw 发的文章里说了
归因 起因有两个,
xeCJK 为每个 CJK 字体默认添加特性 Script=CJK, 部分(中文)字体没有声明对应的特性。
总的来说,
xeCJK 的设定是合理的(luatex-ja 默认添加了相同特性),这是字体文件的问题,和 LaTeX 无关。 LaTeX 能做的,最多是抑制这类警告,假装问题不存在。
《[LaTeX 中文使用] 抑制 xeCJK/fontspec 警告 no-script "CJK"》 from https://github.com/CTeX-org/ctex-kit/issues/593#issuecomment-950974164
我大幅重写了这篇文章,改为推荐用
\AddToHook{package/xeCJK/after}{\defaultCJKfontfeatures{}}
避免抛出警告。文章也改名为《[LaTeX 中文使用] 抑制 xeCJK/fontspec 警告 Font does not contain requested Script "CJK"》(知乎好像取消或放宽了标题长度限制)。
2024-05-02 Update:
跟随 fontspec
v2.9b 对警告文本的修改,文章改名为《[LaTeX 中文使用] 抑制 xeCJK/fontspec 警告 Script 'CJK' not explicitly supported within font》。
可以在 3a253f2 查看相关的 fontspec
提交和带来的变动。
fontspec
v2.9e (2024-05-11) 把相关 warning 降级为了 info,之前提到的各种方案已经不再需要。详见提交 latex3/fontspec@0469638 (be quiet when script/lang not found, 2024-05-11)。
如果需要兼容旧版 fontspec
,可以使用 \IfPackageAtLeastTF{fontspec}{2024-05-11}{}{<old workaround>}
.
我把前面提到的知乎文章更名为了 "[过时] <原标题>",并在文章开头处加了说明。
有个经典警告如下:
查阅文档后我意识到是由
\defaultCJKfontfeatures{Script=CJK}
导致的. 能不能在ctex
中设置, 如果使用fandol
字体时取消该默认设置? (这应该是最根本的解决这个问题的方法, 我不知道为什么没有检索到... 大家提到的都是绕过这个warning....) 相似的issue: #397 CTeX-org/forum#34比如说设置选项, 默认CJK, 但是也可以设置
Script=hani
什么的...