首页 > 解决方案 > Postscript 无法从 R Script 找到 MacOS 上已安装的字体

问题描述

我希望将一些文本转换为 Postscript。从这里这里使用下面的方法适用于某些字体,但不是全部。我很困惑为什么会这样。

它适用于 Times,使用 Postscript 名称 TimesNewRomanPSMT。它不适用于 Snell Roundhand、Postscript 名称、SnellRoundhand。

两者都是 .ttf 字体。两者都位于我的 iMac 上的 /Library/Fonts 中。

当找不到字体并默认为 Helvetica 时,是否会在某处创建 Postscript 错误消息?如果有,在哪里?

R 中是否有更好的方法从文本创建 Postscript 文件?

library(grImport)

# Must use Postscript name of file. See Font Body app in MacOS
cat("%!PS 
     /SnellRoundhand findfont 
     100 scalefont 
     setfont 
     newpath 
     0 0 moveto 
     (yfde) show", file = "data/y.ps")

PostScriptTrace("data/y.ps", "data/y.xml")
letters <- readPicture("data/y.xml")
grid.picture(letters)

标签: rmacosfonts

解决方案


Unix_SO建议对我有用的 enscript。

# Write text file
letter <- "a"
letter_txt <- paste0("q", ".txt")
write_file(letter, path = letter_txt, append = FALSE )

# Convert text to Postscript with enscript
font_size <- "SnellRoundhand10"
unix_cmd <- paste0("enscript -B -o ", letter, ".ps -f ", font_size, " ", letter_txt)
system(unix_cmd)

推荐阅读