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.patchw3m-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