diff options
| author | Christoph Lohmann <20h@r-36.net> | 2012-10-05 22:51:08 +0200 | 
|---|---|---|
| committer | Christoph Lohmann <20h@r-36.net> | 2012-10-05 22:51:08 +0200 | 
| commit | bf6cf05ba5211b35d7b10169624679428c5f4974 (patch) | |
| tree | 86b10e054fd8a0c1bab1c64ab2a1bc3d0302ff5c | |
| parent | 5caa46cf575a48e6421aaf8757e066f6d32263d9 (diff) | |
Fixing the brightening on bold. For the 256 colors and greyscale I assumed a
reasonable solution.
| -rw-r--r-- | st.c | 19 | 
1 files changed, 18 insertions, 1 deletions
| @@ -2192,10 +2192,27 @@ xdraws(char *s, Glyph base, int x, int y, int charlen, int bytelen) {  	if(base.mode & ATTR_REVERSE)  		temp = fg, fg = bg, bg = temp; +  	if(base.mode & ATTR_BOLD) { -		fg = &dc.xft_col[base.fg + 8]; +		if(BETWEEN(base.fg, 0, 7)) { +			/* basic system colors */ +			fg = &dc.xft_col[base.fg + 8]; +		} else if(BETWEEN(base.fg, 16, 195)) { +			/* 256 colors */ +			fg = &dc.xft_col[base.fg + 36]; +		} else if(BETWEEN(base.fg, 232, 251)) { +			/* greyscale */ +			fg = &dc.xft_col[base.fg + 4]; +		} +		/* +		 * Those ranges will not be brightened: +		 *	8 - 15 – bright system colors +		 *	196 - 231 – highest 256 color cube +		 *	252 - 255 – brightest colors in grescale +		 */  		font = &dc.bfont;  	} +  	if(base.mode & ATTR_ITALIC)  		font = &dc.ifont;  	if(base.mode & (ATTR_ITALIC|ATTR_ITALIC)) | 
