box-drawing: mixed LIGHT/HEAVY variants of DOWN AND HORIZONTAL

* U+252d
* U+252e
* U+252f
* U+2530
* U+2531
* U+2532
This commit is contained in:
Daniel Eklöf 2020-12-27 12:21:37 +01:00
parent fe54fcc694
commit 20c9a0a918
No known key found for this signature in database
GPG key ID: 5BBD4992C116573F

View file

@ -330,6 +330,54 @@ draw_box_drawings_light_down_and_horizontal(uint8_t *buf, int width, int height,
vline_middle_down(thickness(1, dpi));
}
static void
draw_box_drawings_left_heavy_and_right_down_light(uint8_t *buf, int width, int height, int stride, int dpi)
{
_hline_middle_left(thickness(1, dpi), thickness(2, dpi));
hline_middle_right(thickness(1, dpi));
vline_middle_down(thickness(1, dpi));
}
static void
draw_box_drawings_right_heavy_and_left_down_light(uint8_t *buf, int width, int height, int stride, int dpi)
{
hline_middle_left(thickness(1, dpi));
_hline_middle_right(thickness(1, dpi), thickness(2, dpi));
vline_middle_down(thickness(1, dpi));
}
static void
draw_box_drawings_down_light_and_horizontal_heavy(uint8_t *buf, int width, int height, int stride, int dpi)
{
hline_middle_left(thickness(2, dpi));
hline_middle_right(thickness(2, dpi));
vline_middle_down(thickness(1, dpi));
}
static void
draw_box_drawings_down_heavy_and_horizontal_light(uint8_t *buf, int width, int height, int stride, int dpi)
{
hline_middle_left(thickness(1, dpi));
hline_middle_right(thickness(1, dpi));
_vline_middle_down(thickness(2, dpi), thickness(1, dpi));
}
static void
draw_box_drawings_right_light_and_left_down_heavy(uint8_t *buf, int width, int height, int stride, int dpi)
{
hline_middle_left(thickness(2, dpi));
hline_middle_right(thickness(1, dpi));
vline_middle_down(thickness(2, dpi));
}
static void
draw_box_drawings_left_light_and_right_down_heavy(uint8_t *buf, int width, int height, int stride, int dpi)
{
hline_middle_left(thickness(1, dpi));
hline_middle_right(thickness(2, dpi));
vline_middle_down(thickness(2, dpi));
}
static void
draw_box_drawings_heavy_down_and_horizontal(uint8_t *buf, int width, int height, int stride, int dpi)
{
@ -426,21 +474,18 @@ draw_glyph(wchar_t wc, uint8_t *buf, int width, int height, int stride, int dpi)
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 0x252d: draw_box_drawings_left_heavy_and_right_down_light(buf, width, height, stride, dpi); break;
case 0x252e: draw_box_drawings_right_heavy_and_left_down_light(buf, width, height, stride, dpi); break;
case 0x252f: draw_box_drawings_down_light_and_horizontal_heavy(buf, width, height, stride, dpi); break;
case 0x252d:
case 0x252e:
case 0x252f:
LOG_WARN("unimplemented: box drawing: wc=%04lx", (long)wc);
break;
case 0x2530: draw_box_drawings_down_heavy_and_horizontal_light(buf, width, height, stride, dpi); break;
case 0x2531: draw_box_drawings_right_light_and_left_down_heavy(buf, width, height, stride, dpi); break;
case 0x2532: draw_box_drawings_left_light_and_right_down_heavy(buf, width, height, stride, dpi); break;
case 0x2533: draw_box_drawings_heavy_down_and_horizontal(buf, width, height, stride, dpi); break;
case 0x2534: draw_box_drawings_light_up_and_horizontal(buf, width, height, stride, dpi); break;
case 0x253b: draw_box_drawings_heavy_up_and_horizontal(buf, width, height, stride, dpi); break;
case 0x253c: draw_box_drawings_light_vertical_and_horizontal(buf, width, height, stride, dpi); break;
case 0x2530:
case 0x2531:
case 0x2532:
case 0x2535:
case 0x2536:
case 0x2537: