可能有关:https://github.com/CTeX-org/ctex-kit/issues/434#issuecomment-493402258
注:「source-han」和「noto-serif-CJK-SC(实际上就是fontset=ubuntu
调用的)」均为「思源字体」,只是分发的公司不同而已。
那么这些汉字支持是怎么实现的?
感觉问的有点泛了...我不懂字体....
也许有关: https://liam.page/2016/12/11/LaTeX-traditional-font-scheme/
是不是依靠...\texlive\2024\texmf-dist\tex\generic\ctex\zhmap下的ctex-zhmap-founder.tex
文件实现的?
是。在sec4.3
中,zhmap=true
时默认行为调用了zhmetrics
读取ctex-zhmap- #4 .tex
中的配置:
源码可参见ctex
文档的sec14.3.2:ctex-engine-pdftex.def
:
% \ctex_load_zhmap:nnnn
% 载入 zhmetrics 的字体映射文件,同时设置 \CJKrmdefault 等。
512 \cs_new_protected:Npn \ctex_load_zhmap:nnnn #1#2#3#4
513 {
514 \tl_set:Nn \CJKrmdefault {#1}
515 \tl_set:Nn \CJKsfdefault {#2}
516 \tl_set:Nn \CJKttdefault {#3}
517 \ctex_set_zhmap:n { \ctex_file_input:n { ctex-zhmap- #4 .tex } }
518 }
519 \@onlypreamble \ctex_load_zhmap:nnnn
520 }
附:
在v2.5的changlog中提到:
General: ubuntu 改用思源(Noto CJK)和文鼎字库,不再支持使用 pdfLATEX
编译。
这个修改的代码内容可见这个链接,也许研究下修改之前的配置可以部分回答你的原问题. 粗看上面的修改,之前的fontset=ubuntu
是因为使用的是「文泉驿」字体(支持pdftex
),修改为「Noto」之后不支持了。
问 为什么ctex宏集在pdflatex条件下生成的PDF,可以使用founder和windows系列的系统本地字体?是否可以模仿该行为,增加一个自定义的pdflatex下ctex宏集的中文字体配置策略?