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 への保存時に日本語変換がうまくいかないというエラーが。
かなしい。