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 | 2549840ed7e69cddcc020533764ca12881026ffd (patch) | |
tree | 86b10e054fd8a0c1bab1c64ab2a1bc3d0302ff5c | |
parent | 0ddbb0c6ccd69e43a15808bdebd11fd350243248 (diff) | |
download | st-2549840ed7e69cddcc020533764ca12881026ffd.tar.gz st-2549840ed7e69cddcc020533764ca12881026ffd.tar.bz2 |
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)) |