関西人と納豆

関西人なのに納豆好きなんですね、とよく言われます。

周囲にも納豆好き多いんだけどなぁと思っていたところ、坂井希久子(2016)「ほかほか蕗ご飯~居酒屋ぜんや」(ISBN:9784758440004)の81ページで、造り酒屋と納豆の関係を明記してくれていました。

造り酒屋では納豆は厳禁なのだそうです。おそらく納豆菌は、日本酒発酵に必須の麹菌と分離することが難しいからでしょう。一方で、江戸時代ころまでは造り酒屋は関西に集中していましたから、「関西=納豆嫌い」の構図が出来上がったのだと思います。

f:id:S_E_Hyphen:20190904082126j:plain

朝ごはんにも、酒の肴にも納豆って手軽でおいしいですよね。

 

GMT ver.5で日本語を表示する

あちこちのサイトにも書いてくれてますし、CookBook の 22.1. Using non-default fonts with GMT にも書かれているように

$GMT_dir/share/postscriptlight/PSL_custom_fonts.txt

というファイルに使いたいフォントを追記します。$GMT_dir というのはGMTをインストールしたディレクトリのことで、うちの環境では/usr/local/gmt5 というディレクトリになっています。多くのサイトでは、Ryumin-Light-UniJIS-UTF8-H と GothicBBB-Medium-UniJIS-UTF8-H の追記を紹介しているようです。ところが、先月GMTをインストールする際に同じようにしても日本語フォントが使えなくなるという大変困った事態を経験しました。

 色々試した結果、出力後のポストスクリプト画像ファイルをWindows10に持ってくるとちゃんと(?)代替フォントで表示されることが確認できました。また、古いUBUNTUの環境へ持ち込んでも、同じポストスクリプト画像ファイルで日本語フォントが表示できることもわかりました。どうやらGMTは正常に設定していたのですが、新しい環境のドキュメントビューアの日本語設定が不十分であったため、結果的に日本語が表示されなかったということのようです。

つまりGMTのnon-default なフォントというのは書き出す側の環境ではなく、表示する側の環境に依存しているようですね。ということで、こんなことを試してみました。

 

#	$Id: PSL_custom_fonts.txt 14657 2015-07-30 21:26:18Z pwessel $
#
#	Listing of additional PostScript fonts than those found on most PS printers.
#	Add your extra font information there.  This is the only required change as
#	far as GMT goes.  However, you most likely will have to modify GhostScript
#	font tables, place font files in certain system directories, and possibly
#	upload purchased fonts to a PostScript printer.  Search for help on how
#	to install new fonts on your particular system.
#
#	The fontheight below is the height of A for unit fontsize.
#	Encoded = 0 if we may reencode this font as needed.
#
#Fontname			Fontheight	Encoded

#Ryumin-Light-EUC-H              0.700           1
#Ryumin-Light-EUC-V              0.700           1
Ryumin-Light-UniJIS-UTF8-H              0.700           1
Ryumin-Light-UniJIS-UTF8-V              0.700           1
Ryumin-Light-RKSJ-H              0.700           1

#GothicBBB-Medium-EUC-H          0.700           1
#GothicBBB-Medium-EUC-V          0.700           1
GothicBBB-Medium-UniJIS-UTF8-H          0.700           1
GothicBBB-Medium-UniJIS-UTF8-V          0.700           1
GothicBBB-Medium-RKSJ-H          0.700           1

MS-Gothic-90ms-RKSJ-H	          0.700           1
MS-Mincho-90ms-RKSJ-H	          0.700           1

PSL_custom_fonts.txt の中身です。

最後のMS-Gothic-90ms-RKSJ-H と MS-Mincho-90ms-RKSJ-H は、いわゆるMSゴシックとMS明朝のことです。RKSJというのはローマ字-カタカナ-シフトJISの略なのだそうです。だからUTF8で日本語を流し込んでも文字化けします。私の場合は nkf -s を使ってsjisに変換しました。しかし、それでもまだubuntuのドキュメントビューアでは日本語表示できませんよ。だってubuntuにはマイクロソフト系のフォントは載ってませんから...。これをWindowsAdobe Illustrator で読み込んだものが下の画像です。

f:id:S_E_Hyphen:20190807095013j:plain

代替フォントを経由せずにMSゴシックやMS明朝を使えるようになりました。

私は余りこれを使おうとは思いませんが、WindowsGMTを使用しているユーザーさんには便利な機能かも知れませんね。

 

#!/bin/bash
psfile=font_tab.ps
gmt gmtset FONT_TITLE 16p,GothicBBB-Medium-UniJIS-UTF8-H
gmt gmtset FONT_LABEL 12p,GothicBBB-Medium-UniJIS-UTF8-H
gmt gmtset FONT_ANNOT_PRIMARY 0.35c,GothicBBB-Medium-UniJIS-UTF8-H
gmt gmtset MAP_GRID_PEN_PRIMARY 0.5p,128/128/128

# 方眼紙の描画
title=`echo Japanese Charactars`
gmt psbasemap -JX15c/20c -R0/15/0/20 -BnSeW+t"$title" \
 -Bxa5g1+l"(cm)" -Bya5g1+l"(cm)" -P -K > $psfile
cat << + |\
 nkf -s |\
 gmt pstext -J -R -F+f+jLM+a0.0  -O >> $psfile
1.0 12.5 16p,MS-Mincho-90ms-RKSJ-H これはMS明朝です
1.0  7.5 18p,MS-Gothic-90ms-RKSJ-H これはMSゴシックです
+

 

祈り

本日2019年8月2日、INF条約が失効しました。テレビでは条約締結当時のレーガン米大統領ゴルバチョフソ連書記長の映像が何度も繰り返し放送されていました。

中高生だった私は、全世界同時核戦争の恐怖に怯えていました。そんな時代の終止符を打ってくれたのが1987年のINF(中距離核戦力全廃条約)だったと、私は認識しています。そして実際、以来30余年が経過した現代では局地戦ならともかく全世界核戦争なんて空想上の出来事のように感じられる世界が実現しています。

そんな役割を果たしてくれたINFが今日失効し、時計の針が逆戻りを始めようとしています。

f:id:S_E_Hyphen:20190802125933j:plain

この世界がいつまでも平和であることを心より祈ります。

 

為替相場の自動取得

米ドル建一時払い終身保険に加入しました。加入時の利率に応じた定期支払金を毎年米ドルで受け取ることとなります。

通常、銀行などで円をドルに両替してもらうにはTTSというレートを使用されます。しかし保険の場合、加入時はTTM+50銭というレートを使用してくれるので、若干有利です。

一方、毎年受け取った米ドルを日本円に両替する場合はTTBというレートが使われますので、日々のTTBの動きは把握しておきたいところです。

ということで、為替相場を自動的に取得しデータベースに登録するシェルスクリプトを作成してみました。TTM+50銭とTTM-50銭の値は 日本生命 のホームページから取得します。一方、TTSとTTBは 三菱UFJ銀行 のものを使用しました。

 

#!/bin/bash

mysql -h 192.168.0.16 life_log << _SQL_
 create table if not exists dollar(
  seq int primary key auto_increment,
  kind varchar(10),
  UpdateDate date,
  rate float,
  insertDate datetime,
  comment varchar(20)
 );
_SQL_
work=`test_day | head -1`
if [ $work = "OFF" ]
then
 echo `date` "市場は休みです"
 exit
fi

# ニッセイ指定通貨建積立利率変動型一時払終身保険(米ドル建・豪ドル建) 為替レートのダウンロード
wget https://va-dmn2.nissay.co.jp/vkhengaku/servlet/JP.co.nissay.KE8.KE8S007Z -O nissay.html
# MUFG外国為替相場一覧表のダウンロード
wget https://www.bk.mufg.jp/gdocs/kinri/list_j/kinri/kawase.html -O mufg.html

# 円入金特約用為替レート(TTM+50銭)
date=\
`w3m nissay.html |\
 sed -e "s/\*//g" |\
 sed -n '14p' |\
 awk '{print $1}' |\
 nkf -Z |\
 sed -e "s/年/\-/g" |\
 sed -e "s/月/\-/g" |\
 sed -e "s/日//g" `
rate=\
`w3m nissay.html |\
 sed -e "s/\*//g" |\
 sed -n '13p' |\
 awk '{print $2}' |\
 nkf -Z`
echo TTM+50 ${date} ${rate}
mysql -h 192.168.0.16 life_log << _SQL_
 insert into dollar(kind,UpdateDate,rate,insertDate)
    value("TTM+50","${date}","${rate}",now());
_SQL_

# 円支払特約用為替レート(TTM-50銭)
date=\
`w3m nissay.html |\
 sed -e "s/\*//g" |\
 sed -n '89p' |\
 awk '{print $1}' |\
 nkf -Z |\
 sed -e "s/年/\-/g" |\
 sed -e "s/月/\-/g" |\
 sed -e "s/日//g" `
rate=\
`w3m nissay.html |\
 sed -e "s/\*//g" |\
 sed -n '88p' |\
 awk '{print $2}' |\
 nkf -Z`
echo TTM-50 ${date} ${rate}
mysql -h 192.168.0.16 life_log << _SQL_
 insert into dollar(kind,UpdateDate,rate,insertDate)
    value("TTM-50","${date}","${rate}",now());
_SQL_

# 電信売り相場(TTS)
date=\
`w3m mufg.html |\
 sed -n '25p' |\
 nkf -Z |\
 awk -F":" '{print $2}'`
rate=\
`w3m mufg.html |\
 grep USD |\
 awk '{print $4}'`
echo TTS ${date} ${rate}
mysql -h 192.168.0.16 life_log << _SQL_
 insert into dollar(kind,UpdateDate,rate,insertDate)
    value("TTS","${date}","${rate}",now());
_SQL_

# 電信買い相場(TTB)
date=\
`w3m mufg.html |\
 sed -n '25p' |\
 nkf -Z |\
 awk -F":" '{print $2}'`
rate=\
`w3m mufg.html |\
 grep USD |\
 awk '{print $7}'`
echo TTB ${date} ${rate}
mysql -h 192.168.0.16 life_log << _SQL_
 insert into dollar(kind,UpdateDate,rate,insertDate)
    value("TTB","${date}","${rate}",now());
_SQL_

rm nissay.html mufg.html

 ニッセイのホームページからは、13行目と14行目あるいは88行目と89行目を取り出して加工するという方法で値を取り出しています。一方銀行のホームページも、日付は25行目のものを半角に変換(nkf -Z)して使用していますが、レートはUSDという文字列を含む行をgrep で検索して、第4フィールドと第7フィールドをawkで取得するという方法をとっています。

このシェルスクリプトを crontab に登録し、平日正午頃に実行することで日々の相場の値がmysqlに登録されるようになりました。

f:id:S_E_Hyphen:20190727150956j:plain