R: Linux x11 端末 で日本語の文字化けを防ぐ

解決策:

Rコンソールで

X11(type="cairo")  
par(famly=" par(family="VL Gothic")
#par(famly=" par(family="jiskan")

とだけすればよかった。。
1行目が最大のポイントで、これに気づきのにどんだけかかったんだよ、、って感じ。。

familyのところのフォント名は、
コマンドプロンプト上の fc-list  コマンドで日本語っぽいフォント名を探す。

システムに日本語フォントが入ってなければ、IPAフォントとかもってきて(IPAfont00301.zip)以下のようにプロンプト上で、フォントをインストールすればOK.

mkdir ~/.local/share/fonts  
wget [IPAフォント]   
unzip IPAfont00301.zip  
fc-cache -fv ~/.local/share/fonts/IPAfont00301

フォントが登録されてるかの確認は、 fc-list | grep ipa
とかでOK.


以下、はまりと混乱の履歴のポイントなので、読めないレベルの日本語で書いてます。 まったく上の解決に役立ってないです。
デフォルトだと、type = "Xlib" になっていて、root権限があれば簡単なのかもだけど、フォント指定とかフォントパスの指定のやり方が全然わからなかった。。それも、 IPA明朝いれようとしても、XLFD [X logical font Description。こんなの-jis-fixed-medium-r-normal--16-150-75-75-c-160-jisx0208.1983-0 -> jiskan16 っていうフォントの指定法 ] が必要だったり、さらに、それを登録しようとすると、なんかうまくいかなくなるなどなど問題多発。。 XLFD は、 mkfontscale mkfontdir コマンドで作れることがわかったりと色々解決してきたんだけど、、
[fonts.dir と fonts.scale とかいうファイルが必要]。これのfont のpath が登録できない。。 xlsfonts | grep jis  とかで、jisのフォントがはいってることが確認できて、これがjiskan16といわれるものだとわかったり。。 xfd -fn -adobe-courier-bold-o-normal--10-100-75-75-m-60-iso10646-1 がフォントがどうなってるか確認できたり、色々ノウハウウついてきたが確認にいたらず。。 LINUXとX11のフォントのしくみが昔からあるXft とかいうやつと、FreeType とかいうやつ? が混在しててわけわかんなくなる感じ。。 

      - まず、原因      Rのx11の文字化けの原因8バイト文字と認識してる。   http://www3.nit.ac.jp/~tamura/ex2/ascii.html

「あ」→$" 「い」→$$ 「う」→ $& 「え」→ $(  「ア」→ %" 「イ」→ %$ だから。
JIS あ:2422 アスキーコード 0x24 $ 0x22 " JIS ア:2522  アスキーコード 0x25% 0x22"

  • 次に、対策    -- そこで システムに入っているJISの日本語の対応のフォントをさがす xlsfonts | grep jis -jis-fixed-medium-r-normal--16-110-100-100-c-160-jisx0208.1983-0
    -jis-fixed-medium-r-normal--16-150-75-75-c-160-jisx0208.1983-0
    -jis-fixed-medium-r-normal--24-170-100-100-c-240-jisx0208.1983-0
    -jis-fixed-medium-r-normal--24-230-75-75-c-240-jisx0208.1983-0
    -misc-fixed-medium-r-normal--14-130-75-75-c-140-jisx0208.1983-0
    -misc-fixed-medium-r-normal--14-130-75-75-c-70-jisx0201.1976-0

xlsfonts | grep ja -misc-fixed-medium-r-normal-ja-13-120-75-75-c-120-iso10646-1 -misc-fixed-medium-r-normal-ja-18-120-100-100-c-180-iso10646-1

とかでてきた。

  • 最後に、そのフォントをRに教えてあげる。 以下を .rprofile

xfd -fn -adobe-courier-bold-o-normal--10-100-75-75-m-60-iso10646-1

ttc かた ttf に変換が必要 http://yozvox.web.fc2.com/556E697465545443.html

  grDevices::X11.options(
                     fonts=c(
                        #"-daewoo-mincho-medium-r-normal--16-120-100-100-c-160-ksc5601.1987-0",
"-jis-fixed-medium-r-normal--16-150-75-75-c-160-jisx0208.1983-0",                       "-adobe-symbol-medium-r-*-*-%d-*-*-*-*-*-*-*"))
            grDevices::pdf.options(family="Japan1GothicBBB")

これでなんとなかなるはず。。 →x軸とかy軸が文字化け

wget http://yozvox.web.fc2.com/unitettc.zip unzip unitettc.zip

./../../unit/unit64 ipam.ttc

mkfontscale mkfontdir linuxのfontについてかなりしっかりまとまってる。 https://wiki.archlinux.jp/index.php/%E3%83%95%E3%82%A9%E3%83%B3%E3%83%88

$ mkfontdir https://wiki.archlinux.jp/index.php/%E3%83%95%E3%82%A9%E3%83%B3%E3%83%88

ヒント: Xlibで作成したウィンドウ上に、XmbDrawStringで日本語の文字列を表示する。 https://ja.stackoverflow.com/questions/38153/xlib%E3%81%A7%E3%81%AE%E6%97%A5%E6%9C%AC%E8%AA%9E%E3%81%AE%E8%A1%A8%E7%A4%BA%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6

R for OSXIPAフォントの利用 http://www.okadajp.org/RWiki/?R+for+OSX%E3%81%A7+IPA%E3%83%95%E3%82%A9%E3%83%B3%E3%83%88%E3%81%AE%E5%88%A9%E7%94%A8

xfs (X font server) で TrueType フォントを使う http://www.nucl.phys.titech.ac.jp/USERS/kenichi/ttf/xfs.html

参考: xlsfonts -fn '--mincho-medium-r-normal--16---'

xlsfonts -fn '--fixed-medium-r-normal--16---'

xlsfonts -fn '-adobe-courier-bold-o-normal--14-100-100-100-m-90-iso8859-1'

X Window Systemで使用できるフォントを調べるには www.atmarkit.co.jp

xlsfonts -fn '--fixed-medium-r-normal--16---'

日本語フォント https://docs.oracle.com/cd/E19620-01/805-4178/6j3vb7r66/index.html

R のグラフで日本語を使う - 知に至る病 R のグラフで日本語を使う - 知に至る病

Mac OSX 版Rコマンダーの日本語表示を改良する闘争の顛末 http://cse.naro.affrc.go.jp/minaka/R/Rcmdr_for_MacOSX.html

11環境とフォント http://www.zg.em-net.ne.jp/~mlab/_src/sc271/82p8ac28bab82c683t83h839383g.pdf

IPAexフォント/IPAフォントのインストール例 https://ipafont.ipa.go.jp/old/fontinstall.html

実践Linux                 TOPへ  Cプログラミング目次へ

プログラムのフォント  2011年7月更新 ●X Window Systemのフォント(CentOS5の場合) http://www.yam-web.net/c-programing/font/index.html

フォントの path を X に教える http://www.momonga-linux.org/docs/TTF-HOWTO/ja/fontpath.html

CentOSでもWindowsでも使える! 日本語フォント(ゴシック編) https://www.google.com/search?client=firefox-b-d&q=vlgothic+x11

10.6. フォントの設定 https://access.redhat.com/documentation/ja-jp/red_hat_enterprise_linux/7/html/desktop_migration_and_administration_guide/configure-fonts

LinuxTrueTypeフォントを使う https://blue-red.ddo.jp/~ao/wiki/wiki.cgi?page=Linux%A4%C7TrueType%A5%D5%A5%A9%A5%F3%A5%C8%A4%F2%BB%C8%A4%A6

2005/02/23 (LinuxIPAフォントOpenOffice.org、fonts.dir その他。 http://seiza.dip.jp/computer/20050223005033139.html

Linuxのふぉんと https://www.mimir.yokohama/materials/linux-font.html

jiskan フォントというらしい jiskan16 フォント (-jis-fixed-medium-r-normal--16-150-75-75-c-160-jisx0208.1983-0) http://vega.pgw.jp/~kabe/vsd/jiskan16/iso10646.html

UTF-8 について http://maikaze.cafe.coocan.jp/utf8.html -misc-fixed-medium-r-normal-ja-18-120-100-100-c-180-iso10646-1

http://vega.pgw.jp/~kabe/vsd/jiskan16/iso10646.html