我需要使用客户自己授权的字体来呈现带有图表的包裹。这些图表必须以EPS格式呈现并发送给报告的布局人员。
我拥有.ttf格式的字体文件,文件名如下:
- FontNameSans-Bold.ttf - FontNameSans-Medium.ttf - FontNameSerif-Bold.ttf - FontNameSerif-Regular.ttf ...
我还拥有这些文件的.eot、.svg和.woff版本。
因此,我尝试了extrafont包:
所以我随后可以执行以下操作:
我拥有.ttf格式的字体文件,文件名如下:
- FontNameSans-Bold.ttf - FontNameSans-Medium.ttf - FontNameSerif-Bold.ttf - FontNameSerif-Regular.ttf ...
我还拥有这些文件的.eot、.svg和.woff版本。
因此,我尝试了extrafont包:
ttf_import('Path/To/ttfFiles')
fonts()
[1] "FontNameSans-Bold" "FontNameSans-Light"
[3] "FontNameSans-Medium" "FontNameSans-Regular"
[5] "FontNameSerif-Bold" "FontNameSerif-Light"
[7] "FontNameSerif-Medium" "FontNameSerif-Regular"
我原本期望看到两个家庭,但显然这行不通。
最终,ttf文件应该包含在inst
文件夹的子文件夹中,我应该有以下类似的东西:
.onLoad({
font_import(file.path(system.file(package = 'mypackage'),
"fontdir")
)
# something else to create a family FontName for
# use with postscript() or cairo_ps()
loadfonts()
})
所以我随后可以执行以下操作:
setEPS()
postscript('somefile.eps', family = 'FontName Sans')
plot(mydata)
dev.off()
embed_fonts('somefile.eps', outfile = 'somefile-embedded.eps')
问题:我需要采取哪些额外步骤才能使字体族像其他字体族一样可用?
编辑:我知道在使用字体之前必须加载它们。但是如果注册错误,我就无法加载字体族。问题是如何正确地注册字体族,以便其余部分正常工作。
extrafont::loadfonts
实际加载字体(导入只是将它们放置于字体数据库中)。你也可以在loadfonts
中指定要加载的设备(默认为 pdf)。你可以多次调用loadfonts
来为多个设备加载字体。 - hrbrmstr