長編まとめ・Sixel Graphics復活への動き(1)

VT2xx-VT3xx系に搭載されていた、Sixel Graphicsについてのつぶやきです。 これは端末でラスタ画像を表現するための機能です。 初期のソフトウェア端末エミュレータはVT320,VT340等をエミュレーションターゲットにしているものも多く、これをサポートするものはたくさんありましたが、近年では端末エミュレータの実装がどんどん簡素化されていく傾向にあり、ターゲットもVT102とする実装が一般的になりました。 これをうけてSixel Graphicsは衰亡の一途を辿っています。 そんな中、RLogin(http://nanno.dip.jp/softlib/man/rlogin)がSixelを実装し、一部の人たちの関心を集めました。 続きを読む
24
前へ 1 2 3 ・・ 119 次へ
saitoha @kefir_

とりあえずppmtosixelの部分はOld Style MIT Licenseであることが判明したので、このSixelエンコーダとmltermのSixelデコーダをくっつけてDIBインターフェースでくるめばlibsixelができるんじゃないかと思ってる。

2012-09-03 21:24:41
saitoha @kefir_

DECSDM(Sixel display modeとSixel scrolling modeの切り替え)実装してるけど、デフォルト値がわからない。VT330/VT340やReflection TRMのマニュアル、bjh21のall-escapes.txtあたりは見たけどわからん。

2012-09-09 15:33:42
いわもと こういち @ttdoda

@kefir_ あいまいな記憶を辿ると、デフォルトはScrolling modeだったような。DECSDMで変更しないでスクロールしていた記憶があります。(VT382とDECterm共に)

2012-09-10 11:22:42
いわもと こういち @ttdoda

そもそもDECSDMを使ったことが無い気がする。

2012-09-10 11:23:00
いわもと こういち @ttdoda

@kefir_ マニュアルの記述を見つけました。 http://t.co/8mK25dNc の6.1.5でデフォルトがEnable sixel scrollになっています…が、DECSDMのset/resetの対応が http://t.co/0XllsL3l と逆…

2012-09-10 11:39:09
いわもと こういち @ttdoda

@kefir_ http://t.co/8oHMaAGZ の4.7やC.6でもデフォルトがEnableになっていますし自分の記憶とも一致するので、デフォルトがScrolling Modeなのは間違い無いと思います。ただDECSDMのset/resetとの対応が不確実ですね。

2012-09-10 11:46:50
いわもと こういち @ttdoda

@kefir_ 今夜時間がとれたらVT382の実機の動作を確認します。

2012-09-10 11:47:31
saitoha @kefir_

端末でもSixel使ってDisplay Requirementsを満たすクライアント作れるかな?

2012-09-11 21:00:31
いわもと こういち @ttdoda

PCにシリアルポート増設して、久しぶりにVT382を接続できるようになった。という事でいろいろと動作確認をしてみた。

2012-09-14 09:19:58
いわもと こういち @ttdoda

ppmtosixelで出力した画像は、パレット#0に黒を、パレット#1に白を割り当てて点を打っていくようになっているのだが、VT382はパレットに関係なく打たれた点を表示するので真っ白な四角が表示される。パレット#0の部分を削除してまともに表示できた。

2012-09-14 09:31:41
いわもと こういち @ttdoda

あと気になっていたDECSDMの挙動だが、VT382のマニュアル通りでsetでスクロールなし、resetでスクロールありだった。VT340のマニュアルの記述 http://t.co/0XllsL3l とは食い違うが、機種によって動作が変わるとか無いよな。

2012-09-14 09:36:35
saitoha @kefir_

@ttdoda Sixell no-scrollingのとき、スクロールしたり画像の位置に上から文字を書いたりしたらどうなってますか?

2012-09-14 09:49:07
いわもと こういち @ttdoda

@kefir_ こんな感じです。安物のWebCamなので明るさが調整できず見づらいですが。 http://t.co/NjquGKv4

2012-09-14 10:30:57
拡大
saitoha @kefir_

@ttdoda ありがとうございます。たとえばその文字を描画する前に挿入モード切り替え(IRM/CSI 4 h)を出したら後ろのSixelもずれるのでしょうか。つまりSixelが内部的に文字として扱われてるのかな、と思ったので。

2012-09-14 10:37:03
いわもと こういち @ttdoda

@kefir_ こんな感じです。上の行から文字挿入(IRM set)、ICH、DCH、IL、DECDHL(IRM set)での文字挿入、DECDHL(IRM reset)での文字上書き、DLです。 http://t.co/hCcYWbjk

2012-09-14 14:29:44
拡大
saitoha @kefir_

@ttdoda なるほど。SIxelは論理的なスクリーンバッファに影響を与えず、VRAMのレイヤで描いていると考えればよさそうですね…IRM set時の挿入/DCHは後ろの領域を再描画し、スクロール時にはVRAMレベルでのrotateが起こっていると考えれば辻褄が合うような…

2012-09-14 15:10:06
いわもと こういち @ttdoda

VT382は、ReGIS対応したVT240/340のようなグラフィック強化型じゃ無いのにSixel表示が出来るかわいい子です。

2012-09-14 21:12:57
Kazuhiro YOSHIKAWA @yoshikaw

いまだにSixelがどういう仕組みで動いているか理解していないけど、vim-powerlineのようなものが、端末側の機能としてできるとなると、当然GNU Screenでも対応すればカコイイ表示が出来るようになると。

2012-09-18 22:11:43
saitoha @kefir_

@yoshikaw vim-powerlineはDRCS(Dynamically Redefined Character Set)で実現しようかなと考えています。これは通常の文字と同様に単色のアトリビュートをつけるような扱いができるはずなので、Sixelより向いていると思います。

2012-09-19 00:19:16
saitoha @kefir_

まずやらなければいけないことは、「DCSを正常に読み飛ばすパッチを各方面に投げる」ことだと気付いた。それをやらないとSixelやDRCSを普及させるのはきつい。

2012-09-23 01:31:41
いわもと こういち @ttdoda

@kefir_ 起きないです。なので一行毎にフォントをロードしてやれば任意の画像が表示可能!!…と思ったのですが、VT382の場合はSixelを使ったほうが楽だと気がつきました。

2012-09-27 16:01:21
いわもと こういち @ttdoda

@kefir_ でもVT320のようにDRCSには対応していてもSixelに対応していない機種では使えそうです。VT382と挙動が同じだったらですが。

2012-09-27 16:03:11
saitoha @kefir_

PILを使ってSixel出力をやってみました https://t.co/FjNauPL7

2012-09-30 20:37:54
前へ 1 2 3 ・・ 119 次へ