summaryrefslogtreecommitdiff
path: root/foot
diff options
context:
space:
mode:
authorTim Biermann <tbier@posteo.de>2021-10-03 13:24:58 +0200
committerTim Biermann <tbier@posteo.de>2021-10-03 13:41:57 +0200
commitbd7dfcddcc19025ebd3fa9ca1fae571baca810f0 (patch)
tree84f22679d6e9dc157a1b7a355eff60c1b706ca6f /foot
parent1caccd34021b0c97f95e4dd4fa45bf2a5735a959 (diff)
downloadcontrib-bd7dfcddcc19025ebd3fa9ca1fae571baca810f0.tar.gz
contrib-bd7dfcddcc19025ebd3fa9ca1fae571baca810f0.tar.xz
foot: 1.9.0 -> 1.9.2
Diffstat (limited to 'foot')
-rw-r--r--foot/.signature7
-rw-r--r--foot/707.patch281
-rw-r--r--foot/Pkgfile7
3 files changed, 5 insertions, 290 deletions
diff --git a/foot/.signature b/foot/.signature
index b20c3de55..609aee653 100644
--- a/foot/.signature
+++ b/foot/.signature
@@ -1,6 +1,5 @@
untrusted comment: verify with /etc/ports/contrib.pub
-RWSagIOpLGJF32tSpOoeIUKDCwQUo54RWXQLpY+U2oO9ba6vgw429g3Zb45ivpXq+i6BnrDUCBJ/00v5En38RXmoca6e/xyRHQo=
-SHA256 (Pkgfile) = aa2c6f701b119ea6ed518bb38213e1d1aa2f372ad95ccabf1229c41062cc3985
+RWSagIOpLGJF3/vpT2ZGxRmicnbhNor6UcfjB+1x2JltJHwFc4tvTjkqdiimeb9gCGIvVrkpzTKQabK7aQ7iVuJzJ3h0hTifIA4=
+SHA256 (Pkgfile) = 24ff5ca7e23d22a129fcf0e4557013b7470482b9ad425949977fd1ad1e927719
SHA256 (.footprint) = f76dfde5d81cd8d22e330e3f448b7ba451f4768a15e66af5f5b99fa44f523cec
-SHA256 (1.9.0.tar.gz) = ddc3f90185ae75badcb2d6abe772d54fd6defebf1ed4111861a9c4afa1c73a4d
-SHA256 (707.patch) = 5e505da6707963450c5405ed81be46b66eeee26e89ba44e72cd3987850073273
+SHA256 (1.9.2.tar.gz) = 5859d8d7293da4c7c52f45a9756fc7989edc364057e8b86b4e1fbea7bc2b4009
diff --git a/foot/707.patch b/foot/707.patch
deleted file mode 100644
index 76d0f9382..000000000
--- a/foot/707.patch
+++ /dev/null
@@ -1,281 +0,0 @@
-From 171d3657dab493faaef2fdb209bff1318aa82d2b Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Daniel=20Ekl=C3=B6f?= <daniel@ekloef.se>
-Date: Thu, 2 Sep 2021 14:55:26 +0200
-Subject: [PATCH 1/3] box-drawing: add braille characters
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Render braille ourselves, instead of using font glyphs. Decoding a
-braille character is easy enough; there are 256 codepoints,
-represented by an 8-bit integer (i.e. subtract the Unicode codepoint
-offset, 0x2800, and you’re left with an integer in the range 0-255).
-
-Each bit corresponds to a dot. The first 6 bits represent the upper 6
-dots, while the two last bits represent the fourth (and last) row of
-dots.
-
-The hard part is sizing the dots and the spacing between them.
-
-The aim is to have the spacing between the dots be the same size as
-the dots themselves, and to have the margins on each side be half the
-size of the dots.
-
-In a perfectly sized cell, this means two braille characters next to
-each other will be evenly spaced.
-
-This is however almost never the case. The layout logic currently:
-
-* Set dot size to either the width / 4, or height / 8, depending on
- which one is smallest.
-
-* Horizontal spacing is initialized to the width / 4
-
-* Vertical spacing is initialized to the height / 8
-
-* Horizontal margins are initialized to the horizontal spacing / 2
-
-* Vertical margins are initialized to the vertical spacing / 2.
-
-Next, we calculate the number of “remaining” pixels. That is, if we
-add the left margin, two dots and the spacing between, how many pixels
-are left on the horizontal axis?
-
-These pixels are distributed in the following order (we “stop” as soon
-as we run out of pixels):
-
-* If the dot size is 0 (happens for very small font sizes), increase
- it to 1.
-* If the margins are 0, increase them to 1.
-* If we have enough pixels (need at 2 horizontal and 4 vertical),
- increase the dot size.
-* Increase spacing.
-* Increase margins.
-
-Closes #702
----
- box-drawing.c | 88 +++++++++++++++++++++++++++++++++++++++++++++++++++
- render.c | 15 ++++++---
- terminal.h | 7 ++--
- 4 files changed, 105 insertions(+), 7 deletions(-)
-
-diff --git a/box-drawing.c b/box-drawing.c
-index f246fd01..a1940392 100644
---- a/box-drawing.c
-+++ b/box-drawing.c
-@@ -1953,6 +1953,92 @@ draw_quadrant(struct buf *buf, wchar_t wc)
- quad_lower_right(buf);
- }
-
-+static void
-+draw_braille(struct buf *buf, wchar_t wc)
-+{
-+ int w = min(buf->width / 4, buf->height / 8);
-+ int x_spacing = buf->width / 4;
-+ int y_spacing = buf->height / 8;
-+ int x_margin = x_spacing / 2;
-+ int y_margin = y_spacing / 2;
-+
-+ int x_pix_left = buf->width - 2 * x_margin - x_spacing - 2 * w;
-+ int y_pix_left = buf->height - 2 * y_margin - 3 * y_spacing - 4 * w;
-+
-+ LOG_DBG(
-+ "braille: before adjusting: "
-+ "cell: %dx%d, margin=%dx%d, spacing=%dx%d, width=%d, left=%dx%d",
-+ buf->width, buf->height, x_margin, y_margin, x_spacing, y_spacing,
-+ w, x_pix_left, y_pix_left);
-+
-+ /* First, try hard to ensure the DOT width is non-zero */
-+ if (x_pix_left >= 2 && y_pix_left >= 4 && w == 0) {
-+ w++;
-+ x_pix_left -= 2;
-+ y_pix_left -= 4;
-+ }
-+
-+ /* Second, prefer a non-zero margin */
-+ if (x_pix_left >= 2 && x_margin == 0) { x_margin = 1; x_pix_left -= 2; }
-+ if (y_pix_left >= 2 && y_margin == 0) { y_margin = 1; y_pix_left -= 2; }
-+
-+ if (x_pix_left >= 2 && y_pix_left >= 4) {
-+ w++;
-+ x_pix_left -= 2;
-+ y_pix_left -= 4;
-+ }
-+
-+ if (x_pix_left >= 1) { x_spacing++; x_pix_left--; }
-+ if (y_pix_left >= 3) { y_spacing++; y_pix_left -= 3; }
-+
-+ if (x_pix_left >= 2) { x_margin++; x_pix_left -= 2; }
-+ if (y_pix_left >= 2) { y_margin++; y_pix_left -= 2; }
-+
-+ LOG_DBG(
-+ "braille: after adjusting: "
-+ "cell: %dx%d, margin=%dx%d, spacing=%dx%d, width=%d, left=%dx%d",
-+ buf->width, buf->height, x_margin, y_margin, x_spacing, y_spacing,
-+ w, x_pix_left, y_pix_left);
-+
-+ xassert(x_pix_left <= 1 || y_pix_left <= 1);
-+ xassert(2 * x_margin + 2 * w + x_spacing <= buf->width);
-+ xassert(2 * y_margin + 4 * w + 3 * y_spacing <= buf->height);
-+
-+ int x[2], y[4];
-+ x[0] = x_margin;
-+ x[1] = x_margin + w + x_spacing;
-+ y[0] = y_margin;
-+ y[1] = y[0] + w + y_spacing;
-+ y[2] = y[1] + w + y_spacing;
-+ y[3] = y[2] + w + y_spacing;
-+
-+ assert(wc >= 0x2800);
-+ assert(wc <= 0x28ff);
-+ uint8_t sym = wc - 0x2800;
-+
-+ /* Left side */
-+ if (sym & 1)
-+ rect(x[0], y[0], x[0] + w, y[0] + w);
-+ if (sym & 2)
-+ rect(x[0], y[1], x[0] + w, y[1] + w);
-+ if (sym & 4)
-+ rect(x[0], y[2], x[0] + w, y[2] + w);
-+
-+ /* Right side */
-+ if (sym & 8)
-+ rect(x[1], y[0], x[1] + w, y[0] + w);
-+ if (sym & 16)
-+ rect(x[1], y[1], x[1] + w, y[1] + w);
-+ if (sym & 32)
-+ rect(x[1], y[2], x[1] + w, y[2] + w);
-+
-+ /* 8-dot patterns */
-+ if (sym & 64)
-+ rect(x[0], y[3], x[0] + w, y[3] + w);
-+ if (sym & 128)
-+ rect(x[1], y[3], x[1] + w, y[3] + w);
-+}
-+
- static void
- sextant_upper_left(struct buf *buf)
- {
-@@ -2653,6 +2739,8 @@ draw_glyph(struct buf *buf, wchar_t wc)
- case 0x2595: draw_right_one_eighth_block(buf); break;
- case 0x2596 ... 0x259f: draw_quadrant(buf, wc); break;
-
-+ case 0x2800 ... 0x28ff: draw_braille(buf, wc); break;
-+
- case 0x1fb00 ... 0x1fb3b: draw_sextant(buf, wc); break;
-
- case 0x1fb3c ... 0x1fb40:
-diff --git a/render.c b/render.c
-index cfb6f0bb..1cbff10d 100644
---- a/render.c
-+++ b/render.c
-@@ -515,6 +515,9 @@ render_cell(struct terminal *term, pixman_image_t *pix,
- /* Classic box drawings */
- (base >= 0x2500 && base <= 0x259f) ||
-
-+ /* Braille */
-+ (base >= 0x2800 && base <= 0x28ff) ||
-+
- /*
- * Unicode 13 "Symbols for Legacy Computing"
- * sub-ranges below.
-@@ -531,9 +534,12 @@ render_cell(struct terminal *term, pixman_image_t *pix,
- /* Box drawing characters */
- size_t idx = base >= 0x1fb00
- ? (base >= 0x1fb9a
-- ? base - 0x1fb9a + 300
-- : base - 0x1fb00 + 160)
-- : base - 0x2500;
-+ ? base - 0x1fb9a + 556
-+ : base - 0x1fb00 + 416)
-+ : (base >= 0x2800
-+ ? base - 0x2800 + 160
-+ : base - 0x2500);
-+
- xassert(idx < ALEN(term->box_drawing));
-
- if (likely(term->box_drawing[idx] != NULL))
-@@ -541,7 +547,8 @@ render_cell(struct terminal *term, pixman_image_t *pix,
- else {
- mtx_lock(&term->render.workers.lock);
-
-- /* Parallel thread may have instantiated it while we took the lock */
-+ /* Other thread may have instantiated it while we
-+ * aquired the lock */
- if (term->box_drawing[idx] == NULL)
- term->box_drawing[idx] = box_drawing(term, base);
- mtx_unlock(&term->render.workers.lock);
-diff --git a/terminal.h b/terminal.h
-index df253434..7196224b 100644
---- a/terminal.h
-+++ b/terminal.h
-@@ -335,10 +335,11 @@ struct terminal {
-
- /*
- * 0-159: U+02500+0259F
-- * 160-299: U+1FB00-1FB8B
-- * 300-301: U+1FB9A-1FB9B
-+ * 160-415: U+02800-028FF
-+ * 416-555: U+1FB00-1FB8B
-+ * 556-557: U+1FB9A-1FB9B
- */
-- struct fcft_glyph *box_drawing[302];
-+ struct fcft_glyph *box_drawing[558];
-
- bool is_sending_paste_data;
- ptmx_buffer_list_t ptmx_buffers;
---
-2.30.2
-
-
-From fb28152da1fa3d89dc9ad18f657bb5a7c58a4f3b Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Daniel=20Ekl=C3=B6f?= <daniel@ekloef.se>
-Date: Fri, 3 Sep 2021 21:38:08 +0200
-Subject: [PATCH 2/3] render: codespell: aquire -> acquire
-
----
- render.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/render.c b/render.c
-index 1cbff10d..684c86e4 100644
---- a/render.c
-+++ b/render.c
-@@ -548,7 +548,7 @@ render_cell(struct terminal *term, pixman_image_t *pix,
- mtx_lock(&term->render.workers.lock);
-
- /* Other thread may have instantiated it while we
-- * aquired the lock */
-+ * acquired the lock */
- if (term->box_drawing[idx] == NULL)
- term->box_drawing[idx] = box_drawing(term, base);
- mtx_unlock(&term->render.workers.lock);
---
-2.30.2
-
-
-From 5d7efd22e8afc97e3eba812e7e5a007b6eaca67a Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Daniel=20Ekl=C3=B6f?= <daniel@ekloef.se>
-Date: Sun, 5 Sep 2021 10:05:35 +0200
-Subject: [PATCH 3/3] box-drawing: NOINLINE braille
-
----
- box-drawing.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/box-drawing.c b/box-drawing.c
-index a1940392..1c694627 100644
---- a/box-drawing.c
-+++ b/box-drawing.c
-@@ -1953,7 +1953,7 @@ draw_quadrant(struct buf *buf, wchar_t wc)
- quad_lower_right(buf);
- }
-
--static void
-+static void NOINLINE
- draw_braille(struct buf *buf, wchar_t wc)
- {
- int w = min(buf->width / 4, buf->height / 8);
---
-2.30.2
-
diff --git a/foot/Pkgfile b/foot/Pkgfile
index 85bf6274e..aaa5b41ec 100644
--- a/foot/Pkgfile
+++ b/foot/Pkgfile
@@ -5,16 +5,13 @@
# Optional: utf8proc
name=foot
-version=1.9.0
+version=1.9.2
release=1
-source=(https://codeberg.org/dnkl/foot/archive/$version.tar.gz
- 707.patch)
+source=(https://codeberg.org/dnkl/foot/archive/$version.tar.gz)
build() {
prt-get isinst utf8proc && PKGMK_FOOT+=' -D grapheme-clustering=enabled'
- patch -Np1 -d $name -i $SRC/707.patch
-
# doing the lto dance
export CFLAGS='-march=x86-64 -O3 -Wno-missing-profile -Wno-error'
meson setup $name build $PKGMK_FOOT \

Generated by cgit