長編まとめ・Sixel Graphics復活への動き(1)
とりあえずppmtosixelの部分はOld Style MIT Licenseであることが判明したので、このSixelエンコーダとmltermのSixelデコーダをくっつけてDIBインターフェースでくるめばlibsixelができるんじゃないかと思ってる。
2012-09-03 21:24:41DECSDM(Sixel display modeとSixel scrolling modeの切り替え)実装してるけど、デフォルト値がわからない。VT330/VT340やReflection TRMのマニュアル、bjh21のall-escapes.txtあたりは見たけどわからん。
2012-09-09 15:33:42@kefir_ あいまいな記憶を辿ると、デフォルトはScrolling modeだったような。DECSDMで変更しないでスクロールしていた記憶があります。(VT382とDECterm共に)
2012-09-10 11:22:42@kefir_ マニュアルの記述を見つけました。 http://t.co/8mK25dNc の6.1.5でデフォルトがEnable sixel scrollになっています…が、DECSDMのset/resetの対応が http://t.co/0XllsL3l と逆…
2012-09-10 11:39:09@kefir_ http://t.co/8oHMaAGZ の4.7やC.6でもデフォルトがEnableになっていますし自分の記憶とも一致するので、デフォルトがScrolling Modeなのは間違い無いと思います。ただDECSDMのset/resetとの対応が不確実ですね。
2012-09-10 11:46:50ppmtosixelで出力した画像は、パレット#0に黒を、パレット#1に白を割り当てて点を打っていくようになっているのだが、VT382はパレットに関係なく打たれた点を表示するので真っ白な四角が表示される。パレット#0の部分を削除してまともに表示できた。
2012-09-14 09:31:41あと気になっていたDECSDMの挙動だが、VT382のマニュアル通りでsetでスクロールなし、resetでスクロールありだった。VT340のマニュアルの記述 http://t.co/0XllsL3l とは食い違うが、機種によって動作が変わるとか無いよな。
2012-09-14 09:36:35@ttdoda Sixell no-scrollingのとき、スクロールしたり画像の位置に上から文字を書いたりしたらどうなってますか?
2012-09-14 09:49:07@kefir_ こんな感じです。安物のWebCamなので明るさが調整できず見づらいですが。 http://t.co/NjquGKv4
2012-09-14 10:30:57@ttdoda ありがとうございます。たとえばその文字を描画する前に挿入モード切り替え(IRM/CSI 4 h)を出したら後ろのSixelもずれるのでしょうか。つまりSixelが内部的に文字として扱われてるのかな、と思ったので。
2012-09-14 10:37:03@kefir_ こんな感じです。上の行から文字挿入(IRM set)、ICH、DCH、IL、DECDHL(IRM set)での文字挿入、DECDHL(IRM reset)での文字上書き、DLです。 http://t.co/hCcYWbjk
2012-09-14 14:29:44@ttdoda なるほど。SIxelは論理的なスクリーンバッファに影響を与えず、VRAMのレイヤで描いていると考えればよさそうですね…IRM set時の挿入/DCHは後ろの領域を再描画し、スクロール時にはVRAMレベルでのrotateが起こっていると考えれば辻褄が合うような…
2012-09-14 15:10:06VT382は、ReGIS対応したVT240/340のようなグラフィック強化型じゃ無いのにSixel表示が出来るかわいい子です。
2012-09-14 21:12:57いまだにSixelがどういう仕組みで動いているか理解していないけど、vim-powerlineのようなものが、端末側の機能としてできるとなると、当然GNU Screenでも対応すればカコイイ表示が出来るようになると。
2012-09-18 22:11:43@yoshikaw vim-powerlineはDRCS(Dynamically Redefined Character Set)で実現しようかなと考えています。これは通常の文字と同様に単色のアトリビュートをつけるような扱いができるはずなので、Sixelより向いていると思います。
2012-09-19 00:19:16まずやらなければいけないことは、「DCSを正常に読み飛ばすパッチを各方面に投げる」ことだと気付いた。それをやらないとSixelやDRCSを普及させるのはきつい。
2012-09-23 01:31:41@kefir_ 起きないです。なので一行毎にフォントをロードしてやれば任意の画像が表示可能!!…と思ったのですが、VT382の場合はSixelを使ったほうが楽だと気がつきました。
2012-09-27 16:01:21@kefir_ でもVT320のようにDRCSには対応していてもSixelに対応していない機種では使えそうです。VT382と挙動が同じだったらですが。
2012-09-27 16:03:11