From fe54fcc69478d2ec762ffe3ac205abddaed211d3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Ekl=C3=B6f?= Date: Sun, 27 Dec 2020 12:12:24 +0100 Subject: [PATCH] box-drawing: mixed LIGHT/HEAVY variants of VERTICAL AND LEFT * U+2525 * U+2526 * U+2527 * U+2528 * U+2529 * U+252A --- box-drawing.c | 60 +++++++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 54 insertions(+), 6 deletions(-) diff --git a/box-drawing.c b/box-drawing.c index 4fe3def4..ebe5b585 100644 --- a/box-drawing.c +++ b/box-drawing.c @@ -266,6 +266,54 @@ draw_box_drawings_light_vertical_and_left(uint8_t *buf, int width, int height, i vline_middle_down(thickness(1, dpi)); } +static void +draw_box_drawings_vertical_light_and_left_heavy(uint8_t *buf, int width, int height, int stride, int dpi) +{ + _hline_middle_left(thickness(1, dpi), thickness(2, dpi)); + vline_middle_up(thickness(1, dpi)); + vline_middle_down(thickness(1, dpi)); +} + +static void +draw_box_drawings_up_heavy_and_left_down_light(uint8_t *buf, int width, int height, int stride, int dpi) +{ + hline_middle_left(thickness(1, dpi)); + _vline_middle_up(thickness(2, dpi), thickness(1, dpi)); + vline_middle_down(thickness(1, dpi)); +} + +static void +draw_box_drawings_down_heavy_and_left_up_light(uint8_t *buf, int width, int height, int stride, int dpi) +{ + hline_middle_left(thickness(1, dpi)); + vline_middle_up(thickness(1, dpi)); + _vline_middle_down(thickness(2, dpi), thickness(1, dpi)); +} + +static void +draw_box_drawings_vertical_heavy_and_left_light(uint8_t *buf, int width, int height, int stride, int dpi) +{ + hline_middle_left(thickness(1, dpi)); + vline_middle_up(thickness(2, dpi)); + vline_middle_down(thickness(2, dpi)); +} + +static void +draw_box_drawings_down_light_and_left_up_heavy(uint8_t *buf, int width, int height, int stride, int dpi) +{ + hline_middle_left(thickness(2, dpi)); + vline_middle_up(thickness(2, dpi)); + vline_middle_down(thickness(1, dpi)); +} + +static void +draw_box_drawings_up_light_and_left_down_heavy(uint8_t *buf, int width, int height, int stride, int dpi) +{ + hline_middle_left(thickness(2, dpi)); + vline_middle_up(thickness(1, dpi)); + vline_middle_down(thickness(2, dpi)); +} + static void draw_box_drawings_heavy_vertical_and_left(uint8_t *buf, int width, int height, int stride, int dpi) { @@ -370,15 +418,15 @@ draw_glyph(wchar_t wc, uint8_t *buf, int width, int height, int stride, int dpi) case 0x2522: draw_box_drawings_up_light_and_right_down_heavy(buf, width, height, stride, dpi); break; case 0x2523: draw_box_drawings_heavy_vertical_and_right(buf, width, height, stride, dpi); break; case 0x2524: draw_box_drawings_light_vertical_and_left(buf, width, height, stride, dpi); break; + case 0x2525: draw_box_drawings_vertical_light_and_left_heavy(buf, width, height, stride, dpi); break; + case 0x2526: draw_box_drawings_up_heavy_and_left_down_light(buf, width, height, stride, dpi); break; + case 0x2527: draw_box_drawings_down_heavy_and_left_up_light(buf, width, height, stride, dpi); break; + case 0x2528: draw_box_drawings_vertical_heavy_and_left_light(buf, width, height, stride, dpi); break; + case 0x2529: draw_box_drawings_down_light_and_left_up_heavy(buf, width, height, stride, dpi); break; + case 0x252a: draw_box_drawings_up_light_and_left_down_heavy(buf, width, height, stride, dpi); break; case 0x252b: draw_box_drawings_heavy_vertical_and_left(buf, width, height, stride, dpi); break; case 0x252c: draw_box_drawings_light_down_and_horizontal(buf, width, height, stride, dpi); break; - case 0x2525: - case 0x2526: - case 0x2527: - case 0x2528: - case 0x2529: - case 0x252a: case 0x252d: case 0x252e: case 0x252f: