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.
This commit is contained in:
Neil Williamson 2024-11-25 00:14:52 +00:00 committed by Ben Harris
parent 59f4b63237
commit 69166f2639

View File

@ -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),