From d1cf771c1490e3bd9daf7f80df027379ec913374 Mon Sep 17 00:00:00 2001 From: Benoit de Chezelles Date: Fri, 18 Oct 2019 05:45:13 +0200 Subject: [PATCH] Add other corner triangles & enable in C side --- kitty/fonts.c | 12 ++++++++---- kitty/fonts/box_drawing.py | 23 ++++++++++++++++------- 2 files changed, 24 insertions(+), 11 deletions(-) diff --git a/kitty/fonts.c b/kitty/fonts.c index f6fa2c9a9..a672b9fd9 100644 --- a/kitty/fonts.c +++ b/kitty/fonts.c @@ -556,10 +556,14 @@ START_ALLOW_CASE_RANGE return BLANK_FONT; case 0x2500 ... 0x2570: case 0x2574 ... 0x259f: - case 0xe0b0: - case 0xe0b2: - case 0xe0b4: - case 0xe0b6: + case 0xe0b0: //  + case 0xe0b2: //  + case 0xe0b4: //  + case 0xe0b6: //  + case 0xe0b8: //  + case 0xe0ba: //  + case 0xe0bc: //  + case 0xe0be: //  return BOX_FONT; default: ans = in_symbol_maps(fg, cpu_cell->ch); diff --git a/kitty/fonts/box_drawing.py b/kitty/fonts/box_drawing.py index 0eada38ec..4b7a41f17 100644 --- a/kitty/fonts/box_drawing.py +++ b/kitty/fonts/box_drawing.py @@ -173,12 +173,19 @@ def triangle(buf, width, height, left=True): def corner_triangle(buf, width, height, corner): - diagonal_y = line_equation(0, 0, width - 1, height - 1) - - if corner == 'top-right': - xlimits = [(0, diagonal_y(x)) for x in range(width)] - elif corner == 'bottom-left': - xlimits = [(diagonal_y(x), height - 1) for x in range(width)] + print(f"corner_triangle: corner is '{corner}'") + if corner == 'top-right' or corner == 'bottom-left': + diagonal_y = line_equation(0, 0, width - 1, height - 1) + if corner == 'top-right': + xlimits = [(0, diagonal_y(x)) for x in range(width)] + elif corner == 'bottom-left': + xlimits = [(diagonal_y(x), height - 1) for x in range(width)] + else: + diagonal_y = line_equation(width - 1, 0, 0, height - 1) + if corner == 'top-left': + xlimits = [(0, diagonal_y(x)) for x in range(width)] + elif corner == 'bottom-right': + xlimits = [(diagonal_y(x), height - 1) for x in range(width)] fill_region(buf, width, height, xlimits) @@ -469,8 +476,10 @@ box_chars = { '': [p(triangle, left=False)], '': [D], '': [p(D, left=False)], - '': [p(corner_triangle, corner='top-right')], '': [p(corner_triangle, corner='bottom-left')], + '': [p(corner_triangle, corner='bottom-right')], + '': [p(corner_triangle, corner='top-left')], + '': [p(corner_triangle, corner='top-right')], '═': [dhline], '║': [dvline], '╞': [vline, p(half_dhline, which='right')],