如何在Typst中使用New Computer Modern Book?解决字体识别与粗体缺失问题
在Typst中使用New Computer Modern Book字重的问题
问题详情
我希望在Typst中使用New Computer Modern字体的Book字重,以获得稍粗的字体效果。在LaTeX(XeLaTeX)中可通过\usepackage[default]{fontsetup}加载该字体,但在MacOS上通过Homebrew安装其OTF文件后,遇到两个问题:
- 仅"08"版本的字体可正常使用,"10"版本无法识别,提示:
warning: unknown font family: newcomputermodern10 - New Computer Modern 08没有粗体字重,导致部分格式丢失,示例代码如下:
#set text(font: "New Computer Modern 08") = Heading The heading should be *bold*.
(配图:显示粗体缺失的效果)
从Font Book的条目来看,我无法理解两者表现差异的原因,求解决方法。
解决方案
1. 精确指定字体名称与字重映射
New Computer Modern的不同版本和字重拥有独立的字体文件名,需使用精确的字体全名调用:
- 调用10版本Book字重:
#set text(font: "NewComputerModern10-Book") - 调用对应粗体:
#set text(font: "NewComputerModern10-Bold")
若需让Typst自动匹配字重(如粗体、斜体),可配置字体族映射:
#set text( font: ( family: "New Computer Modern 10", bold: "NewComputerModern10-Bold", italic: "NewComputerModern10-Italic", bold-italic: "NewComputerModern10-BoldItalic" ) ) = Heading The heading should be *bold*.
2. 重新安装完整字体包
- 先卸载Homebrew安装的字体:
brew uninstall --cask font-new-computer-modern - 下载完整的New Computer Modern OTF字体包,手动安装所有字体文件
- 重启Typst或相关编辑器后重试
3. 验证Font Book中的字体全名
在MacOS Font Book中选中目标字体,查看「信息」面板里的「全名」,Typst必须使用这个精确名称才能识别字体,避免因名称拼写错误导致无法调用。
内容的提问来源于stack exchange,提问作者dufei
相关产品推荐
相关产品推荐

