module BBS::BlockFont

A block font five pixels high for a boardโ€™s logo: the letters A-Z, the digits and some signs, most three pixels wide, a pixel of space between them. A modern terminal shows it in half blocks, two pixel rows to a line (::half_blocks); a Commodore 64 in reversed spaces, a pixel row to a line (::petscii). A word of nine letters is 35 columns wide, so it fits the C64โ€™s 40.

A glyph is five Strings, # for a set pixel and . for a clear one. Every method takes glyphs, a Hash of glyphs over FONT, for another shape of a letter (NARROW_I, WIDE_W) or one of the boardโ€™s own.

BBS::BlockFont.half_blocks('WARP')
BBS::BlockFont.petscii('SCRIPTORIUM', colors: [WH, WH, YE, YE, CY],
                       glyphs: BBS::BlockFont::NARROW_I)