mirror of
https://bjh21.me.uk/bedstead/.git
synced 2026-07-09 13:33:06 -04:00
186 lines
8.9 KiB
HTML
186 lines
8.9 KiB
HTML
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-GB" xml:lang="en-GB">
|
||
<head>
|
||
<!-- SPDX-License-Identifier: CC0-1.0 -->
|
||
<title>Bedstead – MODE 7 for the 21st century</title>
|
||
<link rel="stylesheet" href="bedstead.css" type="text/css" />
|
||
<link rel="icon" href="icon-16.png" type="image/png" sizes="16x16" />
|
||
<link rel="icon" href="icon-32.png" type="image/png" sizes="32x32" />
|
||
<link rel="icon" href="icon-64.png" type="image/png" sizes="64x64" />
|
||
</head>
|
||
<body>
|
||
<h1><span class="fade">Bedstead</span></h1>
|
||
<p>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 <code>MODE 7</code> 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.</p>
|
||
<p>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.</p>
|
||
|
||
<p class="image-sample">
|
||
<img alt="[ A sample of Bedstead’s characters ]" src="sample.png"/>
|
||
</p>
|
||
<blockquote class="text-sample" style="text-align: center;">
|
||
<div>
|
||
ABCDEFGHIJKLMNOPQRSTUVWXYZ<br/>
|
||
abcdefghijklmnopqrstuvwxyz<br/>
|
||
<span style="font-variant: small-caps">
|
||
abcdefghijklmnopqrstuvwxyz
|
||
</span><br/>
|
||
ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ<br/>
|
||
αβγδεζηθικλμνξοπρσςτυφϕχψω<br/>
|
||
АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ<br/>
|
||
абвгдежзийклмнопрстуфхцчшщъыьэюя<br/>
|
||
אבגדהוזחטיכךלמםנןסעפףצץקרשת<br/>
|
||
0123456789¼½¾!?.,:;'"‘’“”()[]{}<br/>
|
||
-—+×÷<=>/\|£$¥¢¤%&*#@¶©®℗<br/>
|
||
</div>
|
||
</blockquote>
|
||
<h2>Styles</h2>
|
||
<p>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.</p>
|
||
<p>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.</p>
|
||
|
||
<p class="image-sample">
|
||
<img alt="[ Various widths of Bedstead ]" src="extended.png"/>
|
||
</p>
|
||
<blockquote class="text-sample">
|
||
<div style="display: inline-block; width: 10em;">
|
||
<div style="font-stretch: normal;">Bedstead</div>
|
||
<div style="font-size: 2em; font-stretch: ultra-condensed;">
|
||
Ultra Condensed
|
||
</div>
|
||
</div>
|
||
<div style="display: inline-block;">
|
||
<div style="font-stretch: expanded;">Extended</div>
|
||
<div style="font-size: 2em; font-stretch: extra-condensed;">
|
||
Extra Condensed
|
||
</div>
|
||
</div>
|
||
</blockquote>
|
||
|
||
<p>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.</p>
|
||
|
||
<h2>Semi-Graphics</h2>
|
||
<p>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
|
||
<a href="http://zapping.sourceforge.net/ZVBI/">ZVBI</a>.</p>
|
||
<blockquote>
|
||
<pre>🬰🬰🬒🬰🬰🬒🬰🬰🬒🬰🬰🬒🬰🬰🬒🬰🬰🬒🬰🬰🬒🬰🬰🬒
|
||
▌🬚🬄▌🬚🬄▌🬚🬄▌🬚🬄▌🬚🬄▌🬚🬄▌🬚🬄▌🬚🬄
|
||
🬮🬰🬰🬮🬰🬰🬮🬰🬰🬮🬰🬰🬮🬰🬰🬮🬰🬰🬮🬰🬰🬮🬰🬰
|
||
</pre>
|
||
</blockquote>
|
||
|
||
<p>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.</p>
|
||
|
||
<h2>Generation</h2>
|
||
<p>The outline version of Bedstead is generated by an ISO C program.
|
||
It emits an XML file that can be processed by
|
||
<a href="https://fonttools.readthedocs.io/en/latest/ttx.html">TTX</a>
|
||
(part of
|
||
<a href="https://fonttools.readthedocs.io/">fontTools</a>)
|
||
into an OpenType font.
|
||
The bitmap versions (in Bitmap Distribution Format) are then
|
||
generated from that OpenType font.</p>
|
||
|
||
<a name="copyright"><h2>Copyright</h2></a>
|
||
<p>The program that generates Bedstead and all of the
|
||
newly-designed glyphs have been released into the public domain.</p>
|
||
<p>I believe that the original SAA5050 bitmap font is essentially
|
||
in the public domain in the United Kingdom as a result of
|
||
<a href="https://www.legislation.gov.uk/id/ukpga/1988/48/section/55"
|
||
>Section 55 of the Copyright, Designs and Patents Act 1988</a>
|
||
as applied by
|
||
<a href="https://www.legislation.gov.uk/id/ukpga/1988/48/schedule/1/paragraph/14/5"
|
||
>subparagraph 14(5) of Schedule 1</a>. I’m not a lawyer, though,
|
||
so this may well be wrong.
|
||
</p>
|
||
|
||
<h2>Downloads</h2>
|
||
|
||
<ul>
|
||
<li><a href="bedstead-3.261.zip"><code>bedstead-3.261.zip</code></a>
|
||
– Full source and binary distribution containing everything
|
||
below and more.</li>
|
||
<li><a href="NEWS"><code>NEWS</code></a> – Release notes summarizing
|
||
what’s changed between releases.</li>
|
||
<li><a href="bedstead.c"><code>bedstead.c</code></a> – The C
|
||
program that generates the font.</li>
|
||
<li>Finished OpenType fonts:
|
||
<ul>
|
||
<li><a href="bedstead.otf"><code>bedstead.otf</code></a> –
|
||
Bedstead</li>
|
||
<li><a href="bedstead-extended.otf"><code>bedstead-extended.otf</code></a>
|
||
– Bedstead Extended</li>
|
||
<li><a href="bedstead-semicondensed.otf"><code>bedstead-semicondensed.otf</code></a>
|
||
– Bedstead Semi Condensed</li>
|
||
<li><a href="bedstead-condensed.otf"><code>bedstead-condensed.otf</code></a>
|
||
– Bedstead Condensed</li>
|
||
<li><a href="bedstead-extracondensed.otf"><code>bedstead-extracondensed.otf</code></a>
|
||
– Bedstead Extra Condensed</li>
|
||
<li><a href="bedstead-ultracondensed.otf"><code>bedstead-ultracondensed.otf</code></a>
|
||
– Bedstead Ultra Condensed</li>
|
||
<li><a href="bedstead-bold.otf"><code>bedstead-bold.otf</code></a>
|
||
– Bedstead Bold</li>
|
||
<li><a href="bedstead-boldextended.otf"><code>bedstead-boldextended.otf</code></a>
|
||
– Bedstead Bold Extended</li>
|
||
<li><a href="bedstead-boldsemicondensed.otf"><code>bedstead-boldsemicondensed.otf</code></a>
|
||
– Bedstead Bold Semi Condensed</li>
|
||
<li><a href="bedstead-boldcondensed.otf"><code>bedstead-boldcondensed.otf</code></a>
|
||
– Bedstead Bold Condensed</li>
|
||
<li><a href="bedstead-boldextracondensed.otf"><code>bedstead-boldextracondensed.otf</code></a>
|
||
– Bedstead Bold Extra Condensed</li>
|
||
<li><a href="bedstead-boldultracondensed.otf"><code>bedstead-boldultracondensed.otf</code></a>
|
||
– Bedstead Bold Ultra Condensed</li>
|
||
</ul>
|
||
</li>
|
||
<li><a href="bedstead-10.bdf"><code>bedstead-10.bdf</code></a>,
|
||
<a href="bedstead-20.bdf"><code>bedstead-20.bdf</code></a> –
|
||
Bitmap versions at 10 and 20 pixels high.</li>
|
||
<li><a href="bedstead-bold-20.bdf"><code>bedstead-bold-20.bdf</code></a>
|
||
– Bold bitmap version at 20 pixels high.</li>
|
||
<li><a href="bedstead-10-df.png"><code>bedstead-10-df.png</code></a>,
|
||
<a href="bedstead-20-df.png"><code>bedstead-20-df.png</code></a>
|
||
– 10-pixel and 20-pixel tilesets for use with
|
||
<a href="https://www.bay12games.com/dwarves/">Dwarf Fortress</a>.</li>
|
||
<li><a href="bedstead-complement.pdf"><code>bedstead-complement.pdf</code></a>
|
||
– A complete catalogue of glyphs in PDF.</li>
|
||
</ul>
|
||
|
||
<p>The code to generate Bedstead is held in
|
||
<a href="https://git-scm.com/">Git</a>.
|
||
You can get your own copy by running</p>
|
||
<blockquote>
|
||
<p><kbd>git clone https://bjh21.me.uk/bedstead/.git</kbd></p>
|
||
</blockquote>
|
||
<p>You can also
|
||
<a href="https://www.chiark.greenend.org.uk/ucgi/~bjharris/git/bedstead.git/">
|
||
browse the repository on-line</a>.
|
||
</p>
|
||
</body>
|
||
</html>
|