From: Neil Williamson Date: Mon, 25 Nov 2024 00:14:52 +0000 (+0000) Subject: Correct separated vs contiguous flag in ZVBI compat mappings X-Git-Tag: bedstead-3.251~93 X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~bjharris/git?a=commitdiff_plain;h=69166f263937481e0ea5feac62fb07323b8d7d0d;p=bedstead.git Correct separated vs contiguous flag in ZVBI compat mappings [ from email ] One thing I wanted to query was the ZVBI mosaic graphics codepoints at 0xEE00 to 0xEE7F. The ZVBI code says (in lang.c): " Table 47 G1 Block Mosaic is not representable * in Unicode, translated to private code U+EE00 ... U+EE7F. * (contiguous form has bit 5 set, separate form cleared)." My reading of this is that the separated forms should therefore sit at 0xEE00-0xEE1F and 0xEE40-0xEE5F, with the contiguous forms at 0xEE20-0xEE3F and 0xEE60-0xEE7F. This is indeed what the teletext1/2/4 fonts commonly seen in teletext recoveries do; see for example https://al.zerostem.io/~al/teletext/bbc1/1996-12-28-0008.1/100.html. Bedstead maps these the opposite way around, however, and if you swap it in on the linked page, all the contiguous and separated mosaics will swap places. --- diff --git a/bedstead.c b/bedstead.c index f6eaba0..1fb5e81 100644 --- a/bedstead.c +++ b/bedstead.c @@ -2374,7 +2374,7 @@ static struct glyph { /* Private use area */ /* U+EE00--U+EE7F: zvbi mosaic graphics */ #define M(x) {{(0x##x & 0x1f)|((0x##x & 0x40)>>1)}, U(EE##x), \ - (0x##x & 0x20 ? SEP6 : MOS6)} + (0x##x & 0x20 ? MOS6 : SEP6)} M(00), M(01), M(02), M(03), M(04), M(05), M(06), M(07), M(08), M(09), M(0A), M(0B), M(0C), M(0D), M(0E), M(0F), M(10), M(11), M(12), M(13), M(14), M(15), M(16), M(17),