2013年(6)
分类: 嵌入式
2013-08-31 18:27:28
指定字体时加上参数slant和embolden,slant参数范围[-1-1],embolden取值为0或1。
如:
setmainfont[BoldFont={\songbold},ItalicFont={\songitalic}]{\song}。\song和其他特殊命令均为自定义字体别名,使用以上字体名称即可。
如使用\fontspec{\song}后,此时字体属性已修改为\song,紧接着后面的字体都会是\song。
当此处修改的字体只是当前字体,默认字体,即由setmainfont设置的字体并未改变。
因此,此时若使用\textbf{粗体},粗体二字不会加粗,原因在于\textbf属性是对当前字体属性进行标记。
当此时使用\bfshape或\bf有效,因为\bf是对默认字体属性进行标记。
这就好比一个临时参数,一个是全局参数。绘图时使用的是当前参数,因此\bf等即时生效命令有效,当\textbf等全局属性则不起作用。
解决办法:
- 使用fontspec修改字体时,同样指定字体的[BoldFont,ItalicFont],这样当前字体的Bold和Italic字体也有效。
- 使用\normalfont恢复所有字体设置为默认状态,该命令不对字体大小恢复默认。