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: