From 512b4afad7b2e072b9efedaa54dade35a9cc6c97 Mon Sep 17 00:00:00 2001 From: mrsu Date: Thu, 31 Aug 2023 11:25:21 +0100 Subject: [PATCH] update --- Makefile | 3 +- boxdraw.c | 194 ++++++++++ boxdraw.o | Bin 0 -> 7624 bytes boxdraw_data.h | 214 ++++++++++++ config.def.h | 12 + config.h | 12 + patches/st-boxdraw_v2-0.8.5.diff | 583 +++++++++++++++++++++++++++++++ st | Bin 110376 -> 118984 bytes st.c | 3 + st.h | 10 + st.o | Bin 91200 -> 91320 bytes x.c | 21 +- x.o | Bin 86000 -> 86576 bytes 13 files changed, 1046 insertions(+), 6 deletions(-) create mode 100644 boxdraw.c create mode 100644 boxdraw.o create mode 100644 boxdraw_data.h create mode 100644 patches/st-boxdraw_v2-0.8.5.diff diff --git a/Makefile b/Makefile index 470ac86..6dfa212 100644 --- a/Makefile +++ b/Makefile @@ -4,7 +4,7 @@ include config.mk -SRC = st.c x.c +SRC = st.c x.c boxdraw.c OBJ = $(SRC:.c=.o) all: options st @@ -23,6 +23,7 @@ config.h: st.o: config.h st.h win.h x.o: arg.h config.h st.h win.h +boxdraw.o: config.h st.h boxdraw_data.h $(OBJ): config.h config.mk diff --git a/boxdraw.c b/boxdraw.c new file mode 100644 index 0000000..28a92d0 --- /dev/null +++ b/boxdraw.c @@ -0,0 +1,194 @@ +/* + * Copyright 2018 Avi Halachmi (:avih) avihpit@yahoo.com https://github.com/avih + * MIT/X Consortium License + */ + +#include +#include "st.h" +#include "boxdraw_data.h" + +/* Rounded non-negative integers division of n / d */ +#define DIV(n, d) (((n) + (d) / 2) / (d)) + +static Display *xdpy; +static Colormap xcmap; +static XftDraw *xd; +static Visual *xvis; + +static void drawbox(int, int, int, int, XftColor *, XftColor *, ushort); +static void drawboxlines(int, int, int, int, XftColor *, ushort); + +/* public API */ + +void +boxdraw_xinit(Display *dpy, Colormap cmap, XftDraw *draw, Visual *vis) +{ + xdpy = dpy; xcmap = cmap; xd = draw, xvis = vis; +} + +int +isboxdraw(Rune u) +{ + Rune block = u & ~0xff; + return (boxdraw && block == 0x2500 && boxdata[(uint8_t)u]) || + (boxdraw_braille && block == 0x2800); +} + +/* the "index" is actually the entire shape data encoded as ushort */ +ushort +boxdrawindex(const Glyph *g) +{ + if (boxdraw_braille && (g->u & ~0xff) == 0x2800) + return BRL | (uint8_t)g->u; + if (boxdraw_bold && (g->mode & ATTR_BOLD)) + return BDB | boxdata[(uint8_t)g->u]; + return boxdata[(uint8_t)g->u]; +} + +void +drawboxes(int x, int y, int cw, int ch, XftColor *fg, XftColor *bg, + const XftGlyphFontSpec *specs, int len) +{ + for ( ; len-- > 0; x += cw, specs++) + drawbox(x, y, cw, ch, fg, bg, (ushort)specs->glyph); +} + +/* implementation */ + +void +drawbox(int x, int y, int w, int h, XftColor *fg, XftColor *bg, ushort bd) +{ + ushort cat = bd & ~(BDB | 0xff); /* mask out bold and data */ + if (bd & (BDL | BDA)) { + /* lines (light/double/heavy/arcs) */ + drawboxlines(x, y, w, h, fg, bd); + + } else if (cat == BBD) { + /* lower (8-X)/8 block */ + int d = DIV((uint8_t)bd * h, 8); + XftDrawRect(xd, fg, x, y + d, w, h - d); + + } else if (cat == BBU) { + /* upper X/8 block */ + XftDrawRect(xd, fg, x, y, w, DIV((uint8_t)bd * h, 8)); + + } else if (cat == BBL) { + /* left X/8 block */ + XftDrawRect(xd, fg, x, y, DIV((uint8_t)bd * w, 8), h); + + } else if (cat == BBR) { + /* right (8-X)/8 block */ + int d = DIV((uint8_t)bd * w, 8); + XftDrawRect(xd, fg, x + d, y, w - d, h); + + } else if (cat == BBQ) { + /* Quadrants */ + int w2 = DIV(w, 2), h2 = DIV(h, 2); + if (bd & TL) + XftDrawRect(xd, fg, x, y, w2, h2); + if (bd & TR) + XftDrawRect(xd, fg, x + w2, y, w - w2, h2); + if (bd & BL) + XftDrawRect(xd, fg, x, y + h2, w2, h - h2); + if (bd & BR) + XftDrawRect(xd, fg, x + w2, y + h2, w - w2, h - h2); + + } else if (bd & BBS) { + /* Shades - data is 1/2/3 for 25%/50%/75% alpha, respectively */ + int d = (uint8_t)bd; + XftColor xfc; + XRenderColor xrc = { .alpha = 0xffff }; + + xrc.red = DIV(fg->color.red * d + bg->color.red * (4 - d), 4); + xrc.green = DIV(fg->color.green * d + bg->color.green * (4 - d), 4); + xrc.blue = DIV(fg->color.blue * d + bg->color.blue * (4 - d), 4); + + XftColorAllocValue(xdpy, xvis, xcmap, &xrc, &xfc); + XftDrawRect(xd, &xfc, x, y, w, h); + XftColorFree(xdpy, xvis, xcmap, &xfc); + + } else if (cat == BRL) { + /* braille, each data bit corresponds to one dot at 2x4 grid */ + int w1 = DIV(w, 2); + int h1 = DIV(h, 4), h2 = DIV(h, 2), h3 = DIV(3 * h, 4); + + if (bd & 1) XftDrawRect(xd, fg, x, y, w1, h1); + if (bd & 2) XftDrawRect(xd, fg, x, y + h1, w1, h2 - h1); + if (bd & 4) XftDrawRect(xd, fg, x, y + h2, w1, h3 - h2); + if (bd & 8) XftDrawRect(xd, fg, x + w1, y, w - w1, h1); + if (bd & 16) XftDrawRect(xd, fg, x + w1, y + h1, w - w1, h2 - h1); + if (bd & 32) XftDrawRect(xd, fg, x + w1, y + h2, w - w1, h3 - h2); + if (bd & 64) XftDrawRect(xd, fg, x, y + h3, w1, h - h3); + if (bd & 128) XftDrawRect(xd, fg, x + w1, y + h3, w - w1, h - h3); + + } +} + +void +drawboxlines(int x, int y, int w, int h, XftColor *fg, ushort bd) +{ + /* s: stem thickness. width/8 roughly matches underscore thickness. */ + /* We draw bold as 1.5 * normal-stem and at least 1px thicker. */ + /* doubles draw at least 3px, even when w or h < 3. bold needs 6px. */ + int mwh = MIN(w, h); + int base_s = MAX(1, DIV(mwh, 8)); + int bold = (bd & BDB) && mwh >= 6; /* possibly ignore boldness */ + int s = bold ? MAX(base_s + 1, DIV(3 * base_s, 2)) : base_s; + int w2 = DIV(w - s, 2), h2 = DIV(h - s, 2); + /* the s-by-s square (x + w2, y + h2, s, s) is the center texel. */ + /* The base length (per direction till edge) includes this square. */ + + int light = bd & (LL | LU | LR | LD); + int double_ = bd & (DL | DU | DR | DD); + + if (light) { + /* d: additional (negative) length to not-draw the center */ + /* texel - at arcs and avoid drawing inside (some) doubles */ + int arc = bd & BDA; + int multi_light = light & (light - 1); + int multi_double = double_ & (double_ - 1); + /* light crosses double only at DH+LV, DV+LH (ref. shapes) */ + int d = arc || (multi_double && !multi_light) ? -s : 0; + + if (bd & LL) + XftDrawRect(xd, fg, x, y + h2, w2 + s + d, s); + if (bd & LU) + XftDrawRect(xd, fg, x + w2, y, s, h2 + s + d); + if (bd & LR) + XftDrawRect(xd, fg, x + w2 - d, y + h2, w - w2 + d, s); + if (bd & LD) + XftDrawRect(xd, fg, x + w2, y + h2 - d, s, h - h2 + d); + } + + /* double lines - also align with light to form heavy when combined */ + if (double_) { + /* + * going clockwise, for each double-ray: p is additional length + * to the single-ray nearer to the previous direction, and n to + * the next. p and n adjust from the base length to lengths + * which consider other doubles - shorter to avoid intersections + * (p, n), or longer to draw the far-corner texel (n). + */ + int dl = bd & DL, du = bd & DU, dr = bd & DR, dd = bd & DD; + if (dl) { + int p = dd ? -s : 0, n = du ? -s : dd ? s : 0; + XftDrawRect(xd, fg, x, y + h2 + s, w2 + s + p, s); + XftDrawRect(xd, fg, x, y + h2 - s, w2 + s + n, s); + } + if (du) { + int p = dl ? -s : 0, n = dr ? -s : dl ? s : 0; + XftDrawRect(xd, fg, x + w2 - s, y, s, h2 + s + p); + XftDrawRect(xd, fg, x + w2 + s, y, s, h2 + s + n); + } + if (dr) { + int p = du ? -s : 0, n = dd ? -s : du ? s : 0; + XftDrawRect(xd, fg, x + w2 - p, y + h2 - s, w - w2 + p, s); + XftDrawRect(xd, fg, x + w2 - n, y + h2 + s, w - w2 + n, s); + } + if (dd) { + int p = dr ? -s : 0, n = dl ? -s : dr ? s : 0; + XftDrawRect(xd, fg, x + w2 + s, y + h2 - p, s, h - h2 + p); + XftDrawRect(xd, fg, x + w2 - s, y + h2 - n, s, h - h2 + n); + } + } +} diff --git a/boxdraw.o b/boxdraw.o new file mode 100644 index 0000000000000000000000000000000000000000..8be01a89533731549ab71c7cf66c506e504eaf42 GIT binary patch literal 7624 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 KY`P>m_5TfoV0Wbe literal 0 HcmV?d00001 diff --git a/boxdraw_data.h b/boxdraw_data.h new file mode 100644 index 0000000..7890500 --- /dev/null +++ b/boxdraw_data.h @@ -0,0 +1,214 @@ +/* + * Copyright 2018 Avi Halachmi (:avih) avihpit@yahoo.com https://github.com/avih + * MIT/X Consortium License + */ + +/* + * U+25XX codepoints data + * + * References: + * http://www.unicode.org/charts/PDF/U2500.pdf + * http://www.unicode.org/charts/PDF/U2580.pdf + * + * Test page: + * https://github.com/GNOME/vte/blob/master/doc/boxes.txt + */ + +/* Each shape is encoded as 16-bits. Higher bits are category, lower are data */ +/* Categories (mutually exclusive except BDB): */ +/* For convenience, BDL/BDA/BBS/BDB are 1 bit each, the rest are enums */ +#define BDL (1<<8) /* Box Draw Lines (light/double/heavy) */ +#define BDA (1<<9) /* Box Draw Arc (light) */ + +#define BBD (1<<10) /* Box Block Down (lower) X/8 */ +#define BBL (2<<10) /* Box Block Left X/8 */ +#define BBU (3<<10) /* Box Block Upper X/8 */ +#define BBR (4<<10) /* Box Block Right X/8 */ +#define BBQ (5<<10) /* Box Block Quadrants */ +#define BRL (6<<10) /* Box Braille (data is lower byte of U28XX) */ + +#define BBS (1<<14) /* Box Block Shades */ +#define BDB (1<<15) /* Box Draw is Bold */ + +/* (BDL/BDA) Light/Double/Heavy x Left/Up/Right/Down/Horizontal/Vertical */ +/* Heavy is light+double (literally drawing light+double align to form heavy) */ +#define LL (1<<0) +#define LU (1<<1) +#define LR (1<<2) +#define LD (1<<3) +#define LH (LL+LR) +#define LV (LU+LD) + +#define DL (1<<4) +#define DU (1<<5) +#define DR (1<<6) +#define DD (1<<7) +#define DH (DL+DR) +#define DV (DU+DD) + +#define HL (LL+DL) +#define HU (LU+DU) +#define HR (LR+DR) +#define HD (LD+DD) +#define HH (HL+HR) +#define HV (HU+HD) + +/* (BBQ) Quadrants Top/Bottom x Left/Right */ +#define TL (1<<0) +#define TR (1<<1) +#define BL (1<<2) +#define BR (1<<3) + +/* Data for U+2500 - U+259F except dashes/diagonals */ +static const unsigned short boxdata[256] = { + /* light lines */ + [0x00] = BDL + LH, /* light horizontal */ + [0x02] = BDL + LV, /* light vertical */ + [0x0c] = BDL + LD + LR, /* light down and right */ + [0x10] = BDL + LD + LL, /* light down and left */ + [0x14] = BDL + LU + LR, /* light up and right */ + [0x18] = BDL + LU + LL, /* light up and left */ + [0x1c] = BDL + LV + LR, /* light vertical and right */ + [0x24] = BDL + LV + LL, /* light vertical and left */ + [0x2c] = BDL + LH + LD, /* light horizontal and down */ + [0x34] = BDL + LH + LU, /* light horizontal and up */ + [0x3c] = BDL + LV + LH, /* light vertical and horizontal */ + [0x74] = BDL + LL, /* light left */ + [0x75] = BDL + LU, /* light up */ + [0x76] = BDL + LR, /* light right */ + [0x77] = BDL + LD, /* light down */ + + /* heavy [+light] lines */ + [0x01] = BDL + HH, + [0x03] = BDL + HV, + [0x0d] = BDL + HR + LD, + [0x0e] = BDL + HD + LR, + [0x0f] = BDL + HD + HR, + [0x11] = BDL + HL + LD, + [0x12] = BDL + HD + LL, + [0x13] = BDL + HD + HL, + [0x15] = BDL + HR + LU, + [0x16] = BDL + HU + LR, + [0x17] = BDL + HU + HR, + [0x19] = BDL + HL + LU, + [0x1a] = BDL + HU + LL, + [0x1b] = BDL + HU + HL, + [0x1d] = BDL + HR + LV, + [0x1e] = BDL + HU + LD + LR, + [0x1f] = BDL + HD + LR + LU, + [0x20] = BDL + HV + LR, + [0x21] = BDL + HU + HR + LD, + [0x22] = BDL + HD + HR + LU, + [0x23] = BDL + HV + HR, + [0x25] = BDL + HL + LV, + [0x26] = BDL + HU + LD + LL, + [0x27] = BDL + HD + LU + LL, + [0x28] = BDL + HV + LL, + [0x29] = BDL + HU + HL + LD, + [0x2a] = BDL + HD + HL + LU, + [0x2b] = BDL + HV + HL, + [0x2d] = BDL + HL + LD + LR, + [0x2e] = BDL + HR + LL + LD, + [0x2f] = BDL + HH + LD, + [0x30] = BDL + HD + LH, + [0x31] = BDL + HD + HL + LR, + [0x32] = BDL + HR + HD + LL, + [0x33] = BDL + HH + HD, + [0x35] = BDL + HL + LU + LR, + [0x36] = BDL + HR + LU + LL, + [0x37] = BDL + HH + LU, + [0x38] = BDL + HU + LH, + [0x39] = BDL + HU + HL + LR, + [0x3a] = BDL + HU + HR + LL, + [0x3b] = BDL + HH + HU, + [0x3d] = BDL + HL + LV + LR, + [0x3e] = BDL + HR + LV + LL, + [0x3f] = BDL + HH + LV, + [0x40] = BDL + HU + LH + LD, + [0x41] = BDL + HD + LH + LU, + [0x42] = BDL + HV + LH, + [0x43] = BDL + HU + HL + LD + LR, + [0x44] = BDL + HU + HR + LD + LL, + [0x45] = BDL + HD + HL + LU + LR, + [0x46] = BDL + HD + HR + LU + LL, + [0x47] = BDL + HH + HU + LD, + [0x48] = BDL + HH + HD + LU, + [0x49] = BDL + HV + HL + LR, + [0x4a] = BDL + HV + HR + LL, + [0x4b] = BDL + HV + HH, + [0x78] = BDL + HL, + [0x79] = BDL + HU, + [0x7a] = BDL + HR, + [0x7b] = BDL + HD, + [0x7c] = BDL + HR + LL, + [0x7d] = BDL + HD + LU, + [0x7e] = BDL + HL + LR, + [0x7f] = BDL + HU + LD, + + /* double [+light] lines */ + [0x50] = BDL + DH, + [0x51] = BDL + DV, + [0x52] = BDL + DR + LD, + [0x53] = BDL + DD + LR, + [0x54] = BDL + DR + DD, + [0x55] = BDL + DL + LD, + [0x56] = BDL + DD + LL, + [0x57] = BDL + DL + DD, + [0x58] = BDL + DR + LU, + [0x59] = BDL + DU + LR, + [0x5a] = BDL + DU + DR, + [0x5b] = BDL + DL + LU, + [0x5c] = BDL + DU + LL, + [0x5d] = BDL + DL + DU, + [0x5e] = BDL + DR + LV, + [0x5f] = BDL + DV + LR, + [0x60] = BDL + DV + DR, + [0x61] = BDL + DL + LV, + [0x62] = BDL + DV + LL, + [0x63] = BDL + DV + DL, + [0x64] = BDL + DH + LD, + [0x65] = BDL + DD + LH, + [0x66] = BDL + DD + DH, + [0x67] = BDL + DH + LU, + [0x68] = BDL + DU + LH, + [0x69] = BDL + DH + DU, + [0x6a] = BDL + DH + LV, + [0x6b] = BDL + DV + LH, + [0x6c] = BDL + DH + DV, + + /* (light) arcs */ + [0x6d] = BDA + LD + LR, + [0x6e] = BDA + LD + LL, + [0x6f] = BDA + LU + LL, + [0x70] = BDA + LU + LR, + + /* Lower (Down) X/8 block (data is 8 - X) */ + [0x81] = BBD + 7, [0x82] = BBD + 6, [0x83] = BBD + 5, [0x84] = BBD + 4, + [0x85] = BBD + 3, [0x86] = BBD + 2, [0x87] = BBD + 1, [0x88] = BBD + 0, + + /* Left X/8 block (data is X) */ + [0x89] = BBL + 7, [0x8a] = BBL + 6, [0x8b] = BBL + 5, [0x8c] = BBL + 4, + [0x8d] = BBL + 3, [0x8e] = BBL + 2, [0x8f] = BBL + 1, + + /* upper 1/2 (4/8), 1/8 block (X), right 1/2, 1/8 block (8-X) */ + [0x80] = BBU + 4, [0x94] = BBU + 1, + [0x90] = BBR + 4, [0x95] = BBR + 7, + + /* Quadrants */ + [0x96] = BBQ + BL, + [0x97] = BBQ + BR, + [0x98] = BBQ + TL, + [0x99] = BBQ + TL + BL + BR, + [0x9a] = BBQ + TL + BR, + [0x9b] = BBQ + TL + TR + BL, + [0x9c] = BBQ + TL + TR + BR, + [0x9d] = BBQ + TR, + [0x9e] = BBQ + BL + TR, + [0x9f] = BBQ + BL + TR + BR, + + /* Shades, data is an alpha value in 25% units (1/4, 1/2, 3/4) */ + [0x91] = BBS + 1, [0x92] = BBS + 2, [0x93] = BBS + 3, + + /* U+2504 - U+250B, U+254C - U+254F: unsupported (dashes) */ + /* U+2571 - U+2573: unsupported (diagonals) */ +}; diff --git a/config.def.h b/config.def.h index 558625e..c03cd30 100644 --- a/config.def.h +++ b/config.def.h @@ -70,6 +70,18 @@ static unsigned int blinktimeout = 800; */ static unsigned int cursorthickness = 2; +/* + * 1: render most of the lines/blocks characters without using the font for + * perfect alignment between cells (U2500 - U259F except dashes/diagonals). + * Bold affects lines thickness if boxdraw_bold is not 0. Italic is ignored. + * 0: disable (render all U25XX glyphs normally from the font). + */ +const int boxdraw = 1; +const int boxdraw_bold = 0; + +/* braille (U28XX): 1: render as adjacent "pixels", 0: use font */ +const int boxdraw_braille = 1; + /* * bell volume. It must be a value between -100 and 100. Use 0 for disabling * it diff --git a/config.h b/config.h index 558625e..c03cd30 100644 --- a/config.h +++ b/config.h @@ -70,6 +70,18 @@ static unsigned int blinktimeout = 800; */ static unsigned int cursorthickness = 2; +/* + * 1: render most of the lines/blocks characters without using the font for + * perfect alignment between cells (U2500 - U259F except dashes/diagonals). + * Bold affects lines thickness if boxdraw_bold is not 0. Italic is ignored. + * 0: disable (render all U25XX glyphs normally from the font). + */ +const int boxdraw = 1; +const int boxdraw_bold = 0; + +/* braille (U28XX): 1: render as adjacent "pixels", 0: use font */ +const int boxdraw_braille = 1; + /* * bell volume. It must be a value between -100 and 100. Use 0 for disabling * it diff --git a/patches/st-boxdraw_v2-0.8.5.diff b/patches/st-boxdraw_v2-0.8.5.diff new file mode 100644 index 0000000..1ba0e46 --- /dev/null +++ b/patches/st-boxdraw_v2-0.8.5.diff @@ -0,0 +1,583 @@ +From 46a1124957b8de5e7f827656b64bfc3baeaa097f Mon Sep 17 00:00:00 2001 +From: wael <40663@protonmail.com> +Date: Mon, 11 Apr 2022 17:04:30 +0300 +Subject: [PATCH] [st][patch][boxdraw] update to 0.8.5 + +--- + Makefile | 3 +- + boxdraw.c | 194 ++++++++++++++++++++++++++++++++++++++++++++ + boxdraw_data.h | 214 +++++++++++++++++++++++++++++++++++++++++++++++++ + config.def.h | 12 +++ + st.c | 3 + + st.h | 10 +++ + x.c | 21 +++-- + 7 files changed, 451 insertions(+), 6 deletions(-) + create mode 100644 boxdraw.c + create mode 100644 boxdraw_data.h + +diff --git a/Makefile b/Makefile +index 470ac86..6dfa212 100644 +--- a/Makefile ++++ b/Makefile +@@ -4,7 +4,7 @@ + + include config.mk + +-SRC = st.c x.c ++SRC = st.c x.c boxdraw.c + OBJ = $(SRC:.c=.o) + + all: options st +@@ -23,6 +23,7 @@ config.h: + + st.o: config.h st.h win.h + x.o: arg.h config.h st.h win.h ++boxdraw.o: config.h st.h boxdraw_data.h + + $(OBJ): config.h config.mk + +diff --git a/boxdraw.c b/boxdraw.c +new file mode 100644 +index 0000000..28a92d0 +--- /dev/null ++++ b/boxdraw.c +@@ -0,0 +1,194 @@ ++/* ++ * Copyright 2018 Avi Halachmi (:avih) avihpit@yahoo.com https://github.com/avih ++ * MIT/X Consortium License ++ */ ++ ++#include ++#include "st.h" ++#include "boxdraw_data.h" ++ ++/* Rounded non-negative integers division of n / d */ ++#define DIV(n, d) (((n) + (d) / 2) / (d)) ++ ++static Display *xdpy; ++static Colormap xcmap; ++static XftDraw *xd; ++static Visual *xvis; ++ ++static void drawbox(int, int, int, int, XftColor *, XftColor *, ushort); ++static void drawboxlines(int, int, int, int, XftColor *, ushort); ++ ++/* public API */ ++ ++void ++boxdraw_xinit(Display *dpy, Colormap cmap, XftDraw *draw, Visual *vis) ++{ ++ xdpy = dpy; xcmap = cmap; xd = draw, xvis = vis; ++} ++ ++int ++isboxdraw(Rune u) ++{ ++ Rune block = u & ~0xff; ++ return (boxdraw && block == 0x2500 && boxdata[(uint8_t)u]) || ++ (boxdraw_braille && block == 0x2800); ++} ++ ++/* the "index" is actually the entire shape data encoded as ushort */ ++ushort ++boxdrawindex(const Glyph *g) ++{ ++ if (boxdraw_braille && (g->u & ~0xff) == 0x2800) ++ return BRL | (uint8_t)g->u; ++ if (boxdraw_bold && (g->mode & ATTR_BOLD)) ++ return BDB | boxdata[(uint8_t)g->u]; ++ return boxdata[(uint8_t)g->u]; ++} ++ ++void ++drawboxes(int x, int y, int cw, int ch, XftColor *fg, XftColor *bg, ++ const XftGlyphFontSpec *specs, int len) ++{ ++ for ( ; len-- > 0; x += cw, specs++) ++ drawbox(x, y, cw, ch, fg, bg, (ushort)specs->glyph); ++} ++ ++/* implementation */ ++ ++void ++drawbox(int x, int y, int w, int h, XftColor *fg, XftColor *bg, ushort bd) ++{ ++ ushort cat = bd & ~(BDB | 0xff); /* mask out bold and data */ ++ if (bd & (BDL | BDA)) { ++ /* lines (light/double/heavy/arcs) */ ++ drawboxlines(x, y, w, h, fg, bd); ++ ++ } else if (cat == BBD) { ++ /* lower (8-X)/8 block */ ++ int d = DIV((uint8_t)bd * h, 8); ++ XftDrawRect(xd, fg, x, y + d, w, h - d); ++ ++ } else if (cat == BBU) { ++ /* upper X/8 block */ ++ XftDrawRect(xd, fg, x, y, w, DIV((uint8_t)bd * h, 8)); ++ ++ } else if (cat == BBL) { ++ /* left X/8 block */ ++ XftDrawRect(xd, fg, x, y, DIV((uint8_t)bd * w, 8), h); ++ ++ } else if (cat == BBR) { ++ /* right (8-X)/8 block */ ++ int d = DIV((uint8_t)bd * w, 8); ++ XftDrawRect(xd, fg, x + d, y, w - d, h); ++ ++ } else if (cat == BBQ) { ++ /* Quadrants */ ++ int w2 = DIV(w, 2), h2 = DIV(h, 2); ++ if (bd & TL) ++ XftDrawRect(xd, fg, x, y, w2, h2); ++ if (bd & TR) ++ XftDrawRect(xd, fg, x + w2, y, w - w2, h2); ++ if (bd & BL) ++ XftDrawRect(xd, fg, x, y + h2, w2, h - h2); ++ if (bd & BR) ++ XftDrawRect(xd, fg, x + w2, y + h2, w - w2, h - h2); ++ ++ } else if (bd & BBS) { ++ /* Shades - data is 1/2/3 for 25%/50%/75% alpha, respectively */ ++ int d = (uint8_t)bd; ++ XftColor xfc; ++ XRenderColor xrc = { .alpha = 0xffff }; ++ ++ xrc.red = DIV(fg->color.red * d + bg->color.red * (4 - d), 4); ++ xrc.green = DIV(fg->color.green * d + bg->color.green * (4 - d), 4); ++ xrc.blue = DIV(fg->color.blue * d + bg->color.blue * (4 - d), 4); ++ ++ XftColorAllocValue(xdpy, xvis, xcmap, &xrc, &xfc); ++ XftDrawRect(xd, &xfc, x, y, w, h); ++ XftColorFree(xdpy, xvis, xcmap, &xfc); ++ ++ } else if (cat == BRL) { ++ /* braille, each data bit corresponds to one dot at 2x4 grid */ ++ int w1 = DIV(w, 2); ++ int h1 = DIV(h, 4), h2 = DIV(h, 2), h3 = DIV(3 * h, 4); ++ ++ if (bd & 1) XftDrawRect(xd, fg, x, y, w1, h1); ++ if (bd & 2) XftDrawRect(xd, fg, x, y + h1, w1, h2 - h1); ++ if (bd & 4) XftDrawRect(xd, fg, x, y + h2, w1, h3 - h2); ++ if (bd & 8) XftDrawRect(xd, fg, x + w1, y, w - w1, h1); ++ if (bd & 16) XftDrawRect(xd, fg, x + w1, y + h1, w - w1, h2 - h1); ++ if (bd & 32) XftDrawRect(xd, fg, x + w1, y + h2, w - w1, h3 - h2); ++ if (bd & 64) XftDrawRect(xd, fg, x, y + h3, w1, h - h3); ++ if (bd & 128) XftDrawRect(xd, fg, x + w1, y + h3, w - w1, h - h3); ++ ++ } ++} ++ ++void ++drawboxlines(int x, int y, int w, int h, XftColor *fg, ushort bd) ++{ ++ /* s: stem thickness. width/8 roughly matches underscore thickness. */ ++ /* We draw bold as 1.5 * normal-stem and at least 1px thicker. */ ++ /* doubles draw at least 3px, even when w or h < 3. bold needs 6px. */ ++ int mwh = MIN(w, h); ++ int base_s = MAX(1, DIV(mwh, 8)); ++ int bold = (bd & BDB) && mwh >= 6; /* possibly ignore boldness */ ++ int s = bold ? MAX(base_s + 1, DIV(3 * base_s, 2)) : base_s; ++ int w2 = DIV(w - s, 2), h2 = DIV(h - s, 2); ++ /* the s-by-s square (x + w2, y + h2, s, s) is the center texel. */ ++ /* The base length (per direction till edge) includes this square. */ ++ ++ int light = bd & (LL | LU | LR | LD); ++ int double_ = bd & (DL | DU | DR | DD); ++ ++ if (light) { ++ /* d: additional (negative) length to not-draw the center */ ++ /* texel - at arcs and avoid drawing inside (some) doubles */ ++ int arc = bd & BDA; ++ int multi_light = light & (light - 1); ++ int multi_double = double_ & (double_ - 1); ++ /* light crosses double only at DH+LV, DV+LH (ref. shapes) */ ++ int d = arc || (multi_double && !multi_light) ? -s : 0; ++ ++ if (bd & LL) ++ XftDrawRect(xd, fg, x, y + h2, w2 + s + d, s); ++ if (bd & LU) ++ XftDrawRect(xd, fg, x + w2, y, s, h2 + s + d); ++ if (bd & LR) ++ XftDrawRect(xd, fg, x + w2 - d, y + h2, w - w2 + d, s); ++ if (bd & LD) ++ XftDrawRect(xd, fg, x + w2, y + h2 - d, s, h - h2 + d); ++ } ++ ++ /* double lines - also align with light to form heavy when combined */ ++ if (double_) { ++ /* ++ * going clockwise, for each double-ray: p is additional length ++ * to the single-ray nearer to the previous direction, and n to ++ * the next. p and n adjust from the base length to lengths ++ * which consider other doubles - shorter to avoid intersections ++ * (p, n), or longer to draw the far-corner texel (n). ++ */ ++ int dl = bd & DL, du = bd & DU, dr = bd & DR, dd = bd & DD; ++ if (dl) { ++ int p = dd ? -s : 0, n = du ? -s : dd ? s : 0; ++ XftDrawRect(xd, fg, x, y + h2 + s, w2 + s + p, s); ++ XftDrawRect(xd, fg, x, y + h2 - s, w2 + s + n, s); ++ } ++ if (du) { ++ int p = dl ? -s : 0, n = dr ? -s : dl ? s : 0; ++ XftDrawRect(xd, fg, x + w2 - s, y, s, h2 + s + p); ++ XftDrawRect(xd, fg, x + w2 + s, y, s, h2 + s + n); ++ } ++ if (dr) { ++ int p = du ? -s : 0, n = dd ? -s : du ? s : 0; ++ XftDrawRect(xd, fg, x + w2 - p, y + h2 - s, w - w2 + p, s); ++ XftDrawRect(xd, fg, x + w2 - n, y + h2 + s, w - w2 + n, s); ++ } ++ if (dd) { ++ int p = dr ? -s : 0, n = dl ? -s : dr ? s : 0; ++ XftDrawRect(xd, fg, x + w2 + s, y + h2 - p, s, h - h2 + p); ++ XftDrawRect(xd, fg, x + w2 - s, y + h2 - n, s, h - h2 + n); ++ } ++ } ++} +diff --git a/boxdraw_data.h b/boxdraw_data.h +new file mode 100644 +index 0000000..7890500 +--- /dev/null ++++ b/boxdraw_data.h +@@ -0,0 +1,214 @@ ++/* ++ * Copyright 2018 Avi Halachmi (:avih) avihpit@yahoo.com https://github.com/avih ++ * MIT/X Consortium License ++ */ ++ ++/* ++ * U+25XX codepoints data ++ * ++ * References: ++ * http://www.unicode.org/charts/PDF/U2500.pdf ++ * http://www.unicode.org/charts/PDF/U2580.pdf ++ * ++ * Test page: ++ * https://github.com/GNOME/vte/blob/master/doc/boxes.txt ++ */ ++ ++/* Each shape is encoded as 16-bits. Higher bits are category, lower are data */ ++/* Categories (mutually exclusive except BDB): */ ++/* For convenience, BDL/BDA/BBS/BDB are 1 bit each, the rest are enums */ ++#define BDL (1<<8) /* Box Draw Lines (light/double/heavy) */ ++#define BDA (1<<9) /* Box Draw Arc (light) */ ++ ++#define BBD (1<<10) /* Box Block Down (lower) X/8 */ ++#define BBL (2<<10) /* Box Block Left X/8 */ ++#define BBU (3<<10) /* Box Block Upper X/8 */ ++#define BBR (4<<10) /* Box Block Right X/8 */ ++#define BBQ (5<<10) /* Box Block Quadrants */ ++#define BRL (6<<10) /* Box Braille (data is lower byte of U28XX) */ ++ ++#define BBS (1<<14) /* Box Block Shades */ ++#define BDB (1<<15) /* Box Draw is Bold */ ++ ++/* (BDL/BDA) Light/Double/Heavy x Left/Up/Right/Down/Horizontal/Vertical */ ++/* Heavy is light+double (literally drawing light+double align to form heavy) */ ++#define LL (1<<0) ++#define LU (1<<1) ++#define LR (1<<2) ++#define LD (1<<3) ++#define LH (LL+LR) ++#define LV (LU+LD) ++ ++#define DL (1<<4) ++#define DU (1<<5) ++#define DR (1<<6) ++#define DD (1<<7) ++#define DH (DL+DR) ++#define DV (DU+DD) ++ ++#define HL (LL+DL) ++#define HU (LU+DU) ++#define HR (LR+DR) ++#define HD (LD+DD) ++#define HH (HL+HR) ++#define HV (HU+HD) ++ ++/* (BBQ) Quadrants Top/Bottom x Left/Right */ ++#define TL (1<<0) ++#define TR (1<<1) ++#define BL (1<<2) ++#define BR (1<<3) ++ ++/* Data for U+2500 - U+259F except dashes/diagonals */ ++static const unsigned short boxdata[256] = { ++ /* light lines */ ++ [0x00] = BDL + LH, /* light horizontal */ ++ [0x02] = BDL + LV, /* light vertical */ ++ [0x0c] = BDL + LD + LR, /* light down and right */ ++ [0x10] = BDL + LD + LL, /* light down and left */ ++ [0x14] = BDL + LU + LR, /* light up and right */ ++ [0x18] = BDL + LU + LL, /* light up and left */ ++ [0x1c] = BDL + LV + LR, /* light vertical and right */ ++ [0x24] = BDL + LV + LL, /* light vertical and left */ ++ [0x2c] = BDL + LH + LD, /* light horizontal and down */ ++ [0x34] = BDL + LH + LU, /* light horizontal and up */ ++ [0x3c] = BDL + LV + LH, /* light vertical and horizontal */ ++ [0x74] = BDL + LL, /* light left */ ++ [0x75] = BDL + LU, /* light up */ ++ [0x76] = BDL + LR, /* light right */ ++ [0x77] = BDL + LD, /* light down */ ++ ++ /* heavy [+light] lines */ ++ [0x01] = BDL + HH, ++ [0x03] = BDL + HV, ++ [0x0d] = BDL + HR + LD, ++ [0x0e] = BDL + HD + LR, ++ [0x0f] = BDL + HD + HR, ++ [0x11] = BDL + HL + LD, ++ [0x12] = BDL + HD + LL, ++ [0x13] = BDL + HD + HL, ++ [0x15] = BDL + HR + LU, ++ [0x16] = BDL + HU + LR, ++ [0x17] = BDL + HU + HR, ++ [0x19] = BDL + HL + LU, ++ [0x1a] = BDL + HU + LL, ++ [0x1b] = BDL + HU + HL, ++ [0x1d] = BDL + HR + LV, ++ [0x1e] = BDL + HU + LD + LR, ++ [0x1f] = BDL + HD + LR + LU, ++ [0x20] = BDL + HV + LR, ++ [0x21] = BDL + HU + HR + LD, ++ [0x22] = BDL + HD + HR + LU, ++ [0x23] = BDL + HV + HR, ++ [0x25] = BDL + HL + LV, ++ [0x26] = BDL + HU + LD + LL, ++ [0x27] = BDL + HD + LU + LL, ++ [0x28] = BDL + HV + LL, ++ [0x29] = BDL + HU + HL + LD, ++ [0x2a] = BDL + HD + HL + LU, ++ [0x2b] = BDL + HV + HL, ++ [0x2d] = BDL + HL + LD + LR, ++ [0x2e] = BDL + HR + LL + LD, ++ [0x2f] = BDL + HH + LD, ++ [0x30] = BDL + HD + LH, ++ [0x31] = BDL + HD + HL + LR, ++ [0x32] = BDL + HR + HD + LL, ++ [0x33] = BDL + HH + HD, ++ [0x35] = BDL + HL + LU + LR, ++ [0x36] = BDL + HR + LU + LL, ++ [0x37] = BDL + HH + LU, ++ [0x38] = BDL + HU + LH, ++ [0x39] = BDL + HU + HL + LR, ++ [0x3a] = BDL + HU + HR + LL, ++ [0x3b] = BDL + HH + HU, ++ [0x3d] = BDL + HL + LV + LR, ++ [0x3e] = BDL + HR + LV + LL, ++ [0x3f] = BDL + HH + LV, ++ [0x40] = BDL + HU + LH + LD, ++ [0x41] = BDL + HD + LH + LU, ++ [0x42] = BDL + HV + LH, ++ [0x43] = BDL + HU + HL + LD + LR, ++ [0x44] = BDL + HU + HR + LD + LL, ++ [0x45] = BDL + HD + HL + LU + LR, ++ [0x46] = BDL + HD + HR + LU + LL, ++ [0x47] = BDL + HH + HU + LD, ++ [0x48] = BDL + HH + HD + LU, ++ [0x49] = BDL + HV + HL + LR, ++ [0x4a] = BDL + HV + HR + LL, ++ [0x4b] = BDL + HV + HH, ++ [0x78] = BDL + HL, ++ [0x79] = BDL + HU, ++ [0x7a] = BDL + HR, ++ [0x7b] = BDL + HD, ++ [0x7c] = BDL + HR + LL, ++ [0x7d] = BDL + HD + LU, ++ [0x7e] = BDL + HL + LR, ++ [0x7f] = BDL + HU + LD, ++ ++ /* double [+light] lines */ ++ [0x50] = BDL + DH, ++ [0x51] = BDL + DV, ++ [0x52] = BDL + DR + LD, ++ [0x53] = BDL + DD + LR, ++ [0x54] = BDL + DR + DD, ++ [0x55] = BDL + DL + LD, ++ [0x56] = BDL + DD + LL, ++ [0x57] = BDL + DL + DD, ++ [0x58] = BDL + DR + LU, ++ [0x59] = BDL + DU + LR, ++ [0x5a] = BDL + DU + DR, ++ [0x5b] = BDL + DL + LU, ++ [0x5c] = BDL + DU + LL, ++ [0x5d] = BDL + DL + DU, ++ [0x5e] = BDL + DR + LV, ++ [0x5f] = BDL + DV + LR, ++ [0x60] = BDL + DV + DR, ++ [0x61] = BDL + DL + LV, ++ [0x62] = BDL + DV + LL, ++ [0x63] = BDL + DV + DL, ++ [0x64] = BDL + DH + LD, ++ [0x65] = BDL + DD + LH, ++ [0x66] = BDL + DD + DH, ++ [0x67] = BDL + DH + LU, ++ [0x68] = BDL + DU + LH, ++ [0x69] = BDL + DH + DU, ++ [0x6a] = BDL + DH + LV, ++ [0x6b] = BDL + DV + LH, ++ [0x6c] = BDL + DH + DV, ++ ++ /* (light) arcs */ ++ [0x6d] = BDA + LD + LR, ++ [0x6e] = BDA + LD + LL, ++ [0x6f] = BDA + LU + LL, ++ [0x70] = BDA + LU + LR, ++ ++ /* Lower (Down) X/8 block (data is 8 - X) */ ++ [0x81] = BBD + 7, [0x82] = BBD + 6, [0x83] = BBD + 5, [0x84] = BBD + 4, ++ [0x85] = BBD + 3, [0x86] = BBD + 2, [0x87] = BBD + 1, [0x88] = BBD + 0, ++ ++ /* Left X/8 block (data is X) */ ++ [0x89] = BBL + 7, [0x8a] = BBL + 6, [0x8b] = BBL + 5, [0x8c] = BBL + 4, ++ [0x8d] = BBL + 3, [0x8e] = BBL + 2, [0x8f] = BBL + 1, ++ ++ /* upper 1/2 (4/8), 1/8 block (X), right 1/2, 1/8 block (8-X) */ ++ [0x80] = BBU + 4, [0x94] = BBU + 1, ++ [0x90] = BBR + 4, [0x95] = BBR + 7, ++ ++ /* Quadrants */ ++ [0x96] = BBQ + BL, ++ [0x97] = BBQ + BR, ++ [0x98] = BBQ + TL, ++ [0x99] = BBQ + TL + BL + BR, ++ [0x9a] = BBQ + TL + BR, ++ [0x9b] = BBQ + TL + TR + BL, ++ [0x9c] = BBQ + TL + TR + BR, ++ [0x9d] = BBQ + TR, ++ [0x9e] = BBQ + BL + TR, ++ [0x9f] = BBQ + BL + TR + BR, ++ ++ /* Shades, data is an alpha value in 25% units (1/4, 1/2, 3/4) */ ++ [0x91] = BBS + 1, [0x92] = BBS + 2, [0x93] = BBS + 3, ++ ++ /* U+2504 - U+250B, U+254C - U+254F: unsupported (dashes) */ ++ /* U+2571 - U+2573: unsupported (diagonals) */ ++}; +diff --git a/config.def.h b/config.def.h +index 91ab8ca..7bb3ff7 100644 +--- a/config.def.h ++++ b/config.def.h +@@ -67,6 +67,18 @@ static unsigned int blinktimeout = 800; + */ + static unsigned int cursorthickness = 2; + ++/* ++ * 1: render most of the lines/blocks characters without using the font for ++ * perfect alignment between cells (U2500 - U259F except dashes/diagonals). ++ * Bold affects lines thickness if boxdraw_bold is not 0. Italic is ignored. ++ * 0: disable (render all U25XX glyphs normally from the font). ++ */ ++const int boxdraw = 0; ++const int boxdraw_bold = 0; ++ ++/* braille (U28XX): 1: render as adjacent "pixels", 0: use font */ ++const int boxdraw_braille = 0; ++ + /* + * bell volume. It must be a value between -100 and 100. Use 0 for disabling + * it +diff --git a/st.c b/st.c +index f43cfd3..baa2bed 100644 +--- a/st.c ++++ b/st.c +@@ -1214,6 +1214,9 @@ tsetchar(Rune u, const Glyph *attr, int x, int y) + term.dirty[y] = 1; + term.line[y][x] = *attr; + term.line[y][x].u = u; ++ ++ if (isboxdraw(u)) ++ term.line[y][x].mode |= ATTR_BOXDRAW; + } + + void +diff --git a/st.h b/st.h +index 519b9bd..07a7c66 100644 +--- a/st.h ++++ b/st.h +@@ -33,6 +33,7 @@ enum glyph_attribute { + ATTR_WRAP = 1 << 8, + ATTR_WIDE = 1 << 9, + ATTR_WDUMMY = 1 << 10, ++ ATTR_BOXDRAW = 1 << 11, + ATTR_BOLD_FAINT = ATTR_BOLD | ATTR_FAINT, + }; + +@@ -113,6 +114,14 @@ char *xstrdup(const char *); + + int xgetcolor(int x, unsigned char *r, unsigned char *g, unsigned char *b); + ++int isboxdraw(Rune); ++ushort boxdrawindex(const Glyph *); ++#ifdef XFT_VERSION ++/* only exposed to x.c, otherwise we'll need Xft.h for the types */ ++void boxdraw_xinit(Display *, Colormap, XftDraw *, Visual *); ++void drawboxes(int, int, int, int, XftColor *, XftColor *, const XftGlyphFontSpec *, int); ++#endif ++ + /* config.h globals */ + extern char *utmp; + extern char *scroll; +@@ -126,3 +135,4 @@ extern unsigned int tabspaces; + extern unsigned int defaultfg; + extern unsigned int defaultbg; + extern unsigned int defaultcs; ++extern const int boxdraw, boxdraw_bold, boxdraw_braille; +diff --git a/x.c b/x.c +index 2a3bd38..bf6bbf9 100644 +--- a/x.c ++++ b/x.c +@@ -1237,6 +1237,8 @@ xinit(int cols, int rows) + xsel.xtarget = XInternAtom(xw.dpy, "UTF8_STRING", 0); + if (xsel.xtarget == None) + xsel.xtarget = XA_STRING; ++ ++ boxdraw_xinit(xw.dpy, xw.cmap, xw.draw, xw.vis); + } + + int +@@ -1283,8 +1285,13 @@ xmakeglyphfontspecs(XftGlyphFontSpec *specs, const Glyph *glyphs, int len, int x + yp = winy + font->ascent; + } + +- /* Lookup character index with default font. */ +- glyphidx = XftCharIndex(xw.dpy, font->match, rune); ++ if (mode & ATTR_BOXDRAW) { ++ /* minor shoehorning: boxdraw uses only this ushort */ ++ glyphidx = boxdrawindex(&glyphs[i]); ++ } else { ++ /* Lookup character index with default font. */ ++ glyphidx = XftCharIndex(xw.dpy, font->match, rune); ++ } + if (glyphidx) { + specs[numspecs].font = font->match; + specs[numspecs].glyph = glyphidx; +@@ -1488,8 +1495,12 @@ xdrawglyphfontspecs(const XftGlyphFontSpec *specs, Glyph base, int len, int x, i + r.width = width; + XftDrawSetClipRectangles(xw.draw, winx, winy, &r, 1); + +- /* Render the glyphs. */ +- XftDrawGlyphFontSpec(xw.draw, fg, specs, len); ++ if (base.mode & ATTR_BOXDRAW) { ++ drawboxes(winx, winy, width / len, win.ch, fg, bg, specs, len); ++ } else { ++ /* Render the glyphs. */ ++ XftDrawGlyphFontSpec(xw.draw, fg, specs, len); ++ } + + /* Render underline and strikethrough. */ + if (base.mode & ATTR_UNDERLINE) { +@@ -1532,7 +1543,7 @@ xdrawcursor(int cx, int cy, Glyph g, int ox, int oy, Glyph og) + /* + * Select the right color for the right mode. + */ +- g.mode &= ATTR_BOLD|ATTR_ITALIC|ATTR_UNDERLINE|ATTR_STRUCK|ATTR_WIDE; ++ g.mode &= ATTR_BOLD|ATTR_ITALIC|ATTR_UNDERLINE|ATTR_STRUCK|ATTR_WIDE|ATTR_BOXDRAW; + + if (IS_SET(MODE_REVERSE)) { + g.mode |= ATTR_REVERSE; +-- +2.35.1 + diff --git a/st b/st index c3f34c43bba134b636866afa4bff10f18452afe4..40cbd3abccfe85b6874bc35205d689faca3df4f0 100755 GIT binary patch literal 118984 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 literal 110376 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 LY(_mg{TBZh8)^mM literal 91200 zcmeFad3+RA_V-_%G!QVRqM}AcZ8aznWJhU1NkgL*4U3B7J_wxvQA{xDW^rMePK27+ zprela`qdf7aok1RkPsksOf75n*cMtSaG`aGb+8q3cRLO32`r*N#fbyu zS3CL&*$X@S+_mB3)`m{cwxWkP@g+XTZSTZ)wu^lsH)OLwd(v==rVx3j*sgOfOv zt{dckt};*U2eF@hinYPA&S>gjSuV2>@18Yn(;_mwK6Fv&PoWD#V=lbFiGMrLaijTJMeh0%r`F%K8_qj!IKNw;B@OLK zty8lucA`@YQsQ)%=k1!8Ayw>dcH+whUUo(3^3WBbKZnNF7rFbKL^MCoUOXiE!@i~_ zx4yV`a(-S>Vt5mBnK`YhD8AP>bwW}6SKrhtUnfh76F1}s>b__nvKJ5TS?umhzJkj- z);n=vD>l-JFZYcIeub2Z?6a0T!R3|jg_>M^y}VK;30Lo=bLr(ZP17%tEHSz%xYHiFyJq|J!WPnKkNh#X z?}p({v*SgL+8$)y|Kps$+kGoF#huhuKQ zQ<}t?%ZL{0{)>OUZ=N`Vyqs1m_QHu! zQ*c+v9=X#Mjtw^2qgDiev`4Oy>Xjk!r0*3>ZA z2-C>V%_Y*g(TUVMb({V6OT`)f?aMQwn z+S42s&xx>*g+=F)t>Kn^ke>sGSZ#5Bwws-S%A8A;xqka{e{?Z)H@2bs=cc{sM^Mbg zEdi=R_Sj(Ktjxrerr^FCk8(w^$&#;^CHs|(z|Y-Acc0sk{zOp8)*|2=rM}>b8`roy zBz{Grnx>g!WK0EDRt-o@LzNd1mCnX-*Z6n7_`as-(P&F?c$kYY=zM4VbSt)nTG#ke ze{f}Gqr4z-QB!cKeKrT+j8x5%=vRqRKBrb#o6d^Y`Qp2L(X|N5=xU+q@1!Z|#JBpv zVn3!AwrV)LIVgEFoZH>^rK$0qzGz;2XNFxJMq3PjcGDWi+V-*(f@^M!Wr`pvSkq3n zHEW!*b+WD5eUe*8ZOy8(b)v0VL%}NI(WxD?G*7g4PQ;>!aC~d1ozAQ6-4M?2j3_`o zk5(z?h$hadSz_No9RS2Sr!OubWzCVWH2qvbofCPpIn?|sQ%j))F`QbB@36aByP&wX z$I_IISaNESW%tM&s?BkK@};L|1x0kuTByA4Klbh&O;k6&4f$5v z^S(yS2?x89z4rW%a8R=it;A|Haw-B=+Vdl*?3tp97SzqDlRm1`+v8PryN@kcquOJU zi{|!tWu6n+?$mwl-yZJW&SzIorS#lylG*4GgB$Gm6L2h@5Dsp!=O2oskk$V|fuL(c zfymlfTg$I_{)sKRZZ}Y-~ zhS=4A$5HAvI%Htfb@y3syOibuC7$l}5;TuG<154k9DoL!;+Q zhTK+JNxTlKY^j_1g1aE+*!4U zB`V3a3vyBVsWC|Cf?5%@@jWo-8Ill=;tK1owMVXWWj|89)RpIcSK<{Y$3Q_eE>2?R zugN#|G&Q{<+G7nq0T|zt5gnw$rDO*}L+GB_UZo@oIC(Bk3=$`1+0Ee~B`#AvBikFT zy73C>I%%}NA6(N`ZuYbFkhW~yhdPuRgIwtf<$n6%|6g2oGg92oWz)!vx2eL!zs;)6 zaUuxrCBEW>zeW_Ue=eHfXm1Rw?dpd?hSrYh@GF;t^s*Rji<-Ge6jFRyR(&GmN7LMo zr2Ru{i#ueURU7V*?Y4K)*{Lwe{C4800A!kn`dQ)HuH>Uo{MV+~ z0qCHzWCvC6xOpb5@(n zRm{qQ@7ReaaE_;ZA$PC)Q^@^5j8?yM>b}ZIpX_eXI(r(JhTR|BjbZmY;SX|0e7Qdq z{5X1<<0c*1EyM>}(XUj4D%$4Y#+fg<8~z7fDLTHTdFh*ZuvA}9)6y&quKW~?m?HYc zh%lLIq&mOTKh1GaH88D;c0qUOcYla~J|zC;?0MOT)P0BfG^ShMVoK{*BPUF|Gj^;y zehdN8hIi`hn}^vqg1=rAQ~D7Hc1zoSz*nk{5=8%R}~vYDG;5?!4hfS?+4MvHOOZ!Iky{b@swHWxUw; zFSQr03$BV?1=*{4P%>+r`-2?R%Rxz|h!L4Z>5Ski`@SW?UG{x-9ajeT;VWxp%pd&m z#tzcBn_2O1u2-8g(GLOm64!Lg!Kb+Np zrt4__YRBYfg@apXbqc!}d%h2^XVF9$n$Z|9!84mh7CxWsUtqRP^ zO<#|hT{a}FbUY;I#J7NC3G$lM><-J~o$Lt>!?1|ZkQsmgb*-4shl1bTfUZpx9QwU; zGP?{!qwan$+=cn?E7G;kham67{b;zPWwXM~^TO=>27eaSCoJVL?2G%cMm0s^P8Gw-S5OIMe+%n7Kw1BG10l-;z)S3U_)^Etg{_a zewoFQw~FdM&vaAG2K4VxT-*MfL}!du1|ROYXR0AavFkq!OAW9&ONMg6#^9HX?%rG z`o1STAl;P6?jBrq!^q;u(sL62a`DxEwVTR5icO@_GOVwc?CkyS{8wzprVexEG(J-X`i8E3oNiNP?((2GE)Xci!H$|z@YRv;Qq6+^ zyZU~dluOh8=0&ya*a>Jav(b{r&X_ak2q=!t&=nLzL3*N!Yp11M(F$tRE{MF6oRP%W zYhJUx^a-_x#CLbL=ROQ0+%-iJ|4qfd#-`1S3vtYO!RXRo9Q?wL-wlY8UR`_0oZV!T zz2IiFUvqYUgQ&IVkHvoCFL|g{@tu99CEO*@Hn-TfvuQJhM@JbR8R=(bZ0t=x4jfZB zH+_%9-=}ZYq_fg-iFc%?QLFDUXH8wYf0uB<1pE6X_CX?i)t7XaY}xgFCvqqPXe`s=B!=oZ4HHXQD^+i&bzrF&Px{SANwpw3Jt3byp@RPlS+;+{?t) zBK#_Xi7G5tf^WZWQuk5Df5Ux3qU~~?h%sF9Hps`*zSwJ*)jM;(-2gpw>kZ4uWAb}D zZgKv=Vs!h3#n^MImqbsq3&Q!M?SkU`EA4_Y`BUtI`|@Yw8oS`p{9DBLllc#c?-%lE z&B`u#Eq@8VTTNo}a2wArh79PL{k?J8NmS==rf(YYIEiq6fcA17cZ<_{(ee!+q(n17 zgFm^0AwxTADdl*vcA%v2w46z|%z9fjp52; zZ;9o8-2eQf@{stAR=}<~iB4crNYlw};UMlG-PjI>%{(0I%f4s_49IdbVx2-O{P~?m zU_R=j@tyG8vBEfXyIZg<zlJO^Wy&l&uMGTa9VRAWvA95Ip}S* z-q2-f`rZ9mY9_7mMMUF3E)d6>rg?2>!fgu5kDQyQ8fX_TIykj~_T>EA{>xi9*gmYC zKenx9o?hfzmj0ARwRz+V+~+{}A=33bI1Z{%9_oaZ{``XG>VWk!te!PAR|L$&6Eq0J zH;JOA|Mx489HSM^Zh9aZbN5V(VDFY_CH~&O=nCkx!yBB0m@qD;#VNfZ#L(tt3Vso{ zj{E&j&cFG7u4=|`!Mvl%GTG8&X+ew@q5Q!`W2N%+!>|4sd+B>#9Zg@i{SR`0OY&N^ zL$sKJ+njzeDpdngD7Ub-*iSBZ$131*zq=y-^{iOC?aP{Cq4?%mSl1own|bbj&5Q7D zbMv!Q4$k+JvKRimA8Q%SP!Vg3F4V5&$#zX^yykqHmrHHUJ}o!Z`B`Adkes!{&9d~* zXtFW0C_z9JxnI#B)BUbkoh$Nv^16kKoPtkAV3BqFh}siJ)O;Del$M6b4HQK2Z9aO! zVZeyQjlR%|;TGEErC3GcwZ0LF9>?PHqWFreG<+$V&zAOfKR_CwR;sUA66@;JO1oQ@ znF7w7Wt2N@89=EKHl^PdU(Jihcus^CiHqFTnlJEJ2poZ_+esJ;%a9820KolFC_v)n zGWgK;U^RK0UA+!FixG)1@cWiLxDB!sMx!(@K@#}L4v5?|5tUX>fT-Z~hf(gK;rIp= zpL!Oh{*{GDX>myC|4h>_S`uh?X_z8xYYw40TJ!cAxH$WXQ`zq4a&aG@mMgPDB2lqC zAs%l~ewcoS*pa!6?`(>WKz~|>yMEcyn9H$FA?hY9c?Bc1Hx6P4q_XxiVgEk2b&mEw zuT?v`iz~#%AK~a`Gvu6+jS|Jwd`{$Man2a@u@Go+Efv`qIGt#`DZ^ec5eGuI<1VK` zwmNEVDC_CwboIHA(nAiyf|r1!e%RHMX{WYFek&pE?n5hH+fUsp5_LnS-UgFG&E==$ zssj66EJ3TbrNvz>Wg`cKFjQt(9#U{?!iZ4)5bcD1n8Syny35w2W%MP~GzaSb#VXFH z7EtxL(ZbE=BLr~T7?kZFv9(usn|&kNH#@v7RSONpvPr{To@jSo0jgQz*x}`LyB~u@ z>J`xq24FEB-ohGCY8)~1YWF}iEgtBc%iY1K2f(I3d3e1hxG=e=-##spgR zpMX(udkjbyccwryS~~O?hZ;?H&z7dU*-xIg&eQ@rb!z(R2xW-+LVhr5r*GzYVY$x9 z&$<-u8<7~ZBrBA-b{{=p;KWyS4&i~3nMW4YVjvyD6B$3)FXh(kraN0pFf>~kYb?Sd z&xqif*oUI3$R+oB`3xS`!uGsQsmj5zZ`RRRv~j=3Etjny(O6|UkBpPPU~=Xca#R-I z?VI@}d%HF}Ny#S8hdEntBck}A&XoSf*vrl7r(dc)4Qp)&NDtR6nbomguDhnUkpu8l z*2qR)M%(eJ>>K@9J4mhw_La&LZ^co8Bg$H4DfQ(@~gFiSi%?$(ynA+kB*T;Z$H+Zyo;@eN?O7X<(lv z@up*^o*HkO744Had$w5iitjvjTEVMSW95v#FnWq;yH#f$a+isd>2BgHzIW!-1C^j$ z!!MkNrBL}`VMsh?D9>VC{%^{t=w=@GM^B0GJ<6U-tLO2(?d_ZXgPm7qTh@V&{a;({ z_yfc@?~bp`RlVLOJdS~8L;9(3dqZI~J28AVY_)H?7qVEHdAo4--UscuOJO;Vw(*le z5&si-7^rEpkq4~!*U*zR&AD2RE=R;(*bXOC)Tz;^ri%9TEBRoJ0@4LFxp5sT}1j!YTr7vz%aK6;6fo2R4r@?3#a~-$H3Q`oO}s-H~hk zt%s|^SF+>GJQ}&gh~TqgcZ+Jm#2`2QkZcRLA*51oLqs|_Ft#C`L_6RQlW( zX$KD>xz%^jYU}LapxAlweYw%%;>0*ui+kDP20zqSo$6qvgv@>gImgq@7`&^&d2M!n zaq#o#qgYNJ=)`yLa~hUX@{T=hY5MkJ_j7xpPp-f^iEDjaE9LV_PVfUe-V+_Xy|Bn9 zACiqH1A{NL=k6tU;NfibcwfZ-7g33!F8#DDD;go~fy-%dbr2kyq60n^vcoH+vt`s5 ztWXW?Me7mhSJA4u@Jr2-7D>4Zg8PHQ$;nelvXE8+#c?}(ZolTsOtX@;)IuCW=jFw3 zZpLvYj+2eJ51QIVk1=&6?|qiqM*AWF0;$hwUtD3?HS2NkI{}+|1~P29U3~=9@a5Ha z;1q7i$-V|oS^|ARe7_EYbfY^h@a}9XE()2MDGogIiKLF|H4)KReW-C%GJ)awIZ6D zq$Sv5SxckYo2(i}LSnJ3W*vk+kgjDrwaY4-aAk5VU1QTVqC{(&AhA#0s!oogVESnn z=aL?U9V-^(sP95y)f|W#BON34Q%U}yf~g3rQIg7*G@ioKymsPIQg<}vH*rBzVv4#W z)CIyRS5Ily(NZz=iOfj9|4b1(4ssq#vg>g^t?re3h&)Rwj?t5f_N0f)&Y}#pCoX!N z{WCP3F8pdI3$!-uGCH}k`J{HWG<*=9f4up8&33qXyX-tggf&DZ4AeRb^Z?+s20n`IkiTY?l)nM zXc#S(LDg!D%&L8Ve&S-E+a(`QSlRQRqOopdQ>b>#{kWCb$DZ32sp2MLBwT}@Fxj+u zf^1xU=?1lzk$zq6`P0vxYv?Uvf@L;Ko}CzbUbVt9Tnf%-mW>Zx!p}T7zpjp7>eSj>Wiv*J_C*wE(B&C<#64qUN?q@8`KmkEvG5nm?9&`$sedF4&%fs%O zDfc6HE0$f}7>+Z^laXCKRw3W7x#7$7Te!Ebf+-Jr<0}K|sFOG|0SsT$#(lnR$$A4+98L|RfweohLXrKnfytm+FzN82iR_bub@t6P&}qJ5Cd<`c@HAi>vqQ|u z7r%+15dj&B@5L)a&(h_Y0)%Ct+Ba_nn=P7YU+PW_v!x4Zo<3pDxqizhJ@?6`mKbO= zGvYz~Yehwoy-wXXSg`uc!9znx#F{WC;&0lU8r&RR^L|%pS2iO<`a${x ztzK}gosb>D^_{JZ=)n!caFYQ^Gz{x(`BQng43BGJ5$T(TVS#{5JHKg9dV?$}dY<97 z2E@WY@YJHL*c2aOw^2rAcTrrydVACcxmf8-b4f}&oLc`HX-mOIdi{jf#v;Fn6+7Pw zC-RnfQ8O`Eu7ArkF}%d{&fh2Ns8#Rz`{{}zN%)U&B4Yf<6X4pxKdOY6HYeOD6W-T+ z8&@ufs;Cr$0E~nSFh0THCPe8!^<7hwoYPwIWZ~ce_S|)7ZQ7VBwm7GGid2bfTN*>v zqHOw>TN`cmG;2$0ID|#vw^~8l@4j8l_L-B5=y9i?@zkVPKMRStOJ9eMUAma=>^YG= z#lG*857#5Cmt%!*M(agdyXJnBqPR_?KX)2$EX10!|BXN6WU?;|O?MVar0Wu+cVM-1 zYP>gOW!Meae*q+SF8XUg@PaXwNf9?njvq| zy&F76R*!6+EE_YT;`-(V==~S!-4*&Xud>5e_cE?SE61TDd+VBYv)UnJxPOcg#>-Wr z+r>Mo@{x=5m;5w89wf;{{XhZX6;y5M6F2*S`z*ox()e}~_vO!qiFm^!c4+F`7GvX0 ze!C`=a0;Ra0Hs`KpeJ6BY7Q5~@1!Pio^#EuR z<$%XS=vHHm7=zNSPvlWsqO2yv<}4%E@hYXf_uJNelVW-WeT!qC^*&aGu%L!(;qVpo zV$7jVFj@5=1S-217yL59_e<(Rw%|7+fh|nGCH9(cvF3?etUtT&X$2Y1$GvlUc!yGz zEgWu{G~e0X6z!;1G-HR$ovdg;%|LJqEfz~3E!-G(zor}22Vun~{UHWCbU>@Pt!rs) zEY@vR{j5ix7gI~ue1qGqKPM6HiXhsAJ3<>!fKCBkyZ=5ph4i3m7bJ@cmPP;LxS!yr z(t)uzoWvDAasQBRgP#kb^hYAU;`s*0-P0M{t&DuU6+I?DhgOCU6xXO3 zCu&@ky>LvvjS8Qi6Sfx?=O0K**tv9@;QaGPj}Dy|f+cD|Dc9B(2apMEupM94TM3|n zu;)HSS&Sgsp+&e#q?cL55brxx$}oy^K1C21)dsvjIkO+95nj zkr?V*k%6nu!*kQSa-*FbcWwGDoJfD=zAfJ;KqFNB0yK%$TQR|DeWwAxULcGgd_}B# z$o)9Jr~j<8af@W$KXDBX?70tMheAgzAvwGrJM+-NW9|8SaBlF`cJ(*-PQ~b8v|ar* z9ZbTX_?}62%~gp*Ay1VQ?s=h8j|-K76K|dFF6&Cc~beLp!3sLE-p> z*wGZtj(a)o{x(kv@CMfAUr|o}?MpM!9xQe6f(hShU9K3F%_g zX#8Bqj^sv+@i3?vZZGW7fsR+nWAxNdCUxRSVN6!R!HYv`9m(te2GksS3{SQgs-=&}6FmuxIHp%@{Qk^YDt zAod+Dhh>8>Yf?^;Up5$vgF_FG5z+2Sx|R z_Z$_y(A`M=p6P(}qr4E0NS9?r0fv1m?e2Gq7qaMdY9h78a#+&x9x6Zbl`7KCQp>Y{ z7(530I%(pjX{^0q4h{!jVJ~p$8;y)QuFgWo&1toH$G~1J8!oR-p}9s+f?Xn2ejipY zSE?5oQvZda=-{hkx3z9t!uc0BkDg*SdXz~#Y~q*4= zbo28z(2;15vGk6gUI~u;c*xL=1ykzitV9xemuLr z)hCtkd{EX6C)59d{ZgTSLRZT_0rw^1@2Rn-v_{0J9K^3%hGttfe9@6|%|`Wd!cvhH z89u@9V;$A6SVRwyb2)LAoKi1pX{ra@EUKB9eJgLOCrZLnt-R2Qe4uJEEX6xZxlXN< zH6pUMD6)j={W*Y5Q?i^`P%KRqXif`P3H|t0!!wP3P41U&43lBf=MAr67@grW1Ups=wnlPG~6f z2doAwKm{aX&K;e_JK5^dlgf`A-#*sEn*B@MZY_D1R4rE}M*5@*SrQIrk(47DWT?`@ z65(QgWm3Mu+5Cj~DX_-EqY6cJU;4Q%LL04aNRNnM?MM_N@`rv!K46gg9W%PxUU4!574(Rq00jNF=Sq5|P{%AKKvzZZl$yDROd zg$Lx#*l?nMw@|RbuHJ;w54r1=!8Pl|g^oRP1&vj+iX+>KFd`Tcc?a)^;S~d{3+)Og zE^QhS*@TxZa>MSfbQk)~u`KlX4?)w=M0kKT!j}r;ZD!0TRus97ArY9k$20STa})k7 zrvM8(J2RZSogGbLMJ==Q(%Otr(2CWM2=0k?#e-i6!zD_r2!R;faKj2b*Poj{kp4nx z+D|+5@P6m$u~^=^d&e$WxT+mLnFf zaIIPd8J>QINtVMqRG@R3M$1BxXGGD~ zBuJtA=^He75uqY8EF($ZS4)c0t#43a3GtRGTFV~1=eJUK%VeGqX`YXRsbgTm)8g

B}o&qVo3siKA@bQMK?-Y0D%|l}TJgI&122pc}03Qw&MVh0&?+kQhSU z7d>7a$A9r@fv~uWGnZNcInf>O*Vv`sl7p4_Pnj~hWvjSxKS3{^x{Aug-539Q2zu9E z@}F=w}n9N1I=EGez!hrNC2FI*Ks35Je^`nLS)I$Fj%`jp=h_ zifebaeY$(=)2)vTT`lH_Wc9&8d=F;kMB%QhrL5=M=ZLYK`;h!DwQ?SkwbWQV|+_SY?ic{ zY7d5b&EwOU`c(?bOKlGBxK!VaJ=Hh*R!;8}Tr<;;HRKF;se72=%G5J79Kft{$C`hM z7NzDvfH^Tl*z!X!DQr!Fi>Ko5_6UJg4FJw71|>4g(*ti}&owoMcL?-$qXe?cvlaEc>oyg~mTsg>6H z=uO!(=ulcELmUGpznUSANW73g`%J8GL@=Jl+lcs~Qw*E3+)u&=MO8pbDf>jngQU7yv zD1OeOsCIC^Q`zla|- z%ts`2p-32nGQ;48Y!b16HEc)TjCJr`A?#5ie5(*aPSGf(_+7LD4C^HiehN~Z5lDA!s2>Yk`Qk_yV>~@@S1WKM$-XQ z$Zp|zCHcK5OI^f5xva}MsMStnCEpHBbonbqLV>y&s$SdXX{;J^#nbr3+KpB1;)ATH z`Uyz<%x&C3CIfi7*uf8U#1Dtw2D$^KnrR5!;^2qR_z~MRm7k}6LTrd%@4(njEju+O ze|Q-Wg9H(4v+|RN{fnP8coBPO=c3)nd13tc@5eN(|1iCTj%jF^!p)L5DC@~*pdh^r z&;QylA@evNz>vHfJcHcJW#oIj2~ALsGK-H5UH44 zQ3;V)5Am;AP}e_k!t}tnXtXlWwImQLzq-6)TKRtZ6c0?PESowmS{kS-jrM|trP07O z6(yy(QeDC6v%Htwv~gw8vhs<639xQTSxKPlq>{jdab=TBOHL1Tt?Fb&CY4Pt2_S#h zl$9gBl0ZqUG!U%_RFzFEA2+!ry{c$*MvF57lS|7dMkhhAA~3n4d}1d{<+G%8!noMv zD4gk$SvVVcpERz#1SSL`lg3rT^3wyuFBlf+7U&xB^hZ_cwXxFjNU4zQJ-uu1z842h z>KZwTFJOPjyipD<v?ykVjQC%5#vbsHCh1rXlC0S z6o1Ih0;`jC&A7>vDFNLrPIr(@TZlbP^+TjqOmGb^kvO8qILNr zTf-`1lS|4^iUuN3jBBDZtW%V&6;n#fDQ{h?PA3P@VPJAuc_|94>ZDfDN2jJBu=I#T zq+Z<$lvPBclLKRlMh&}Q*qAYwv^qDjG&*HktV{*-v`H0#ah0Wk85OZ1ovaI-;l;() zuu;Vqju?4?Ra`W3_yyLO;pdMS78-38k2-r~XvA>q!V89?x?+n)-nLbA- z=M`ZTpa|?5p}&`RvH~MU{b_i>3S2O}I1sS5+;l5Gx8d_Qd~UI}{Cyri_gGu*id#5) z=S?`mnOj_ZZpJ5p&tI*j&sa;J#onX%)LL6^zY8B+dpjgO(hX?-f zz#ks?!vlYK;Qtv9;QrD7WWy4PHKhN5Q%@ThJbln$TE4<^FIGJ=GX3q^cgX74>45A5 zbL`xM4nCywp@$uwcLbfZtRs)=a`Z9B297)ag#4~2p46@2DjAypT7O%`Txs* zo0@X1S+Ifr4=?)vyXd&BZ8pIy`s1^f%--C%bGEf)b0Z!9vHjrz%>!o-8+Ll2+u0*8 zEC}@J*RxO0K7qcy`}XVIzi&_o(M{t3KD15_AuGf3Eg{BhhdycCsTuWp^{>@g_ftDBcbk zJ+D(vHvnX{rL4L^e6YIq0(GtKpNw`gBtgo#gp)~P%LFsxP z`_?%*x%0{91jXCUWb;iFZ}IjS_Xw+7BCLMJ>bKts;F6!!^;772;jeH`UIu)e8xmfl zvd>eU*mEQUd-c3g+23rGJ^8s)$O6^j!yY{|I3#m}R0dX19(kYq>yPF)-1RQiFZrU1s&nTd zejdxoqB0#!4GXrr|98rCbmnZYGVK8!^OUZj(xv-5GvC*Vb4l$4`DBrj7i|;D@FuF8 z@yu{eV6v2zMJZ&zRI(?N?pCsyhbhfMn(~w@ZZM+Gk{^FBPDf{+o9Pj!6c3jxU84Pv z^>Rl}mTa@8t8?O>?b$h-$uzp=7RCEvpX%yJRguZIC)K&nD1Lv>wktDV&G0B(N@u6i z)gAk?4wR8;!iLV`|2wrT(}r$1-&>s%?PM!oW?ZE^UgY0H51pH?&dD2lIf0B9WJW2U zx2tmp{(fAYowFv8@u^2X2SV3orE56F0DRU)`*vl?)5ljs_30engnn@FI=XJ}SsgG2h}DVai&xgsZbJoFKNNarOv zxtD>HZHp8a<%jeyR&hc$&`;6RM&(Hx=}9V{-(d8%u@6(33` zelG@R`!a7v1@q|cMZYjx>C688vJU5rrbfDLZPX90R=OT1n`M1lpxh$HDBr5{t5sTU z_Zw&DEXl|m1hZ*~f^M&+13}YcQB3t$gQrGHr|p<3%(!X)n4&S$6m{+OWJ60VgmbRU zI6r4nC}&D2XL=}Swl9=3&o?yZ7GDWYRC}Emrq?(*PFth&UrKTRd*$tZ!4~$hsxklrRx&xd&FDs45#%NjYQkp$Sr>B2QjlY&u2Ez5?Y_h zwA7%YH3n53tH#Mym~%7}(Ldveo=ovs9jx^#FRJ^oXbevLBZGGZCp~;U)g9XU;zROF zlsv^6Z9#m9KVY-1}5<_6wi?LhS6HZW5f*y)#=%R;deqz_$;Po~4dC;^{w#vS5Fn;{3G-JEW)6 zfs$OHPIQ8Qh+m<&mB}-q2D}T;DUPAgEQQD4E@)lV96KBFA>KiUvr2AVorhGYn1#k;?XwLa~#t)P4SEHi=VV{J26}F|599x z`Ej1!KP3HcA1=h@_+IX!bk*QU9n;qxBAs^DJdM%ry^6EleEMOfzt2&UaJ_q6$hWu7 zXF>J-l#)-W31N4|UsCdaHst9?Y03Vx1M&p71FOKP-Yq#!a&G6=D?L{mdNwLO9hJNo ze?x|zlqEfnD$a4fMd%SHTWLxvzPS~(EP9Ne;%b_~e+DP}8;+AF#MmCYyOjLxhJ2IY z?JTbUe7c>e2kot=8L00A6klragTN_YkE?V!UxzFCWrqCGipzGT<>U#9|J;JaUV-9S z!rqpXy%eYa7)jp-D1MQ_2Pr<*;336J4Su%bR6q1>gyJ!SU!eGP2ERn{Sq2}g_z?y# zRh-%heY;xmVFtfe@oIxlQ=Hxw*0&qMDNbUl!xZxj2+;q+Mf{PWQd*2}v71nO^nQgT zZWFv6eqK+?^Iv)ehT?OL!5>uoErUM>PVGO(jp|mde+%Bhx4#xY{< zgL6qGzr&FKPVr9STPeYpTr+EL9dGd6I41i~3Q1WpufZ<8L_~h>YRDg=_%MSXA$U70 z&)~-@d3vp0-?}RKm4^M@mHbdczK`NP4Nm{@8?BZ%8hXx9^0Gd)q&!SU|U zKfN7BemKkE7Yg3aDm3_I;9?xB;tB_1o2>L)Wyn`5{uhH!SG?NbGZm+wvCy|_#d#dd z=l-hrONKnHQ&PK1{XA`4KkihV>mApN`xU4EQbL!fwN27SGN|D)o3J%7_n zjudaa9?sX%cP7T?=0-o(!8YpW4));3d2sq|khb*DxW6qiD?J}7J^hp)8a?#v@Zeb<`sqIsBs)8)2{F%`^E~8__2BtRPv?L%knQa1A%BXJ z|G<#%=^;PBgP-BShk5W39(;@kzYLuGv;KIQFR{*z-SHmsWgfiTgI9U*>pl2v4?f?6 z-{HaU_27?q@PB*o=REie9{g1gzRZJPg8rnfdhwQr{2Fj7uOm*9<@GoDWo=aa--;ih z_?I4fQc8ZAlAomHe^k6jHwh*x-lX_#iWe$=0G2|?p7#uXxZ;PXaX8OU4+U>4zsD*0 zGnIUn(%(z*vlLg$3f3US#~3`U_;|(Da)31oysdOE@!;b;c$o*U@ZeLy$v>wlhc&8v z&GL}H$%8NO;P-g&hdube!O5QbGo&GpD|?>ukbmBTzv{u4dhpdA`~wgEr3e4fgZnzP zUA`SXcnF;Q@T(&oAns3K_Ye>HV?6lD9=x9i9|BJ4UUQC2m*ev+#b+xn?r%V3jNEUv6t9EfjXH6%tX#@Wr!RG-6{UBg@FJZ> zZ{Jx_ymC}hRvERT6YvI)+^d>4Zc0_8vXo@5shCv=(zC~-Z82wA2)@*%PT7JS{PnwvZ5uW6U19)R?p&L{pe3` z`qPL0^u?w0Vq9sZRaP;fgiwFHNJOs*A=_i|)>Xv9n@%OMYo^e-0d#;j`|y$;9R}&o zK>Bkk{W;AlsT?;A?<3)5C8UaLDC2adPj7iF3{)mZCYO%G+e}he<|8)6ik6p76IVqg z!i!nZ1((rVkwTTQyAKQ(Z%Yc)PijZ5#UZ&Siq{S0i-aghNV3U&23UCGF*0eg$ZH>A zd>>&wyewXBBXdQ@`U*Gom451LMXo844#ESIkm=iB{2d_v3I+Xyd_N)IuP^a_Lb9Kb z>?b7qNy*d1Rr0Se0S~2-yx8v-6y+Hq!{z&vbgsY9-d||%FZA|@O;tT%{8ai9>idhN z`VX+8;?**1d~5>Zt|xMWy`C~#{ZF;#ns^lW6Q%|$TS44aE>0_ZH_6*`pyU9Hf0uy`o>1RzY8{ZT0g~G?{bybL|$fU6p zEIm)NrbNe8B7}P)$8rbp8|#VCnK7lbXMbE$Ue&Xob!}{1d9-J5tE_x%tg5u9u=UiS zHFhlCkBnSBHZtkzvGmfOHLaquq@;9m*)@1+ud>RT7O9F%szf1`;B`4`3jW}YyU65< zs#07Up(MtRAB)#AtqHO$rc>n*p-oK#UU8*>hSg=|Wl?24UhM-A6@zw=KAH*2*z_pg zMYN`KHK3g-6{6Z+Q$eo=TJ+B6v~iQE(oiFU8c%QMPMFAh<0o3zlwO0&;EC~7Q^rL~ ztE`f;Qful2QT-=a)8#v)FdZ2wuOP$4ONXNNh^)bpFolk(DVuO&u#=PlgksXob*5;SEs>mf%fL`Vy~%(oSjlR4axzdc_Vkv*mc1+bW%28ksr; zO)-)|qT*d#w1?3ds8$ov*j!ykZ702{Ej)ui)Ev{Xb+y*~sC{ak(2SIq$QMGR6%!{; zF6Gu!d@JwEefUbWP|>m|-ruDnlY7%5)5=PslgKC3)LYZX;}ub~>t!X>`m35r&WTpQ z+vQw7xL&>0Nq$4%O`lvbt^^gKN@i_bi8X~nB@z|hCIR?Gw)-j^B2~f+!GwRvsIo`} z-isy^MGVPzVJoIcQ7Z81k;!FKA{8h;lrjR6!q}QV0byG;N$yWCy9Vt<)DjV{jKpiI zB!>jXmLo(bh~`_`H@2d3ES==+h$@TbJUaI3@g*t?>Md$ZI(aOt5(=nyQ2n#IErvB! z%Q_98HR?Vn&j*;lulRZDI_9q_eucsBQ~aOW`q*ud!EdvO?LUf>9!$}j?|;*MUD}v0 zipXQ}pCoGh1;xKLGI5D27gVZ`>4TLp8k7!T@R7hVe3O#Dz~F5EID7Jvhy4b$Pa*=C3+uKa4Oq`{4$Ivz~t$ob|kFaMr`mpR)a|$5snP z#C3mmR^0UGWtu#lV?RtaIP1U7;OzfL49v_%K{G8TX2DiFOyVn|gXTId08a%1^HwJH1e4D}jO8-v= z|5eH3XJ5p|aq_L=9S#1o;)fcXm?67{8zuu5%|I9Hs`!iv1F0b1R&i3DJa4z=;4bJxPv$t#~`|U+Tp8Zf~aF+kT z;4Ht@;A~H$!P)-p2Iu_lGdSzEi8;%#^*1t7g0K|4ar}2|DF8r!{$!1J*Yx+&^yvN>sLAVoF4A}pP0vUVJ(p_ox}M1%^3y%! z|Dwt3{#mNYlP`FD@}4IDfM#dPkmq^IZiDmqq`i6`gZxkWd3@5(;51N!9P=azA!lVM?V^z?d+tUhv9N( z`GXD4@<$q+``_aY&i!vMgR^|l;4FWZ!P!5f49?|piNV>x(f{cvGV`j2Iq2o%-~#(Pa2%(zt0(*$3Ke<&f}%U2Iuk2GK2H@=Usz;q3qva zaL(@*gR`HL24{cnG&uX`M73bb@y7O?VsOq^e}l9BK?Y}gLI&r0dal7)|9J*ydoDLP z>xmeg`NZICf7*j*9o9O(Y|n8XysyDo z|Ct7VNtNR`gKtoLqQP0ubp~IrY7EZlKH$M$FgTaXc8#BgEWReQY3((5uDTC$qp4{8x}M`bcpr`HdI~kJ>lxv}FV(oNr%dCzo~a&uo(I3jgForPUs9an z>Yw=RQTKV*d+^USPCn)GJ^V-z7>wCc9T)&2Dd?2plcrMcT-!*=L;*{o{8lSFl z-EYe@J-VH5d+<#j{7Vo1qX*yP!L!u+p5&jPX1}d*J-pl3}2LD;<|Ipw&6>l;)r<x|=C}7W{*=Z)*7!3TPiy>HjsK|e=QRGS;$-I_jkiA<2iVA-C-LEWeWc=? zFP;~iWN;o2pJH&HFPv&{_RrahQ@T%U>0V&Sv!1aA=X9qUoabNie+p}9-*|j@uOZLl znUx0T^8Mc6Z2zwYXZ<;}SdWeU#`*^tob@*tob|kKaMqKdUU*{ttS86dynb?&!Fm0p zufcg-be0GIlfhYksli$Q4F+fZFDXvt{vbXaZ)uG`ukk$^e?j9p0UTf>Jul+JdX5O- z02}d_@L}F9fCFsA_4?8)KvZ(Qz61jTi*h^zyR2uJ;-p8fFOwDLa(RtzZeW`p5MRyl zuuSnA6(>Cl@nQXUD$aUX{sDupRC*paIH&uR!GBWi*e1m(-Iwvz5 zK3rY{G_K2EtZ`j_vf>%gaki#sswS`d;YLl~(d6fP$ltE<#hUywO;3@=-_+#q*7zEY z>wfc{03mD{_>eDnJls*^=YX?+4pN+CmuUPbO+FKxx6?KGIzZMlRFfxNkE(JSqscGT zoj>izq2&1>%U3ky8c@<{i8Jf_h|CE{)aUAOvwB3q3tnE zUiZ&a9{hQYufX+OE_E8$8zpcrCqVbC~zQse&4;o*t$y+Dl02`IN z&TS8Vj0Zo(gAexLXKVZ&q|I@7p2qcl|4$m%-Bx2;uNP3MHTfq!dTdp!7|^soyyDqp?d@1;1m z|2%IB8l2~Me=<0?|5s}I8;}N<<4ld~rv98^?CQl9`d_Acn5lT3mca&ubU0@;Aa`UF(R+OR^z7u zZSYBclj4*w-Ojr-{u$13e%ESx=$iFvT>Y8BS1TUqF4JNAnV)3vWlFw>;-q__mTo@} z`5_+s98J$=P0x9TJlj9Xh@@0vnghdL`e%;JkjGXK=Q&r@=YD13dUpgJ+dUJN|5Nwx`tKyiOj| z_!g+(_`FeZ^0Pj_PH6lKP5uE*4_(84PHCL#%f)mO+b)e0x*=a+%YTaeW`8n2z~skE zxdMZ8J?&@kWlH~<250|=4Sv1SKhoeVKh5BArGK5`l&3H8VSoN=$gfuN9eNu1Rq5uK zT*)72@V6B|RpaF6o7+jf=V;syG*8KwdhlyK_%wra{LeBt$J+vfbGr9>@P`e~`u}Bc z*8j4>=c;_IFgU0Cw#Lan^m`z*eXViw52wpNxW#eE{a1D`aanVHXP#$pw&z5RZ^5M; z4?Pv9H1+y*rpER9Rix>mYdBvQ8T^0}Y2QSHv;1`){3Z{6v%%T_w;P=O_Nc)*-Df=b zLW8sZ#Rg~n?--o*Z}i}s4bFOY7@YNF_LlzRa%bMr;H)QLaF*|_aeX`-()d^;#qn^K z;#9WxY5XEhp3bp<{%mk=&#yH&k4xtmoaJv)oOC~-rF*L(&-uFFga5`d>6S+q2l%s5v;Q#XAFM9CB24{QTH8_{o`vzaB%Ijl;v;99BoaH3xwHf~q>`JXa_H>h;0Jot?s ze69z-)q~&b!5{PBPaB;5^NPXQ{ss@e-h+Sc!N2q1dpvm7fYyFyJG&U1}`dQvJINN!j!CC$}gR}ffgR}g4jbDj$InFm} zTp#a!r8wDmrzZc4CQs+s4;@d%0XB|*Zm$kEIJXbSYkVB8V|(!PV`3xSUuit7aeaPq zsitSVCO_6g{whtL(%|{;G=p=#;vU>JIFI*kGdPb=?lw5fe`Rn^cdO!Lj`U|c5m(^#I2DUCq3+k zD>YsU&go9n_}?`?S#i>Fr^c_-pOrmddhj1Tcs4!ki;c^d*YS=tIG4)_2Iq8p8l3ARe#Wnr{%@6?Lk!OK^b&*f zIA?~zS$?*`dA{~HgR?z%8JzV$W^mTOO57Spz$pl|3c$GX#5k6Z`XKI zlCN*ouKhK8rS2$R?~B*CjWO$o@`=&-e++3+ryfk zhc!LV81k&=C4;k`r3UBwM5_(X?b7=O=ik5DVsMsE8=TYq!Qfm^+n*;E6Zcq9eJiA2NG0fns=NyBxJ%2Jd`)8cuRJM=c!|`^bA{kgR}l!250#ugR>tB2f+wzT#lUX1qSDN#FYkTJrfMh z>0ax>uQNEOJICOhuUdn1x=$%i<+T|fF0U61dDj1y!8uJ>!{m<#1sJNN09)>*Y?`v?@bFRVpKEgPSQ2?-eqeH+)ccvi z`F{78n*Oa2WqWpO{3(q$Y5ZA@w?9*+Lv}u=@m$3zUsq}TNKO7pjUTVclP=CzHxJ(5 znHBRy$+*w1Gw&gIVXV?Fp> zO;1YG^M=NC|G%l}nXJjbr^)O7|3>3?Y4RNlae$5N*YlfONK|q?-6IPH7V&%yb~(TK zijy8a-2#p4`Rb=}y}m>gXTL2{DH^ZU__Z4Uo5m|O{;;NBpXWZQ$?N(XGf&ZvRyppQ`D< zR^!t&K3(H_zW$;(*{|p80gdbBzEsnruM54c@#$K+8#J!3^L(N48Jhfe8vjn?yEJ~C z#{I)^fGqi6%%@DMB^vu@eAJe#Q|I?ZtJ+78(@?s{YSQGFX!0kVjRS0yroN65RNVCcFirk`T*Lk!@1fbV)kDvAOr(>?Uh(&TmhH)%Ys z=}Bl@Pxnquzg}JsX!4~0J=HEftMLL&|00c_tnoKAPLDdW-`>?Y>F0iGz2e05_H(Dk z_3=PP5d^VOdC@gI@6Iy#<_JkymTho;kG`|wq~jNS*v{h(dDhe0;5?5$)8H&0HaMqy zzQK9D`bvYd{6vHE`as;^obF!@&g%eA7@X66#^9W<U>ABPy6?Yzw3{Qv1*sW|!bMSR%)iH1DKZMnf&f6U-~pXCOFv;DP- zQ@Z-N>kdPn?R?PS?4N&YdS2J;f60*NbQc?(^}K0t&ewW_vppXvPWJ2RCN=rLY4-f2 zak_@>*==yPr(H3GuyH+Ndk!@?$Ik$b>v4Fd#`QQX)i~M1dagA%+d19fY-ilyZ0CG~ zv)^u0-1OVihCJ8z7Y)w+(JPvsM`1t5?Hd|@UgHfK*T?Pe8TvV28x79w)#nE1_Uaph zv;Er)&h{TU0>)t@Kj`h)5XHINx!z4QIP1U0;H9Q z;KP2NX~-9<_HdEG2P?kV;GD0G250$iOfJo~_8OeqnFB_(&KKvmi@~#%o)a{lspYFc zm@R&25m&;kt2Lti` zYY8qqR0X$w_y|0#_*%I2=O^LcS3i6v;KA*_Pwv+x*w0@K#QU#}>icr9!EIc8Ie|~Q z!ByDCwXN3_xV6JnxUJW8c-W;4eOJzQ{(Hn*{^fA1&-HN2zXERcSsCzPdlt&so{@m> z_Udl!_Ah}v{xa6js{--CeqM)otIuw@t=F@GJbMD=?hC{R>)$$o|0dvmJ+0hBa4WZ4 z?#DI+%6%X4mggwk@(fOpXY!3+Qg5<;W&5kM;c4psGvt1Kg6%mA@it!O!`1!2xh#+; zxE(VQZ~K!qaN7?T2RzvRn*;9GHQirHZz`4hHs(K6q3wvb?*Z-zcrgFZ19^hu{pmow zUxw|6e+jqk(h~4s{+B1n-w}xS^IJWC2e?UHn<&se-F3*{Lut{Ual+1#=FJOoxrbzTYZ+ptv!DL zxAj^BxA)sOz^#3@!>yiA1U%UOyX9>EcLMSLYgV7H;5JTItvI=T?0uLLxWzvr_j7;k zJ*=LO1^kJkSf53RxB6T$L3|eCt=v^`EBDSoo|n9`t)16T5WfX(^(mVm&-Mx8AA#F>_^t`^ zJUKyp8{EF<`RfVtbWRX|7@j)Y-+H0YIXAm!e>?8*9@ak71OD@X&y@SyaaX`o1M&WA z*8a-^@%@4L>kx14eCq`9r2&5_kY@+-bgcGX^rmjO)u(TQJpYY&tIy{X#4pTq z{Fll7HrVGqtUZ?@-tu2RLHr$vxBW)x1pXtqjf-7y8^2G$Z9m)yxAxoz?^HX#2=9`= z3b*r(*Wp&~Z{b$Yx8Z%tKjoH_+uz2;9J$~AzYMhhf(hc627GTIe)R-?Pr&^$tlZ;p zYq!tg)^1~PYq!6-)l2G4)~~GHrogS;V&T?q=fSPrt_XPW{ko+A558Y_Q^5W8wSJW+ zXFIP%ysg)ra9gj9fjs}~<+t(Tw}C(T?chJk{??y!?_2rL=F8*#xlkzDJ&k*X;_ZCj z;w$B`h_8~z!PhCjp2qY4P+-@!mj4xb7)`Ln>){{B8{kLfjqt=74w~SfD83nfT;2lzOx_CrLf!`dnYcEO|eCwtN6SS3U@zFCT(0ln=wB5uUD0j2mKF70o z8yEI@oq4O`?ejYG`{jAaZ^xZ{_>UD|0RLBcA^c%^5qzh-7`{th0=MH%1pbubOW}Lu zWpF$0l*9Kbz5>2aUJ2hXuYw`YjPIf!g zet3#}0G=uzgr~`e;OX*V_%itjJX1ajZ=dJtIR<}Fe&Phs3$gvcHhGi}0dJE>!!3Ud zyhHJ^@cr^Q_$<{w9zI*1056t@;alX1@Q6GKe!n~!UM5e0m&;S(74kHAr92&O_xsC$ zS1UdfULenc&yi=t>*P7`dU-CqL7oS1l;^{nW`g***jDNl!2$ur>9@=W+2%d6pb|DziC!-}tk@08cUcggGFkINh2PstnMd*n^< zE%IjgPvtG}eezcLet8?*?#I*)e^v1vaO)49aN90j@HdpF8-7UM1Aj~23qLIHgCCLi z!<*Hw2H?l#gYcuuGXy^-ABNj~yGG#06+a69Og;wxLLNHZjVBxLU&*83Y4T|Jq|4p% zG4RRqSol7*LmYgn;^X1dc_MtKJPCf0JQ+Smo&ujIPlaD1PlMa|N{7Fo zcF2IwRh~@vQN?G$kIA#)pU89I|ET=A@ayGy@SEiMaJ#Qr0sJ<_7s6M{i{Pu}#qhQA z68JiK1in#T3g0X*gU?WZE{AVZdIc>$gAOh_&YaVYTye~oY%rHmDj;9 zlh?zqlsCZbe)o;=s}KUKPQiccj~+}4t`7?51+2{&jfgs@`vGz%e=N^|C#Smnx$r+JJ`et9c|LrG z>Qex}MqUU%P3=$wKV4o7pCT`Te@FF?z|U2DDSV^i%i!lLz8rpmyaGN;UJ0KquY%8& zSHmBc*TBov&b9FC<#q52<@N9bTHglv(;7#O@GjM-34Xb}89t=^E%5i0zZGu3tI-C( zMfuy|G0NWozvxoeZ#&`hbY0m6zf1YM;p^o+@O$LF@Mh)jgGcN9svmxz@(jRdDt-`d z*Y!j2LG2HR;bZa<_#}OD`0MgSc(*(W{;c{{GJLN*1-?(73g0hJgCCHm!(WwWz+aPR!Vk)` z;BUyY;fLfo@VDf-@Wb*v_*8j5JS;DOFO(O;m&%La$K=KEo8=|&B6$S9RbC4JLS6>{ zN?s2CMqUA*r1SPl_+)t%{49Aje5#%Q!>7q>;nol9;P(3m_3)X>(*VCn-Uy!~Z-UR0 zH^VQHx4;+6Tj5LOZSX7P?Qr|ug%0>4#dpH9v_I^Eua$ShAC>pOE3`lCh5x&}4{pC_ z)(<~h$K?U|Uil#0eot!%9;4&PFg#g40zX~nlcVrAl)`RaJwI0D}0Oc zw86K@+u?Sfz7F_y#dpGURi7?+p1d2LFYkfx%yR413%C3I^}!!kd_Vjt`2c*6d=UPu zdomgHiBUEIdHq5V=jD};`89=$@Aeeb*&p@6JkN-%XgZPi-vHE{QwqBpg zUSIcL_Qz>~JX-zBe6>96#rTu|vO-SG>+OSa&px4{kc}^k zZQ*?h0+XRn*5s*pCs@0NGNUy={NKah{YmukIYRK6ePKUUiM!v9B}3qKa+5*NX* z)AtO@;2+AZpIEss>%7FauldHaT>dB@yvcl5jGNDZpLw?PV)*TH{=cM0&vEg8_5Wq2 zI#1AgTe+?B9QfU_Di{7Uc{%)fIlup(d9KUD@8@rp^ZV+b%agPnte$Uv%jL;{KQPTX zzo+`0>CXB6%$vXMoZna6Bag%PN!~oq#TUTsJ_cp*i~YgpO*QZ%a(?gV%nMvRzsK_N zOy}`uxMypJxUic~g)fsAz<)0(m3e%|ptIX{oMMjjRIma}%wl_$XOkf*}$l~=$Iq`SO) zzwY3b&iOvry6-tpn{sk}mSnj32z<^}&UxLpd#Q6?FN|e5=Xvk?e^7p$2bRm5;dMGN z^uQCZb$PpY;w;<_SdF0#j6%X)|5s< z3kp|7R)rSav3YZ7!KRJ=j32(x`*G!yW*2(1{xU8^Gbf@w_H;q<#?`BeLkm`KT)%$J z1~2V~jgd7AmR+}E{^rQ4)$26BcEi03N;YjQS+gm!RXNrat-N#7s`YDB=l{o3*jv^= z#AsNKXUfoD+pS$R@5crw|28E4E;1vC-rvo?aFF-U?%Cg6`^&1khT#Mf1{XCe}P;6kLssxE))veA9}vtdp=eBM^ASpWPRTS`t9%U z0yzd$EV!6pM<5Pv~F%$@l&|RrxtO(Xsyr=9lm9N?3lxGr#;4?-883 zH@G<+#>QWAYvq>l@jmZiHXh{tF{I^#=KsyuhdlG!1*;hv*7B^E)!)zMPtSM{KPQ(D zZ}eaF?t6{x$K~t2m{YZ1Ql6`+eb3BqzjM5YEpOZJRAqZ%p;3*ycm?{WIXh3WyuVGj l?L7*``oZ4x3mrGz++Vk!pZ8SDcmI>C|2|t#&rbh>{|BAe+dBXN diff --git a/x.c b/x.c index 2a4680f..d76441f 100644 --- a/x.c +++ b/x.c @@ -1371,6 +1371,8 @@ xinit(int cols, int rows) xsel.xtarget = XInternAtom(xw.dpy, "UTF8_STRING", 0); if (xsel.xtarget == None) xsel.xtarget = XA_STRING; + + boxdraw_xinit(xw.dpy, xw.cmap, xw.draw, xw.vis); } int @@ -1417,8 +1419,13 @@ xmakeglyphfontspecs(XftGlyphFontSpec *specs, const Glyph *glyphs, int len, int x yp = winy + font->ascent; } - /* Lookup character index with default font. */ - glyphidx = XftCharIndex(xw.dpy, font->match, rune); + if (mode & ATTR_BOXDRAW) { + /* minor shoehorning: boxdraw uses only this ushort */ + glyphidx = boxdrawindex(&glyphs[i]); + } else { + /* Lookup character index with default font. */ + glyphidx = XftCharIndex(xw.dpy, font->match, rune); + } if (glyphidx) { specs[numspecs].font = font->match; specs[numspecs].glyph = glyphidx; @@ -1635,8 +1642,12 @@ xdrawglyphfontspecs(const XftGlyphFontSpec *specs, Glyph base, int len, int x, i } if (dmode & DRAW_FG) { - /* Render the glyphs. */ - XftDrawGlyphFontSpec(xw.draw, fg, specs, len); + if (base.mode & ATTR_BOXDRAW) { + drawboxes(winx, winy, width / len, win.ch, fg, bg, specs, len); + } else { + /* Render the glyphs. */ + XftDrawGlyphFontSpec(xw.draw, fg, specs, len); + } /* Render underline and strikethrough. */ if (base.mode & ATTR_UNDERLINE) { @@ -1677,7 +1688,7 @@ xdrawcursor(int cx, int cy, Glyph g, int ox, int oy, Glyph og) /* * Select the right color for the right mode. */ - g.mode &= ATTR_BOLD|ATTR_ITALIC|ATTR_UNDERLINE|ATTR_STRUCK|ATTR_WIDE; + g.mode &= ATTR_BOLD|ATTR_ITALIC|ATTR_UNDERLINE|ATTR_STRUCK|ATTR_WIDE|ATTR_BOXDRAW; if (IS_SET(MODE_REVERSE)) { g.mode |= ATTR_REVERSE; diff --git a/x.o b/x.o index 194d88014d9d7aaa0b83225dce3d341d0e6c4759..9aa2ae0941e920b25678691e649aeb2743eaba5e 100644 GIT binary patch delta 25734 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