2011年1月 のアーカイブ


電子書籍用ガジェットでは、指で横にクイッとすると、ご丁寧に紙のページがめくれるアニメーション付きでページ送りされたりして、正直なところ、萎える。
紙の機能を電子化するとしても、もっと他に必要な機能があるでしょうに、という気分。
でも、文句言っても始まらないので、現時点であったら嬉しいな、と思う機能をあげてみた。

ペラペラめくって目についたところを読みたい

雑誌なんかではよくやること。ペラペラめくる動作の再現はしなくても良いので、縮小したページを画面中に大量に並べたり、写真やイラストだけのインデックス表示をしたり、人名、地名、商品名などの固有名詞をタグクラウドのように見せてくれたら、拾い読みしやすいと思う。
紙はランダムアクセス出来ないのだから、その部分でアドバンテージを見せられる機能なんじゃないかと思う。

読んでいるページを把握したい

今読んでいるところがどの辺か、前に読んだ時はどの辺だったか、紙の場合には、厚みなど感覚的な部分で記憶していることがある。全体のうちのどの辺かを表示するようにしたり、読み始め、読み終わりのページを履歴で記憶しておいてくれると助かる。

スクラップができるようにしたい

マニュアルなどの場合には、必要になる部分は全体のうちの一部だけのことが多い。複数ある資料で、必要なページだけ抜き出してスクラップすることはよくやっている。そういった感じで必要な部分をスクラップ出来ると便利。紙ではページ単位になったりするが、電子書籍であればTumblr
のように画像やテキストの一部だけの引用を、元資料へのリンクとともにまとめることが出来る。

思いついたこと3つあげてみた。すでに実装してある機能もあるかも知れない。電子書籍といっても主に雑誌や資料が主な想定で、文芸関係だとまた違って来るとは思う。紙では出来ない機能で便利に使えるようになれば、それはそれで良いわけなので、新しい機能を持ったガジェットが登場するのは楽しみだ。


ちょっとした理由で、bashでImageMagickを使った画像縮小バッチ処理を書いた。
perlのImage::Magickを使うのがポピュラーなんだろうけれど、マシンにImageMagickは入れてあるが、Image::Magickモジュールは無いという微妙な状況だったのでbashで書いてみた。ソースは以下のとおり。

#!/bin/bash

size=$(identify $1 | cut -d " " -f 3)
width=$(echo $size | cut -d "x" -f 1)
height=$(echo $size | cut -d "x" -f 2)
if [ $width -gt $height ]; then
  if [ $width -gt 200 ]; then
    ratio=$((20000/$width))%
  else
    ratio=100%
  fi
else
  if [ $height -gt 200 ]; then
    ratio=$((20000/$height))%
  else
    ratio=100%
  fi
fi
convert -geometry $ratio -quality 80 $1 $2
exit 0

resize.sh なんて名前で保存して、実行権限つけて
./resize.sh 縮小前の画像ファイル名 縮小後の画像ファイル名
といった具合で実行する。
上記のソースの例では、縦横大きい方が最大200ピクセルになるように縮小される。ロジックはよくあるもの。

ImageMagickを使うことはたまにあるけれど、大抵はperl上から呼び出している。今回はperlを使えないという一風変わった制限の中での対処となった。画像処理は比較的、負荷が高めなので、バッチで回せるところは出来るだけバッチにしておきたい所。
それだけのためにシェルからperlを呼び出すのであれば、今回のようにシェルの中だけで対応することも可能というサンプル、になっているかな?