〈租界R〉トップページ

Mac OSX 版Rコマンダーの日本語表示を改良する闘争の顛末

三中信宏


動機

以前,Mac OSX の日本語環境でRを立ち上げたとき,X11ウィンドウズ上でRコマンダーを起動すると,表示される日本語が汚すぎて使用に耐えなかった.いろいろな大学や研究機関でRを用いた統計講習をする機会が多いが,Mac OSX が「使えない」理由は,単に競合する Windows のRコマンダーのシェアが圧倒的に高いからという理由だけではない.Rコマンダーのインストールに伴う困難さが比較にならないほどきびしいからである.Windows PC ならばこんな苦労はしなくてすむのに,どうしてマック信者だけ迫害されないといけないのかと天を仰ぎつつ耐え忍ぶだけではシアワセはけっしてやってこない.そこで,日本語表示の点のみに着目して Mac OSX のRコマンダーを“心地よく”使うためのワザを下記に挙げておく.以下はすべて私(三中)が実際に行なって動作確認した手順で,お手軽な対症療法から徹底的な根幹治療へ順番に列挙する.

なお,下記は Mac OSX 10.6.6(Snow Leopard)での記録である.また R ならびに Rcmdr パッケージのダウンロードと展開は前提とする.

私自身,試行錯誤の末に何とか解決できました.下記の内容についてご意見やご指摘がありましたらご連絡ください.


0. 門前での下準備

  1. 「X11」の確認と対処:「アプリケーション」フォルダー内の「ユーティリティ」フォルダー内に,「X11.app」があればすでにインストールされている.ない場合は,Mac OSX インストールディスクから「X11」を選択してカスタムインストールすること.インストール方法については:「Mac OS X「Snow Leopard」インストール完璧ガイド」が参考になる.
  2. 「tcltk-8.5.5-x11」のインストール:〈CRAN〉の「R for Mac OS X: Development Tools and Libraries」から tcltk-8.5.5-x11.dmg をダウンロードしてインストールする.
  3. 「Rコマンダー」の起動と表示の確認:R本体を起動し X11 を立ち上げたのちに,Rのコマンドプロンプトから「library(Rcmdr)」と入力して別ウィンドウでRコマンダーが開くことを確認する.

Rコマンダーの日本語表示が二目と見られないほど“醜い”と感じた方は下記に進むこと.惚れ惚れするほど“美しい”と感じた方はそのまま末永くお使いください(笑).

1. 英語環境に変更してRを起動する

趣旨とはいささか矛盾するが,日本語表示にこだわらなければ,このフェイント技がもっともお手軽かもしれない.「ユーティリティ」の「ターミナル」を起動し,プロンプト「$」から以下のコマンドをキー入力する:

    $ defaults write org.R-project.R force.LANG en_US.UTF-8

この1行を入力した後にRを起動すると表示がすべて英語となる.引き続きRコマンダーを起動するとこれまた英語表示になり,ジャギーな日本語表示にいらいらしなくてすむ.

再び日本語環境に復帰するには,同じく「ターミナル」から:

    $ defaults write org.R-project.R force.LANG ja_JP.UTF-8

とキー入力すればよい.

2. 日本語環境でなんとか頑張りたいとき

日本語環境にこだわるとき,次の小技と大技がある:

  1. Rコマンダーの日本語フォント指定をする(小技)
  2. X11ウィンドウの日本語フォントを指定する(大技)

以下ではこの順に説明する.

2-1.Rコマンダーの日本語フォント指定をする(小技)

Rを起動し,下記のコマンドを入力する:

> options(Rcmdr=list(default.font="-misc-fixed-medium-r-normal-ja-18-*-100-100-c-*-*-*"))

これでX11ウィンドウ付属のジャギーでない「サイズ18」日本語フォントが表示される.あるいは:

> options(Rcmdr=list(default.font="-misc-fixed-medium-r-normal-ja-13-*-100-100-c-*-*-*"))

と入力すると,もっと小さな「サイズ13」でのジャギーでない日本語フォントになる.

たった1行入力するだけのシンプルさが魅力的なこの小技の問題点は以下の二つである:

  1. フォントサイズは「13」と「18」のふたつしか選べない(ようだ).他のサイズを強制的に指定してもジャギーになるだけである.
  2. 日本語だけでなくすべてのアルファベットも「全角表示」されるので,いささか可読性に欠けるかもしれない.

参考サイト→「OS XのRcmdrのフォント」/「XTerm

2-2. X11ウィンドウの日本語フォントを指定する(大技)

根本的にはX11ウィンドウに付随するフォントをそっくり新しいものに置き換えるしかない.たとえば,RjpWiki の記事:「R for OSXで IPAフォントの利用」を参考にして,「ターミナル」および「X11」からのキー操作によりこの日本語フォント指定を実行することは可能だろう(残念ながら私にはまだ実行する機会がない).

UNIX と Xterm に慣れているユーザーならばさほどめんどうな作業ではないかもしれないが,Rのバージョンによる細かな変更があったりして,初心者にはハードルがかなり高い.私が悪戦苦闘した経緯を正直に記せば,以下のとおりだ ——

公開されている〈Still Searching〉記事「OSX版RCmdrの日本語フォントを何とかする」や〈緒賀研究室 - 個人別荘〉記事「R等に関する備忘録」を参考にして,「ターミナル」から下記のコマンドを入力した(ファイルの場所は Mac OSX バージョンによって異なるようだ):

【ターミナル画面操作】


    $ sudo mkdir -p /usr/X11R6/lib/X11/fonts/japanese Password: ****** $ cd sazanami-20040621 ※1 $ sudo cp sazanami*.ttf /usr/X11R6/lib/X11/fonts/japanese/ $ ls -al /usr/X11R6/lib/X11/fonts/japanese/ $ cd .. $ sudo cp fonts.dir /usr/X11R6/lib/X11/fonts/japanese/ ※2 Password: ****** $ sudo cp /usr/X11/lib/X11/xinit/xinitrc /usr/X11/lib/X11/xinit/xinitrc.orig Password: ****** $ sudo chmod +w /usr/X11/lib/X11/xinit/xinitrc $ sudo vi /usr/X11/lib/X11/xinit/xinitrc ※3 $ diff /usr/X11/lib/X11/xinit/xinitrc /usr/X11/lib/X11/xinit/xinitrc.orig

  • ※1) 事前に sazanami フォントをダウンロードし,The Unarchiver などで解凍しておく.
  • ※2) 事前に fontsdir.doc をダウンロードし,「fonts.dir」と改名する.(ファインダー環境設定で「拡張子表示」がオンになっていることを確認すること)
  • ※3) 「Shift + ZZ」で vi を終了させる.

【X11画面操作】


    $ xset +fp /usr/X11R6/lib/X11/fonts/japanese $ xset fp rehash


しかし,以上の作業を完了したにもかかわらず,なお“醜い日本語”はまったく解消されなかった(→証拠画像).[4 February 2011:三中信宏記]


[追記1]上記は,私が使用する Snow Leopard(Mac OSX 10.6.6)で R.app(32bit版)を起動したときの実行結果だった.のちに,同じ設定で R64.app(64bit版)を起動したところ,あっさり問題は解決し,Rコマンダーの日本語表示はジャギーではなくなることを確認した(→証拠画像).上の設定がけっきょく正しかったのかどうかは定かではないが,結果オーライでよしとしよう.私は sazanami フォントを入れて成功したが,「R for OSXで IPAフォントの利用」に説明されている IPA フォントを入れるという手もあるだろう.次回機会があれば試してみたい.[6 February 2011]

[追記2]Mac OSX の R64.app では _何もいじらなくても_ Rcmdr は「きれいな日本語表示」になるとの注目すべき情報提供を受けた.ワタクシの場合,すでにX11環境の日本語フォントをいじりまくったあとなので真偽の判定ができない.どなたか追試を![6 February 2011]

[追記3]私のもとに寄せられたいくつかの「追試」の結果によると,確かに R64.app だと X11 をいろいろいじらなくても Rcmdr はデフォルトできれいな日本語表示をしてくれるようだ.Rのパッケージや Rcmdr のプラグインが 64bit 環境にちゃんと対応しているかという疑問は残るが,ターミナルや X11 でのめんどうなコマンド操作はとりあえず回避できそうだ.これは朗報.現時点では R64.app を使えば誰でもシアワセになれる可能性が高いと結論してもいいだろう.[6 February 2011]

[いちおう大団円]Taglibro de H さんの決定的追試「Snow Leopardならクリックだけで美麗R Commander」(2011年2月6日)により,Mac OSX でRコマンダーを使おうとするなら,ジャギーな日本語表示を回避するための十分条件は「Snow Leopard」&「R64.app」であることが確定した.この環境のもとでは上述のような UNIX や Xterm でのやっかいなコマンド操作はいっさい不要になる.これできっとハッピーになれるぞ.[7 February 2011]


Last Modified: 7 February 2011 by MINAKA Nobuhiro