黒木華(くろきはる)の主演ドラマ『重版出来!』、面白いです。
主人公の黒沢心は、外見は柔道やってたようには全然見えないのですが、性格が体育会系で明るくて元気です。仕事のモチベーション上がります。第五話では、運を貯めるために、良い行いをする話があったのですが、私も見倣おうと玄関の掃除を始めました。さて、いつまで続くでしょうか。
その五話に出てきた宮沢賢治の詩、雨ニモマケズは、初めて読んだ時はカタカナばかりで、意味もなくカタカナばかり使って、なんて読みにくいんだろうと思ってました。日本は今でこそひらがなを使ってはいますが、昔はカタカナを使ってたんですね。
さて、カタカナが読みづらい時のために、カタカナひらがな変換をします。
雨ニモマケズの文章は、青空文庫さんからwgetします。
unzipがないときは、apt-get install unzipでインストールしておきます。
~$ wget http://www.aozora.gr.jp/cards/000081/files/45630_txt_23610.zip ~$ unzip 45630_txt_23610.zip ~$ ls 45630_txt_23610.zip amenimo_makezu.txt ~$ ~$ nkf --guess amenimo_makezu.txt Shift_JIS (CRLF) ~$
内容を確認してみます。nkfは自動的に文字コードを判定してくれますので、ファイルをnkfへ読み込むだけでコンソールで読めるように変換してくれます。
~$ nkf < amenimo_makezu.txt | sed -n '12,20p' 雨ニモマケズ 風ニモマケズ 雪ニモ夏ノ暑サニモマケヌ 丈夫ナカラダヲモチ 慾ハナク 決シテ瞋ラズ イツモシヅカニワラッテヰル 一日ニ玄米四合ト 味噌ト少シノ野菜ヲタベ ~$
次はひらがなへの変換です。
~$ nkf --hiragana < amenimo_makezu.txt | sed -n '12,20p' 雨にもまけず 風にもまけず 雪にも夏の暑さにもまけぬ 丈夫なからだをもち 慾はなく 決して瞋らず いつもしづかにわらってゐる 一日に玄米四合と 味噌と少しの野菜をたべ ~$
上手くいきました。しかし、ひらがなの方を読んでみて分かりますが、やはりカタカナの方が良いです。 さらに欲を言えば縦書きが良いです。
ということで、縦書きに変換してみます。
rubyのtransposeを使います。配列を縦横変換してくれます。a.txtはすでにutf8に変換した雨ニモマケズです。空白はAAという文字列で作ってから、revコマンド後にスペース2個に戻しています。ものすごくトリッキーですが、行き当たりばったりのコマンドラインの味だと思ってください。
~$ ruby -e 'y=[] STDIN.read.split(/\n/).each{|m| x = m.split(//) (38-x.length()).times{x.push("AA")} y.push(x) } y.transpose.each {|m| puts m.join() } ' < a.txt | rev | tr 'A' ' ' | head -16
rubyはさすが国産だけあって日本語処理が得意ですね。
コメント
[…] さて、縦と横の話なのですが、printerbannerは、90度倒れて表示されているので、ずっと気持ち悪いと思ってました。今回はそれを解消したいと思います。「雨ニモマケズnkfでひらがなカタカナ変換、ついでにrubyで縦書き」のrubyのスクリプトを使って、printerbannerを左に90度回転して表示してみます。 […]