行ったことがないところに行こうということで、気になっていた市谷亀岡八幡宮に行くことにした。なんとなく靖国通りの防衛庁前は路側駐車帯になっていると思ったらそんなことはなく、しょうがないので一度津之守坂から新宿通りに入り、裏側の谷沿いのどこかに100円駐車場があるだろうとあたりをつけて、坂町の適当なところに停めた。祝日30分120円とか信じがたく安い。坂の残りを下ると左型に鳥居が見えたので多分お稲荷さんっぽいから帰りはこっちに寄ろうと話し合って靖国通りに出る。監視カメラとか結構設置してあって、なるほど防衛庁ですなぁと市ヶ谷のほうへ行くと、八幡さまの階段にでんでんと長蛇の列で驚く。行列はいやなので戻って、お稲荷さんで初詣することにする。横に公園があって、子供が親とブランコでキャーキャー大騒ぎしながら遊んでいて、いかにも町のお稲荷さんで気持ちが良い。由来が書いてあると読むと、桝箕稲荷神社という名前で、幕府の下賜米を桝で計って配ったのでこの漢字名がついたとかある。元は真須美稲荷のマスミだったのだろうから江戸っぽくておもしろい。かっては外堀から続く川で、城から俵を積んだ船でここらに荷揚げしたのだろうとか考える。お稲荷さんは好きだが、どうせなら、かねてから気になっていた飯田橋と神楽坂の間の山にある神社にも行ってみようと考える。こちらは、タイムズでつねに15分220円だかだけどしょうがない。思いながら後で読もうと階段をのぼると右手にさびれきった、しかし坂をうまく滑り台にした児童遊園があって良い感じだが、お稲荷さんと違って遊ぶ子供はいないというか、なんか暗いよ。上ると左手に神輿蔵があって2(?単位はなんだろう)。右側のは読むと宝永年間(あやふや)の漆塗りとか書いてあるから350年以上の神輿で美しい。その左は白木で約200年くらいだが、元は白木でもすっかり黒くなっていて、右の漆塗りと良い勝負になっている。鋼で固めてあるので丈夫なようだが、それ以上に漆の保存力はすげぇな。右手には猿が2匹で桃と戯れていて、孫悟空でなければ、林檎を桃と勘違いした失楽園かと思えなくもない石碑があって、これも古そうだ。後で坂の途中にあった能書きを読んだら、これまた古い庚申塔で、猿と桃のモティーフは珍しいとあるが、確かに初めて見た。ついでにそこに立つ石鳥居は区内最古とかあって、今のさびれっぷり(初詣客は数人しかいない)とはまた異なる面影を考える。来てみないとわからないものだ。いうわけで、漆塗りの神輿も猿と桃の庚申塔も寅造もおもしろかった。PDFからテキスト抽出yancyaさんのQiitaの「RubyでPDFと戯れるの巻」は参考になるが、origamiよりもソースが読みやすいので、pdf-readerを使ってPDFからのテキスト抽出をしていた。現在のorigamiもそうだろうが、エンコーディング情報が入っていれば、テキストの抽出はえらく簡単で、少なくともpdf-readerだと次のようにすればよい。page.textendが、これはあくまでもエンコーディングが設定されている(yancyaさんの記事だとToUnicodeが設定されている場合なのだが、CMap(キャラクターマッピング表ということかな)があればOKのようだ)、埋め込みフォントを利用して、かつグリフのみの場合で詰んだ。page.textで出力される文字がむちゃくちゃになる。生データを見ることにする。page.raw_contentraw_contentによって、ynacyaさんの記事と同様の内容を得られる。page.fonts[:C0_0]次のような出力を得られる。(略)ToUnicodeは無い。不思議に思ってpdf-readerのFontオブジェクトを作ってみる。9647に相当する文字を5078.Adobe-Japan1-6.pdfで見てみるとiアクセンテギュみたいだが、該当フォントがないので▯になっているのかなぁ。そもそもOrderingがIdentityでJapanXではないのだから、見ている表が違うわけだろう。要は埋め込みフォントのグリフを直接指定しているに違いない。それで、埋め込みフォントを抜いてみることにする。(上でC0_0のDescendantFontsのBaseFontとされているもの)を選ぶ。Upをクリックする)。これは、該当PDFの表示と一致する。いうことは、文字コードに相当するものがどこにも無いのだから、TJで指定されているCIDに相当するグリフを埋め込みフォントから拾い出して文字認識させるか、PDFをそのままOCRするか、しかテキストを取得する方法は無いということだ。pdf-readerのstreamを使ってデータは取り出せるのはわかっているのだが、フォントの格納形式はわからないんだよな。その他の使い方pdf-readerを利用して単に文字コード変換テーブルを内包したPDFからテキストを抽出するだけならば、各ページオブジェクトのtextプロパティを呼び出せば良い。上のエントリーの最初のコード片参照。詳細な情報は、reader#objectsを利用する。objectsをeachで回すと最初のnilがスキップされる。#{reader.objects[i].inspect}"}objectsはHashとPDF::Reader::Streamのいずれかが入る。Hashが示すオブジェクトの実データはPDF::Reader::Referenceが示すStreamに格納される。:Type=>:Page}上のHashはContents(ページ内のテキストなど)を示す。実際のデータは、@id=2のStreamであることがわかる。filetered_dataは圧縮などがされている状態から実データを復元する。ここではContentsということがわかっているのでputsで呼び出す。...Streamからは、フォントのグリフや、CMapも取得できる。FontDescriptorなどの非バイナリオブジェクトは、Hashとなる。下の例は、FontDescriptorで、フォントデータは、FontFile2で示されるID(objectsのインデックスに等しい)のPDF::Reader::Streamから取得できる。:Type=>:FontDescriptor}上記のFontDescriptorをポイントするBaseFontを示す。ここでFontDescriptorとして示されている@id=13、つまりreader#objects[13]が上記である。この世界の(さらにいくつもの)片隅にを観る妻と丸の内TOEIに「この世界の(さらにいくつもの)片隅に」を観に行く。銀座線で降りて確か昔プランタンがあったあたり(全然丸の内じゃないので、妻とやたらと歴史がある映画館だから、有楽町(そもそも数寄屋橋という呼び名もあったし)よりも丸の内のほうが通りが良い時代に命名したのかなぁとか話ながら)だと地下をだらだら行くと、数段程度の階段がそこら中にあって、どうにも造りが良くない(あるいは歩兵の進軍を止める目的とかあったのか?)と考える。いうか、割と通ることはあるのだが、工事中でやたらと狭かったりするので気になったみたいだ。最初入ると数人しか客がいなくて、ちょっと驚いたが終わって外に出るとそれなりには入っていてなんとなく安心した(去年で終わりのはずの特典絵葉書をまだ配布しているってことは、集客がいまいちなのかと心配になったのだった。受け取らない人もいるんじゃないかと言うと、妻は家族の収まりが良い構図だったからかなとか言うし、それはそうかも知れない)。()無しとの一番の違いは、自分が代替物ではないかという感覚で、()無しでは義姉の子供を死なせたことが広島へ帰ることの一番の理由だったようなのが(子供ができないことも理由だったのかも知れないが)、随分印象が異なる。次が枕崎台風の襲来で、こんなにすごい被害をもたらした台風について全く知らなかったのがある意味驚きだった。踏んだり蹴ったりのようだが、残留物質を洗い流したというような記述も見るので必ずしも悪いことばかりではなかったのかな(いずれにしても住民にとってはたまらん)。おれにとっては一番観ていて辛いのは、被爆してガラスで針鼠みたいになった母親と子供のシーンなのだな、と今回も思った。居場所があるというのは本当にありがたいことだなぁ。フランケンシュタイン子供と日生劇場(初めて足を踏み入れたような気がする)でフランケンシュタイン。韓国製のミュージカルとしてはアンクルトムに続いて2つ目だ。物語はわりと良く知っているシェリー夫人のフランケンシュタインだが、幾つかミュージカルとして物語を際立たせるための改変がある。主人公のヴィクトルフランケンシュタインは母親の死のショックから永遠不滅の生命というものを、母親の死に対してなんの手も差し伸べなかった神に変わって作り出そうという目的へ邁進する男として作られている。最初の子供っぽい復活のための実験を村人に勘違いされて、家を焼かれてそのときに父親も喪失している。悲劇を際立たせるために、ヴィクトルの回りに重要な4人の人物を配する。1人は忠実な執事で、孤児(後述する姉はいる)となったヴィクトルを父親の代わりに溺愛している。ヴィクトルに対して完全に無償な貢献を行う。1人は姉で、ヴィクトルの気持ちもわかるが、頭の悪い村を生活の場として定めた以上は折り合いをつけさせるべきだという思いもある。唯一ヴィクトルの実験に対して反対の意見を(まともに)表明している(まともではない反対は頭の悪い村すべてなので問題とはならない)。1人は親代わりに引き取った伯父の娘で、ヴィクトルの天才っぷりに心底いかれている。ナポレオン戦争中に不服従の罪で銃殺直前のところをヴィクトルに救い出された元医学生(人体の再利用という研究をしていたが廃棄して、やけになっている)のアンリで、ヴィクトルの生命創造への論理的な支持者である(執事と伯父の娘はおそらく同情と頭の良さに対する闇雲な支持者なので、相当異なる)。ヴィクトルはナポレオン戦争で死体から兵士を作るというアイディアが採用されて実験をしまくっているが、ワーテルローでナポレオンが敗けたために実験途中で解散を命じられる。そのときに、停戦合意書に署名をするために子爵の失われた右腕を作るという依頼をクリア(実際の執刀はアンリが行ったらしい。その手術の腕前が評価されてヴィクトルの右腕になれたのだろう)したために、戦争の英雄として村へ帰還する。そのため、風当たりは少し弱まることになる。驚くほど下手な歌を歌い出すので、これはミュージカルではないのではないかと疑ってしまった。その後に出てきた伯父の娘が素晴らしい歌を歌ってみせて、ほっとした。ミュージカルのようだ。ヴィクトルの研究はほぼ完成していて、焼け残った居城の地下に実験施設があるのだが、新鮮な脳みそを持つ頭が手に入らないために、失敗しまくる。執事が、葬儀屋から入手することを思いつき、段取りをつける。葬儀屋は金をすぐ欲しいもので、無から死体を生み出す。その死体が自分に対する敬意を示した医学生だったので、ヴィクトルは怒りのあまり葬儀屋を突き飛ばす。打ち所が悪くて死体が2つになった。仰天してヴィクトルも気を失う。そこへ警察がやってきたため、アンリが身代わりとなって逮捕される。ヴィクトルがアンリの脳髄を手に入れることもありだな、と考えていると姉がやってきて、お前はさすがにまともではないとたしなめる。(微妙に、姉とアンリはお互いに惚れあっているような描写はいくつかある)さすがに、ヴィクトルもアイディアの外道っぷりに反省して自首する。カラマーゾフの兄弟のイワンの証言のような扱いになる。ヴィクトルは戦争の英雄なのに対して、アンリは突然あの頭のおかしなフランケンシュタインが連れてきたよそ者だから、犯人はアンリに決まっているという理屈で、徹頭徹尾、この村は2000人の狂人の村として描写される。してアンリの新鮮な首を盗み出したヴィクトルは生命を吹き込む。生まれた人間は元のアンリではなく、執事を噛み殺してしまう。怪物を作ってしまったと認識したヴィクトルは銃で撃つがもう遅い。怪物は窓から逃亡してしまう。