tuna / thuthesis

LaTeX Thesis Template for Tsinghua University
https://www.ctan.org/pkg/thuthesis
LaTeX Project Public License v1.3c
4.61k stars 1.08k forks source link

关于 Mac 下使用来自 MS Office 的中易字体的问题 #913

Closed ekaradon-Alexander closed 10 months ago

ekaradon-Alexander commented 11 months ago

编译环境

编译的系统:macOS 14.2 TeX 发行版:Tex Live 2023 模板版本:v7.4.0 模板类型:any

问题描述

762 讨论过这个问题,在 Mac 下使用 MS Office 提供的中易字体(字体文件在/Applications/Microsoft Word.app/Contents/Resources/DFonts/ 路径下)。

我的 Mac 上安装的是 MS Office 365,Word 版本为 16.80 (23121017)。

/Applications/Microsoft Word.app/Contents/Resources/DFonts/ 这个路径倒是存在,只不过中易宋体(SimSun)的字体文件是 ttc 而不是 ttf

这样一来使用 MS Office 提供的中易字体的方法就不起作用了:

https://github.com/tuna/thuthesis/blob/93a582f24d232fcbdf802cc82fe955cd65068732/thuthesis.dtx#L2254-L2255

当然直接把字体安装到系统还是可行的。

yanggthomas commented 10 months ago

我自己把ttf修改成了ttc,使用中missfont.log中还是会有mktextfm SimSun。这是正常的吗?

monusw commented 10 months ago

理论上只要/Applications/Microsoft Word.app/Contents/Resources/DFonts/这个字体目录存在,就说明mac上安装了word,后面指定path查找字体应该就是可行的: https://github.com/tuna/thuthesis/blob/93a582f24d232fcbdf802cc82fe955cd65068732/thuthesis.dtx#L2583C1-L2588C5

只不过LaTeX并没有判断目录是否存在的方法,在 #762 里才用了字体目录下的具体文件去判断。

\IfFileExists{\thu@mac@word@font@path/SimSun.ttf}{ 
}

可以考虑换个名字比较稳定的字体文件来代替SimSum.ttf,用于判断字体目录是否存在,例如:times.ttf等 @zepinglee

zepinglee commented 9 months ago

我自己把ttf修改成了ttc,使用中missfont.log中还是会有mktextfm SimSun。这是正常的吗?

这是正常的,xeCJK\IfFontExistsTF{SimSun} 找不到字体时总是会产生这个,但不影响编译过程。

zepinglee commented 9 months ago

可以考虑换个名字比较稳定的字体文件来代替SimSum.ttf,用于判断字体目录是否存在,例如:times.ttf等 @zepinglee

没必要吧,字体的文件名本来就不稳定,没准哪天 Times 也改成 .ttc