From 666fa891f37f84c22fbf8f8621f7a4ea96bf6b06 Mon Sep 17 00:00:00 2001 From: Jean-Pierre Martineau Date: Wed, 30 Sep 2026 22:13:08 -0400 Subject: [PATCH] Braille dots fill the whole cell, with no pixel gap MeshTerm only ever draws braille as pixels (charts, the map, meters), so each dot is now a solid tile of its share of the cell: 3x3 at 6x12, 3x2 at 6x8. A run of lit dots reads as one continuous mark instead of a dotted one. Both fonts take it from the shared generator. Co-Authored-By: Claude Opus 5.5 (1M context) --- scripts/picocalc/calculinux-console-font-6x12.sh | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/scripts/picocalc/calculinux-console-font-6x12.sh b/scripts/picocalc/calculinux-console-font-6x12.sh index 49a10d8..c9578dc 100644 --- a/scripts/picocalc/calculinux-console-font-6x12.sh +++ b/scripts/picocalc/calculinux-console-font-6x12.sh @@ -84,12 +84,16 @@ import struct PSF2_MAGIC = 0x864AB572 # --- braille: 2-wide dot grid; the codepoint's low byte says which dots lit ------------ -COLS = [[1, 2], [4, 5]] +# MeshTerm never sets braille to be read: every braille cell it draws is pixels -- a chart, +# the map, a meter. So each dot is a solid tile of its whole share of the cell, half the +# width by a quarter of the height, with no gap between dots or between neighbouring +# cells, and a run of lit dots reads as one continuous mark instead of a dotted one. +COLS = [[0, 1, 2], [3, 4, 5]] BIT = {0: (0, 0), 1: (0, 1), 2: (0, 2), 6: (0, 3), 3: (1, 0), 4: (1, 1), 5: (1, 2), 7: (1, 3)} -#: Dot-row bands per cell height: 3px pitch at 6x12, 2px at 6x8. -BANDS12 = [[0, 1], [3, 4], [6, 7], [9, 10]] +#: Dot-row bands per cell height: four 3px rows at 6x12, four 2px rows at 6x8. +BANDS12 = [[0, 1, 2], [3, 4, 5], [6, 7, 8], [9, 10, 11]] BANDS8 = [[0, 1], [2, 3], [4, 5], [6, 7]]