MacのESSでもquartz描画+日本語したいよね

してみた。
.Rprofileを以下のようにしたところ、とりあえず動く。
Carbon Emacs 2008年夏版と R 2.7.1 で確認しています。

if (.Platform$pkgType == "mac.binary"){
	options(device="quartz")
}

setHook(packageEvent("grDevices", "onLoad"),
        function(...){
            grDevices::quartzFonts(serif=grDevices::quartzFont(
                c("Hiragino Mincho Pro W3",
                  "Hiragino Mincho Pro W6",
                  "Hiragino Mincho Pro W3",
                  "Hiragino Mincho Pro W6")))
            grDevices::quartzFonts(sans=grDevices::quartzFont(
                c("Hiragino Kaku Gothic Pro W3",
                  "Hiragino Kaku Gothic Pro W6",
                  "Hiragino Kaku Gothic Pro W3",
                  "Hiragino Kaku Gothic Pro W6")))
            # grDevices::quartz.options(family="sans")
        }
)
attach(NULL, name = "MacJapanEnv")
assign("familyset_hook",
       function() { if(names(dev.cur())=="quartz") par(family="sans")},
       pos="MacJapanEnv")
setHook("plot.new", get("familyset_hook", pos="MacJapanEnv"))

options(X11fonts = c("-alias-gothic-%s-%s-*-*-%d-*-*-*-*-*-*-*",
                          "-adobe-symbol-*-*-*-*-%d-*-*-*-*-*-*-*"))

setHook(packageEvent("grDevices", "onLoad"),
        function(...) grDevices::pdf.options(family="Japan1GothicBBB")
)

動作確認は

plot(1:10, main="ほげ")
pdf()
plot(1:10, main="ふが")
dev.off()

ぶっちゃけ、RjpWiki や id:syou6162 にあるものへ options(device="quartz") を足して、pdf.optionsを書いてるだけ。
Terminal から ESS ではうまくいってる。
Terminal から直接 R だと描画やpdf保存はうまくいくけど、Rで打ちこむ時に文字が化ける。Terminalなどではutf-8で日本語打てるので、R絡みかな?
このdevice="quartz"をやるのに海外だと CarbonEL というLibraryを使うひともいるようだ。特にメリットに気付けていないのでスルーした。

自分の環境ではなぜか

ps.options(family="Japan1GothicBBB")

だと postscript への保存時に日本語変換がうまくいかないというエラーが。
かなしい。