Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

伪粗体的设定 #568

Closed
zoushucai opened this issue Mar 26, 2021 · 8 comments
Closed

伪粗体的设定 #568

zoushucai opened this issue Mar 26, 2021 · 8 comments

Comments

@zoushucai
Copy link

zoushucai commented Mar 26, 2021

您好,请教两个问题,
第一个:
开启伪粗体使用 AutoFakeBold 选项,我看了说明,AutoFakeBold 默认值为0.4。请问,这个0.4 是指在原来的基础上加粗0.4吗?还有, 我想达到win中word的粗体大小(宋体),应该设置多少? (试验过, 同一个数值,在mac 中的大小 和 win中的粗体大小不一样,猜测应该是使用不同字体造成的, 故打印出来的粗细不一样)

第二个:我已设置在ctex中设置fontset=none 。按照下面这样设置字体,正确吗? (PS: 我把win上的字体拷贝到了mac的当前目录下)

\let\lishu\relax % 清除旧定义
\let\songti\relax % 清除旧定义
\let\heiti\relax % 清除旧定义, 
\setCJKmainfont[Path=./fontset/,AutoFakeBold=0.4,AutoFakeSlant=0.4]{simsun.ttc}
\newCJKfontfamily\songti{simsun.ttc}[Path=./fontset/,AutoFakeBold=0.4]
\newCJKfontfamily\heiti{simhei.ttf}[Path=./fontset/,AutoFakeBold=0.4]
\newCJKfontfamily\lishu{SIMLI.TTF}[Path=./fontset/,AutoFakeBold=0.4]

不过有警告,应该是我有一个字体族没设置,请问如何解决

Unknown CJK family `\CJKsfdefault' is being ignored.
@sikouhjw
Copy link

第二个:我已设置在ctex中设置fontset=none 。按照下面这样设置字体,正确吗? (PS: 我把win上的字体拷贝到了mac的当前目录下)

\let\lishu\relax % 清除旧定义
\let\songti\relax % 清除旧定义
\let\heiti\relax % 清除旧定义, 
\setCJKmainfont[Path=./fontset/,AutoFakeBold=0.4,AutoFakeSlant=0.4]{simsun.ttc}
\newCJKfontfamily\songti{simsun.ttc}[Path=./fontset/,AutoFakeBold=0.4]
\newCJKfontfamily\heiti{simhei.ttf}[Path=./fontset/,AutoFakeBold=0.4]
\newCJKfontfamily\lishu{SIMLI.TTF}[Path=./fontset/,AutoFakeBold=0.4]

你可以直接 fontset=windows,如果你不打算安装字体,设置字体参考 kpsewhich ctex-fontset-windows.def 或者 texdoc ctex, sec 14.15.2 预定义字库

不过有警告,应该是我有一个字体族没设置,请问如何解决

Unknown CJK family `\CJKsfdefault' is being ignored.

他是告诉你,你没有定义无衬线字体,解决方法同上

@zoushucai
Copy link
Author

第二个:我已设置在ctex中设置fontset=none 。按照下面这样设置字体,正确吗? (PS: 我把win上的字体拷贝到了mac的当前目录下)

\let\lishu\relax % 清除旧定义
\let\songti\relax % 清除旧定义
\let\heiti\relax % 清除旧定义, 
\setCJKmainfont[Path=./fontset/,AutoFakeBold=0.4,AutoFakeSlant=0.4]{simsun.ttc}
\newCJKfontfamily\songti{simsun.ttc}[Path=./fontset/,AutoFakeBold=0.4]
\newCJKfontfamily\heiti{simhei.ttf}[Path=./fontset/,AutoFakeBold=0.4]
\newCJKfontfamily\lishu{SIMLI.TTF}[Path=./fontset/,AutoFakeBold=0.4]

你可以直接 fontset=windows,如果你不打算安装字体,设置字体参考 kpsewhich ctex-fontset-windows.def 或者 texdoc ctex, sec 14.15.2 预定义字库

不过有警告,应该是我有一个字体族没设置,请问如何解决

Unknown CJK family `\CJKsfdefault' is being ignored.

他是告诉你,你没有定义无衬线字体,解决方法同上

谢谢,第二个问题解决了, 没办法,mac系统,把win的字体拷贝过来的, 发现自己的论文和别人的word不一样,太粗了,打印出来是一坨黑(当时设置的是3)。现在不知道理论上应该设置多少,后面试了2 ,效果还不错。

@zepinglee
Copy link
Member

AutoFakeBold 默认是 EmboldenFactor,默认值是 4 不是 0.4。

我之前放大 PDF 比较过,AutoFakeBold = 3 相当于中易宋体在 Word 中的伪粗效果。

@zoushucai
Copy link
Author

zoushucai commented Mar 26, 2021

AutoFakeBold 默认是 EmboldenFactor,默认值是 4 不是 0.4。

我之前放大 PDF 比较过,AutoFakeBold = 3 相当于中易宋体在 Word 中的伪粗效果。

好的, 我去试试。 谢谢

@muzimuzhi
Copy link
Contributor

试了一个 office 365 上加粗宋体后另存为的 PDF,伪粗部分用的是 2 Tr 0.4 w,也就是 0.4bp 的轮廓线宽。xeCJK 默认设置得到的是 2 Tr 0.399994 w,应该相差无几。

* 对压缩过的PDF,执行 mutool clean -ad input.pdf output.pdf文档)可获得 "editable" 的版本。以文本文件形式打开,搜索 BT 找到文本对象的开始……

@zepinglee
Copy link
Member

诶?难道是我的 pdf 阅读器的渲染有误

@zoushucai
Copy link
Author

打印下来看了,对于宋体好像粗细没感觉, 而黑体差距大,但是等于0.4 与0.2 感觉不出来,如果是3 就有差别了。。

@muzimuzhi
Copy link
Contributor

请问,这个0.4 是指在原来的基础上加粗0.4吗?

@zoushucai 根据 #568 (comment) 里的信息,

  • AutoFakeBold=false,表示不绘制字符轮廓线、只填充颜色
  • AutoFakeBold=true 配合默认的 EmboldenFactor=4,表示既绘线又填色,且线的粗细为 0.4bp,其中 1 bp = 1/72 inch,1 inch = 25.4 mm。

PDF 的屏幕阅读效果差异,可能受显示器、操作系统、字体、(la)tex 及其宏包、PDF 阅读器等多种因素影响,最好能提供相应的 pdf 文件(作为基准)。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants