From b4bf0eb794c2019912ba0f2fbfb70ef79707bf42 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Tue, 24 Jan 2017 11:00:29 +0530 Subject: [PATCH] Anti-alias the powerline box characters --- kitty/fonts/box_drawing.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/kitty/fonts/box_drawing.py b/kitty/fonts/box_drawing.py index 3bca1d0c2..fea1ff8e1 100644 --- a/kitty/fonts/box_drawing.py +++ b/kitty/fonts/box_drawing.py @@ -154,6 +154,13 @@ def triangle(buf, width, height, left=True): offset = y * width for x, (upper, lower) in zip(range(width), xlimits): buf[x + offset] = 255 if upper <= y <= lower else 0 + # Anti-alias the diagonals, simple y-axis anti-aliasing + for x in range(width): + for y in xlimits[x]: + for ypx in range(int(math.floor(y)), int(math.ceil(y)) + 1): + if 0 <= ypx < height: + off = ypx * width + x + buf[off] = min(255, buf[off] + int((1 - abs(y - ypx)) * 255)) def half_dhline(buf, width, height, level=1, which='left', only=None):