Closed Firestar-Reimu closed 1 year ago
xecjk 和 luatex-ja 中文方案都可以
请问有什么代码示例吗?官方文档似乎没有讲
我是同时用了fontspec和ctex (lualatex)
\usepackage{fontspec}
\setmainfont{Times New Roman}
\setsansfont{Arial}
\usepackage[fontset=none]{ctex}
\setCJKmainfont{FZShuSong-Z01}[BoldFont=Noto Sans CJK SC Medium,ItalicFont=FZKai-Z03]
\setCJKsansfont{Noto Sans CJK SC Regular}[BoldFont=Noto Sans CJK SC Medium,ItalicFont=FZKai-Z03]
\setCJKmonofont{Noto Sans Mono CJK SC}[BoldFont=Noto Sans Mono CJK SC Bold,ItalicFont=FZFangSong-Z02]
\newCJKfontfamily\kaishu{FZKai-Z03}
\newCJKfontfamily\fangsong{FZFangSong-Z02}
我发现如果我加\addfontfeature{StylisticSet=1}
,那么这只会作用到fontspec上,即Times new roman
fontspec 的所有字体属性选项,都可在 xecjk 的字体属性选项里使用,例如 \setCJKmainfont{...}[..., Alternate=xxx]
。相关文档
https://github.com/CTeX-org/ctex-kit/blob/008d3b9248c2f1ad70ff46fa17588dd4b4bfeac3/xeCJK/xeCJK.dtx#L682-L696
PS:和 \addfontfeature
对应,xecjk 提供了 \addCJKfontfeature
。
\documentclass[fontset=none]{ctexart}
\setCJKmainfont{FZShuSong-Z01}
\addCJKfontfeature{StylisticSet=1}
\begin{document}
在建筑领域,人们认为自然的材料具有各种贴近人性的优点,而人造的材料则能提供自由发挥的空间,并就这两者孰优孰劣展开了激烈的争辩;这场现代大辩论厘定了两种不同的匠艺。在韦尔的时代,用砖块来盖房子似乎更符合当时人们对真诚性的追求,卢梭的政治作品反映了这种追求。砖块体现了生活在光明时代的人们的一种愿望,就是渴望过着朴素和谐的生活(这可以从夏尔丹的画作看出来),以及渴望展现自己的本来面貌(这可以从那时妇女在家所穿的贴身纱衣看出来)。
\end{document}
报警告
Package fontspec Warning: OpenType feature 'Variant=1' (ss01) not available
(fontspec) for font 'FZShuSong-Z01' with script 'CJK' and
(fontspec) language 'Default'.
是我电脑的字体不对吗?
请问lualatex下又如何实现呢?
报警告
Package fontspec Warning: OpenType feature 'Variant=1' (ss01) not available (fontspec) for font 'FZShuSong-Z01' with script 'CJK' and (fontspec) language 'Default'.
是我电脑的字体不对吗?
有可能。可以用工具查看字体支持的所有 opentype feature,如 https://fontdrop.info/ 和 kpsewhich opentype-info.tex
(fontspec 文档 sec. 1.2VI.1.2 "How do I know what font features are supported by my fonts?" 介绍了用法)。
我电脑上没有方正书宋等字体,无法尝试。
请问lualatex下又如何实现呢?
https://github.com/CTeX-org/ctex-kit/blob/008d3b9248c2f1ad70ff46fa17588dd4b4bfeac3/ctex/ctex.dtx#L2727-L2735
可以在 ctex-engine-luatex.def
中得到佐证,对应 ctex
(v2.5.10,2022/07/14)文档 69 页末尾开始。
https://github.com/CTeX-org/ctex-kit/blob/008d3b9248c2f1ad70ff46fa17588dd4b4bfeac3/ctex/ctex.dtx#L5874-L5947
有可能。可以用工具查看字体支持的所有 opentype feature,如 https://fontdrop.info/ 和
kpsewhich opentype-info.tex
(fontspec 文档 sec. 1.2 "How do I know what font features are supported by my fonts?" 介绍了用法)。
我用 https://fontdrop.info/ 打开 FZSSK.TTF
,发现
The font FZShuSong-Z01 contains 0 ligatures in 0 OpenType features
在 https://www.zhihu.com/question/281979772/answer/423734678 的评论区找到
我最近去重新下载之前购买过的字体,也发现方正官网下载界面改版去掉了格式选择。但是你还是有办法下载 OTF 格式的字体。
可能是方正把 OTF 格式的字体不开放下载了。现在在方正官网下载字体需要安装「字加」软件,也没有提供格式选择的功能。
想找到 OTF 格式的字体,可能官方途径走不通了。
可以用工具查看字体支持的所有 opentype feature,如 https://fontdrop.info/ 和
kpsewhich opentype-info.tex
(fontspec 文档 sec. 1.2 "How do I know what font features are supported by my fonts?" 介绍了用法)。
更正:应该是 sec. VI.1.2,fontspec 文档里的 chapter 在每个 part 内单独计数。
那一节里也提到了命令行工具 otfinfo
,由 https://ctan.org/pkg/lcdf-typetools 提供,texlive 和 miktex 都收录了。
https://www.bilibili.com/read/cv14016015
该文章指出方正字体开启ss01才能获得正确的标点间距
但是ctex可以像fontspec那样指定字体stylistic set吗?