[ TOP | Recently ]

1998-08-15 [xk]term の underline のゴミ


気がついたのは一年くらい前だけど、今思い出したので書いておく。

[xk]term上で

#!/usr/local/bin/perl

for (0..10){
	print "\x1b[${_};1H\x1b[4mXXXX\n";
}

for (0..10){
	print "\x1b[${_};1H\x1b[m    \n";
}

とすると、underline のゴミが残る。
(やってることは、underline で文字描いて、同じ長さ分の space を上描きしてるだけ)
rxvt は平気だった。

underline の長さががフォントのサイズを越えている?
screen.c の UNDERLINE のところを

XDrawLine(screen-\>display, TextWindow(screen), 
    gc, x, y+1, x+n*FontWidth(screen) - 1 , y+1);

みたいに -1 かましてやればとりあえず平気。

n*FontWidth(screen) でも問題ないような気がするが、なんで 1dot 残るんだ?
GC の線が太さを持っているから?


EOF