1w3m でインライン画像を表示 2 3 (2002/02/04) 坂本浩則 4 hsaka@mth.biglobe.ne.jp 5 (2002/10/16) 伊東宏之 6 ZXB01226@nifty.com 7 8はじめに 9 10 w3m でインライン画像を表示する拡張です。 11 12機能 13 14 ・X11 上の端末(xterm,kterm,rxvt,...)、 Linux の framebuffer 上または 15 Windows 端末上に画像(GIF,PNG,JPEG 等)を表示します。 16 ・img タグで指定されたインライン画像を表示できます。 17 width,height 属性に応じて必要な領域を確保してレンダリングします。 18 align 属性に対応しています。 19 ・Content-type: image/* な画像ファイルを直接表示できます。 20 ・map タグに対応しています。 21 area タグの shape, coords 属性を認識し、メニュー表示から選択できます。 22 ・img タグの ismap 属性に対応しています。 23 座標値を ?<x>,<y> として URL に追加して送ります。 24 ・input タグの type=image 属性で指定されたインライン画像を表示できます。 25 座標値を <name>.x=<x>&<name>.y=<y> として送ります。 26 ・非同期に画像を読み込みます。 27 ・画像をキャッシュできます。 28 ・GdkPixbuf を利用した場合 GIF animation を表示できます。 29 30キー操作 31 32 DISPLAY_IMAGE 33 画像の読込/表示を再開します。 34 STOP_IMAGE 35 そのバッファの画像の読込/表示を停止します。 36 SET_OPTION display_image=toggle 37 画像の読込/表示を切替えます。 38 39 デフォルトのキーマップはありませんので、~/.w3m/keymap に 40 keymap X DISPLAY_IMAGE 41 keymap C-c STOP_IMAGE 42 keymap t SET_OPTION display_image=toggle 43 の様に記述して使用してください。 44 45コマンドラインオプション 46 47 -ppc <pixel> 48 一文字あたりの幅(pixel 値)を指定します。デフォルトは自動設定。 49 正しく設定されない場合は端末の font の大きさに必ず合わせてください。 50 -ppl <pixel> 51 一行あたりの幅(pixel 値)を指定します。デフォルトは自動設定。 52 正しく設定されない場合は端末の font の大きさに必ず合わせてください。 53 54オプションパネル 55 56 pixel_per_char 57 一文字あたりの幅(pixel 値)を指定します。デフォルトは自動設定。 58 正しく設定されない場合は端末の font の大きさに必ず合わせてください。 59 pixel_per_line 60 一行あたりの幅(pixel 値)を指定します。デフォルトは自動設定。 61 正しく設定されない場合は端末の font の大きさに必ず合わせてください。 62 display_image 63 インライン画像を表示します。デフォルトは ON。 64 auto_image 65 インライン画像を自動で読み込みます。デフォルトは ON。 66 OFF の場合は、コマンド DISPLAY_IMAGE で読み込みを開始します。 67 max_load_image 68 画像を読み込む時の最大プロセス数。デフォルトは 4。1〜8 まで設定可能。 69 ext_image_viewer 70 コマンド VIEW_IMAGE('I')の場合や Content-type: image/* である 71 画像ファイルを外部ビューワで表示します。デフォルトは ON。 72 OFF の場合は、インライン画像として直接表示します。 73 image_scale 74 画像のスケールを指定します。デフォルトは 100(%)。 75 小さい font と共に使う場合には値を小さくすると有用。 76 imgdisplay 77 インライン画像を表示するためのコマンド。デフォルトは w3mimgdisplay。 78 下記の "w3mimgdisplay の設定" を参考にしてオプション設定してください。 79 80必要なもの 81 82 ・X11 使用時 83 * GdkPixbuf (0.16 以上推奨) 84 85 または 86 87 * Imlib-1.9.8以上 (1.9.10 以上推奨) 88 ftp://ftp.gnome.org/pub/GNOME/sources/imlib/1.9/ 89 * libungif-4.1.0b1 以上 90 ftp://prtr-13.ucsc.edu/pub/libungif/ 91 http://prtr-13.ucsc.edu/~badger/software/libungif/ 92 93 以下は Imlib のインストールに必要 94 * libjpeg 95 ftp://ftp.uu.net/graphics/jpeg/ 96 * libpng 97 http://www.libpng.org/pub/png/libpng.html 98 http://libpng.sourceforge.net/ 99 * libtiff 100 http://www.libtiff.org/ 101 * zlib-1.1.4 102 http://www.gzip.org/zlib/ 103 * netpbm 104 http://netpbm.sourceforge.net/ 105 106 ・Linux framebuffer 使用時 107 * Linux の 15,16,24,32bpp PACKED-PIXELS TRUE-COLOR/DIRECT-COLOR, 108 8bpp PACKED-PIXELS PSEUDO-COLOR framebuffer を利用できる環境 109 * GdkPixbuf (0.16 以上推奨) または Imlib2 (1.0.6 以上推奨) 110 111w3mimgdisplay の設定 112 113 w3mimgdisplay は以下のオプションを受け付けますので端末に合わせて 114 オプション設定パネルで(または -o オプションで)設定してください。 115 116 -x <offset_x> 117 端末上に画像を表示する X 方向の原点。X11 で利用する場合デフォルト 118 は 2 ですが、xterm や kterm ではスクロールバーの幅を計算して加え 119 ようとします。(正しく出来ないかもしれません。) 120 Eterm では 5 にすべきかもしれません。 121 Linux framebuffer で利用する場合デフォルトは 0 です。 122 -y <offset_y> 123 端末上に画像を表示する Y 方向の原点。デフォルトは、X11 では 2、 124 Linux framebuffer では 0。 125 Eterm では 5 にすべきかもしれません。 126 -bg <background> 127 端末の背景色。デフォルトは、X11 では自動設定、Linux framebuffer 128 では #000000 (黒)。 129 #RRGGBB で指定する場合は # をエスケープして設定してください。 130 -anim <n> 131 アニメーションで表示する最大フレーム数を指定。0 の時は制限なし。 132 負の時は最後からのフレーム数と見なします。デフォルトは 100。 133 -margin <n> 134 画像をクリアする領域のマージンを指定します。スクロールしたとき画 135 面にゴミが残ってしまう場合に指定してみてください。 136 デフォルトは 0。 137 138 例) 139 w3m -o 'imgdisplay=w3mimgdisplay -x 5 -bg "#cccccc"' 140 141その他 142 ・GIF animation は w3m からの再描画要求に応じてフレームを書き換える 143 だけなので勝手に動いてはくれません。絵を動かすためには 'h', 'l' 等 144 の適当なキーを連打してください。 145 ・framebuffer 描画関係には、下記 URI のコードを利用しました。 146 http://www.sainet.or.jp/~yamasaki/download/fb-sample.tar.gz 147 ・Windows では標準コンソール、Cygwin rxvt、PuTTYで動作確認しています。 148 149 150更新記録 151 1522002/02/04 153 * ドキュメント改訂 154 1552002/02/01 w3m-0.2.5+cvs-1.287 156 * 本家の CVS へマージ。 157 1582002/01/31 w3m-0.2.4-img-2.2 159 * w3m-0.2.4+cvs-1.278 ベース。 160 1612002/01/29 w3m-0.2.4-img-2.1 162 * w3m-0.2.4+cvs-1.268 ベース。 163 1642002/01/28 w3m-0.2.4-img-2.0 165 * w3m-0.2.4+cvs-1.265 ベース。 166 * pixel_per_char, pixel_per_line を自動設定するようにした。 167 * 端末の背景色を自動設定するようにした。 168 * 画像処理関係のソースを image.c に分離。 169 1702002/01/08 w3m-0.2.4-img-1.18 171 * w3m-0.2.4 ベース。 172 1732001/12/29 w3m-0.2.3.2-img-1.17 174 * w3m-0.2.3.2+cvs-1.196 ベース。 175 1762001/12/25 w3m-0.2.3.2-img-1.16.1 177 * [w3m-dev 02698] Thanks > かずひこ@kondara.org さん 178 1792001/12/22 w3m-0.2.3.2-img-1.16 180 * w3m-0.2.3.2 ベース。 181 1822001/12/20 w3m-0.2.3.1-img-1.15 183 * w3m-0.2.3.1 ベース。 184 * Content-Transfer-Encoding で送られて来た画像を表示可能にした。 185 1862001/11/29 187 * ChangLog 1.71 時点の CVS ソースに対してマージ開始 188 1892001/11/17 w3m-0.2.2-img-1.14 190 * w3m-0.2.2 ベース。 191 1922001/11/14 w3m-0.2.1-inu-1.6-img-1.13 193 * w3m-0.2.1-inu-1.6 ベース。 194 1952001/11/05 w3m-0.2.1-inu-1.5-img-1.12 196 * w3m-0.2.1-inu-1.5 ベース。 197 * <area><map> が使えなくなっていたバグの修正。 198 * kterm 上で xwnmo を使った場合に対応。 199 2002001/10/03 w3m-0.2.1-inu-1.4-img-1.11 201 * w3m-0.2.1-inu-1.4 ベース。 202 * 標準入力から読み込む時に落ちるバグの修正。 203 * configure の修正。Thanks > 深川さん。 204 2052001/08/01 w3m-0.2.1-img-1.10 206 * 画像の位置の微調整。 207 * スケールのバグ修正。 208 2092001/07/31 w3m-0.2.1-img-1.9 210 * initImgdisplay() の修正。Thanks > David. 211 2122001/07/29 w3m-0.2.1-img-1.8 213 * configure の修正。Thanks > 坂根さん。 214 2152001/07/28 w3m-0.2.1-img-1.7 216 * configure, XMakefile が patch に入って無かった。 217 * 画像を表示しない場合の処理をオリジナルに近づけた。 218 * [w3m-dev 02121] に対応。 219 2202001/07/27 w3m-0.2.1-img-1.6 221 * README.img を doc-jp へ移動。doc/README.img を作成。 222 * インライン画像対応部分を USE_IMAGE マクロで分離。 223 * configure でインライン画像対応を選択できる様にした。 224 * configure で Imlib をチェックする様にした。 225 2262001/07/26 w3m-0.2.1-img-1.5 227 * w3mimgdisplay は必要になるまで立ち上げない様にした。 228 * w3mimgdisplay が落ちた時に、w3mimgdisplay を再立ち上げできる様にした。 229 * <img align=middle の場合の計算間違いの修正。 230 * [w3m-dev 02118] に対応。 231 * funcname.tab が間違っていたので修正。 232 2332001/07/25 w3m-0.2.1-img-1.4 234 * w3mimgdisplay を環境変数 WINDOWID を見る様に改良。 235 また、text window の推量部分も改良。 236 * image タグを img タグと同じものとして追加。 237 * [w3m-dev 02090], [w3m-dev 02097] に対応。 238 2392001/07/14 w3m-0.2.1-img-1.3 240 * ext_image_viewer が OFF の場合は画像を直接フレーム表示可能にした。 241 * Option Panel が SEGV するバグの修正。 242 2432001/07/13 w3m-0.2.1-img-1.2 244 * 画像のスケールを指定出来る様にした。 245 * SIGUSR1 のブロックに関する修正。 246 2472001/07/12 w3m-0.2.1-img-1.1 248 * キー入力中以外は SIGUSR1, SIGWINCH をブロックする様にした。 249 * バグ修正。 250 2512001/07/11 w3m-0.2.1-img-1.0 252 * MGL 版の画像読み込みを採用。 253 2542001/07/10 w3m-0.2.1-img-0.5 255 * 描画の高速化。w3mimgdisplay で不要な XSync() を止めた。 256 不要な drawImage() を止めた。 257 2582001/07/08 w3m-0.2.1-img-0.4 259 * w3mimgdisplay での Window の取得や offset_x のデフォルト値の改良。 260 * <img align=middle の場合の計算間違いの修正。 261 * <img align=left|center|right では <div>〜</div> を使う様にしてみた。 262 * w3mimgdisplay では SIGINT を無視する様にした。 263 * w3mimgsize もオプション設定できる様にした。 264 2652001/07/07 w3m-0.2.1-img-0.3 266 * kterm に限らず、X11 上の端末では画像を描画できる様にした。 267 2682001/07/06 w3m-0.2.1-img-0.2 269 * README.img を作成。 270 * kterm-6.2.0-img-0.2.patch を w3m-0.2.1-img-0.2.patch に含める様にした。 271 * コードの整理、安全側への修正 272 2732001/07/04 w3m-0.2.1-img-0.1 274 * バージョン管理開始。 275 * Imlib 対応版。 276 2772001/06/30 278 * XPM 版でほぼ実装完了。 279 2802001/06/19 281 * MGL 版に刺激を受けて img への対応のテストを開始。 282 283----------------------------------- 284坂本 浩則 <hsaka@mth.biglobe.ne.jp> 285 http://www2u.biglobe.ne.jp/~hsaka/ 286