r - 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)
解决方案
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)
推荐阅读
- node.js - 在节点 js 端发生数据更改后,如何启动响应以重新加载?
- java - 为什么 Maven 目标不将变量设置为 .properties 文件
- python - 按熊猫中的时间戳差异分组
- django - S3 的 TextFields 中的相对媒体路径
- java - How to supply value to an annotation dynamically?
- javascript - 如何组合来自多个get元素的html nodeList
- firebase - Allow access to Firebase HTTPS functions from cross domain origin
- sql - 从两个日期获取 COUNT 个 DISTINCT 月
- c++ - OpenCV Initializing Camera: Unknown query to pre-built opencv files
- python - Python 时间 Perf_Counter() 混乱