Bedstead – MODE 7 for the 21st century

# Bedstead

Bedstead is a family of outline fonts based on the characters produced by the Mullard SAA5050 series of Teletext Character Generators. The SAA5050 is familiar to those of a certain age as the chip that produced the `MODE 7` display on the BBC Microcomputer. It generates characters from a 5 × 9 pixel matrix, smoothing diagonal lines to produce an interlaced 10 × 18 matrix for each character. Bedstead extends that algorithm to continuity, converting a 5 × 9 pixel grid into an outline with smooth diagonals.

Bedstead includes all the character designs from the SAA5050 and its various sister chips, including Cyrillic and Hebrew alphabets. It also has a large number of custom-designed glyphs, all of them of course based on the same 5 × 9 pixel grid.

> ABCDEFGHIJKLMNOPQRSTUVWXYZ
> abcdefghijklmnopqrstuvwxyz
> abcdefghijklmnopqrstuvwxyz
> ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ
> αβγδεζηθικλμνξοπρσςτυφϕχψω
> АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ
> абвгдежзийклмнопрстуфхцчшщъыьэюя
> אבגדהוזחטיכךלמםנןסעפףצץקרשת
> 0123456789¼½¾!?.,:;'"‘’“”()[]{}
> -—+×÷<=>/\|£$¥¢¤%&*#@¶©®℗

## Styles

Bedstead is available in six widths. The standard version of Bedstead is based on a square pixel grid. This is good for displays with square pixels, but not entirely faithful to the SAA5050. There is a second version, Bedstead Extended, that more accurately reflects the character shapes generated by an SAA5050 driving a 576i display.

To simulate teletext double-height mode, Bedstead and Bedstead Extended each has a half-width version, Bedstead Ultra Condensed and Bedstead Extra Condensed respectively. Bedstead Condensed and Bedstead Semi Condensed provide intermediate widths.

> Bedstead
> Ultra Condensed
> Extended
> Extra Condensed

Each width also comes in a bold variant based on the idea of a variant SAA5050 that could advance its rising edges by one output pixel, thickening the vertical and diagonal lines.

## Semi-Graphics

Bedstead includes all of the teletext mosaic graphics characters available from the SAA5050. These are encoded at the standard code points defined by Unicode. These characters are also encoded in the Private Use area between U+EE00 and U+EE7F, in the same arrangement as is used by ZVBI.

>     🬰🬰🬒🬰🬰🬒🬰🬰🬒🬰🬰🬒🬰🬰🬒🬰🬰🬒🬰🬰🬒🬰🬰🬒𜺃𜺃𜹣𜺃𜺃𜹣𜺃𜺃𜹣𜺃𜺃𜹣𜺃𜺃𜹣𜺃𜺃𜹣𜺃𜺃𜹣𜺃𜺃𜹣
>     ▌🬚🬄▌🬚🬄▌🬚🬄▌🬚🬄▌🬚🬄▌🬚🬄▌🬚🬄▌🬚🬄𜹥𜹬𜹕𜹥𜹬𜹕𜹥𜹬𜹕𜹥𜹬𜹕𜹥𜹬𜹕𜹥𜹬𜹕𜹥𜹬𜹕𜹥𜹬𜹕
>     🬮🬰🬰🬮🬰🬰🬮🬰🬰🬮🬰🬰🬮🬰🬰🬮🬰🬰🬮🬰🬰🬮🬰🬰𜺁𜺃𜺃𜺁𜺃𜺃𜺁𜺃𜺃𜺁𜺃𜺃𜺁𜺃𜺃𜺁𜺃𜺃𜺁𜺃𜺃𜺁𜺃𜺃

Bedstead also has 4-cell and 8-cell mosaic graphics, DEC- and IBM-style box-drawing characters, and the large character pieces supported by some HP terminals.

## Generation

The outline version of Bedstead is generated by an ISO C program. It emits an XML file that can be processed by TTX (part of fontTools) into an OpenType font. The bitmap versions (in Bitmap Distribution Format) are then generated from that OpenType font.

## Copyright

The program that generates Bedstead and all of the newly-designed glyphs have been released into the public domain.

I believe that the original SAA5050 bitmap font is essentially in the public domain in the United Kingdom as a result of Section 55 of the Copyright, Designs and Patents Act 1988 as applied by subparagraph 14(5) of Schedule 1. I’m not a lawyer, though, so this may well be wrong.

## Downloads

- `bedstead-3.261.zip` – Full source and binary distribution containing everything below and more.
- `NEWS` – Release notes summarizing what’s changed between releases.
- `bedstead.c` – The C program that generates the font.
- Finished OpenType fonts:
  - `bedstead.otf` – Bedstead
  - `bedstead-extended.otf` – Bedstead Extended
  - `bedstead-semicondensed.otf` – Bedstead Semi Condensed
  - `bedstead-condensed.otf` – Bedstead Condensed
  - `bedstead-extracondensed.otf` – Bedstead Extra Condensed
  - `bedstead-ultracondensed.otf` – Bedstead Ultra Condensed
  - `bedstead-bold.otf` – Bedstead Bold
  - `bedstead-boldextended.otf` – Bedstead Bold Extended
  - `bedstead-boldsemicondensed.otf` – Bedstead Bold Semi Condensed
  - `bedstead-boldcondensed.otf` – Bedstead Bold Condensed
  - `bedstead-boldextracondensed.otf` – Bedstead Bold Extra Condensed
  - `bedstead-boldultracondensed.otf` – Bedstead Bold Ultra Condensed
- `bedstead-10.bdf`, `bedstead-20.bdf` – Bitmap versions at 10 and 20 pixels high.
- `bedstead-bold-20.bdf` – Bold bitmap version at 20 pixels high.
- `bedstead-10-df.png`, `bedstead-20-df.png` – 10-pixel and 20-pixel tilesets for use with Dwarf Fortress.
- `bedstead-complement.pdf` – A complete catalogue of glyphs in PDF.

The code to generate Bedstead is held in Git. You can get your own copy by running

> `git clone https://bjh21.me.uk/bedstead/.git`

You can also browse the repository on-line.