やっとMacのESSで日本語がばけなくなった

なんか色々やったので、これだけでうまくいくかは保証できないけど、とりあえずうまくいっている現状をさらしておく。

Rのバージョン

前は2.7.0を使ってうまくいかなかったんだけど、2.6.2にして以下の設定をしたらうまくいった。この設定で2.7.0でやってもうまくいなかったから2.7.0の影響が少なからずあるのではないかと思う。

.emacsの設定

この前sessionInfo()やったら、localeがCだったことをヒントに。terminalのlocaleはutf-8で、eshellをたたくとlocaleがCになっていた。ということで強制変更させる。

(set-locale-environment "utf-8")
(setenv "LANG" "ja_JP.UTF-8")

.Rprofileの設定

Rが立ち上がった時に見てくれるファイルが.Rprofileというものらしいんだけど、これに色々書く。

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"))

#setHook(packageEvent("grDevices", "onLoad"),function(...) grDevices::ps.options(family="Japan1"))

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

setHook(packageEvent("grDevices", "onLoad"),
        function(...) grDevices::ps.options(family="Japan1Ryumin"))

その他あやしそうなところ

ここが関係しているかは分からないけど、とりあえずおいらはやってみたもの。

X11の入れなおし

X11が何やってるかとか知らないんだけど、日本語に問題がありそうな気配がするのはぐぐっててなんとなく分かった。というわけで入れなおしとかをやった。

fink

finkが何ものかも知らないんだけど、Macにunix的なツールを入れるものっぽい感じ。

で、下のリンク先のところを元に

fink install libiconv
fink install readline5-shlibs
fink install gettext

を実行。これが本当に必要かは分からないけど、とりあえずやった。

まとめ

ESSでプロットするとX11とかでプロットされるらしく、正直日本語があまりきれいではない*1。しかし、表示されないよりましである。日本語使わなくてもいいじゃんと言う声もあるのだが、日本語native speakerとしてはやっぱり日本語で表示されているほうが分かりやすかったりするw。

正直ESSなしではRでデータ解析ができないので、これができるようになったのは非常に大きい。というわけで安心して、Rライフを過せるようになったのであった。

*1:2.7.0のほうはかなり表示がきれいになっているようだ