Triad sou.

epsファイル出力でType1フォントを使う

正しいのかどうか分かりませんが、一応できたのでメモっておきます。


URW Garamondを使ってみよう。
まず、Rをインストールしたディレクトリの中の
  /R/R-X.X.X/library/grDevices/afm
に使いたいフォントのafmファイルを一つずつgzファイルにしてからコピーします。
この場合だと、"ugmr8a.afm.gz", "ugmm8a.afm.gz", "ugmri8a.afm.gz", "ugmmi8a.afm.gz"を作ってコピーする。

Rスクリプトでは、Type1Font関数を使ってfamilyを定義してあげます。
metricsにafmファイルを指定します(gzは付けなくて良い模様)。

UGM <- Type1Font(
  family = "URW Garamond",
  metrics = c("ugmr8a.afm", "ugmm8a.afm", "ugmri8a.afm", "ugmmi8a.afm", "Symbol.afm"),
  encoding = "default"
)

# 1回だけ実行すればよい
postscriptFonts(URWGaramond = UGM)

postscript(
  file="C:/Garamond_Test.eps", width = 9, height = 9, pointsize = 20,
  horizontal = FALSE, onefile = FALSE, paper = "special",
  family="URWGaramond"
)
curve(sin(x), -pi, pi)
dev.off()

postscriptFonts関数でfamilyを定義しないでも、postscript関数のfamilyに直接オブジェクトを投げてもよい(この場合はfamily=UGMと指定しちゃう)。
CIDフォントの場合はCIDFont関数を使ってCmapファイルとかを指定してやるようです。

postscriptFonts()

でちゃんと定義できているか確認することもできます。


一応埋め込みまでできるような・・・。




メトリックの入力順?

metrics = c(Regular, Bold, Italic, ItalicBold, Symbol)