lincoln_char_to_described_char

Function lincoln_char_to_described_char 

Source
pub fn lincoln_char_to_described_char(
    lin_ch: Unsigned6Bit,
    state: &mut LincolnState,
) -> Option<DescribedChar>
Expand description

Convert a Lincoln Writer character to a description which can be used to print a Unicode approximation of it.

In the success case we return None when the only effect of this Lincoln Writer character is to change mode (e.g. to upper case) and Some(DescribedChar) when there is something to print. In the Some(DescribedChar) case, the DescribedChar instance describes what is to be printed and provides a Unicode approximation to it, if there is one.

The character codes are shown in table 7-6 in the Users handbook. This shows two columns of characters for each code. Somewhat counterintuitively, I believe that the left-hand column is “lower case”. hence for code 027 for example, ‘H’ is “lower case” and “x” is upper case. I believe this for the following reasons:

  1. because the LW defaults to “lower case” after Carriage Return, and we’d expect this to correspond to the most commonly used characters. The block capitals and digits are all in the left-hand column. There is a complete set of A-Z but there is not a complete set of a-z.
  2. The layout of the Lincoln Writer keyboard is consistent with this idea. There are two keyboards, an upper and a lower. The lower keyboard contains block capitals and digits, and the upper keyboard contains minuscule letters (e.g. “q”, “k”). This idea is based on the Lincoln Writer diagram on page 24 of the Lincoln Lab Division 6 Quarterly Progress Report (15 June 1958). Figure 9 in in the later (1959-10-06) document Group Report 51-8 (a photograph) is mostly consistent but shows the CONTINUE and HALT keys to have been removed and LINE FEED UP and LINE FEED DOWN have been added.
  3. Page 8 of “The Lincoln Writer” (Lincoln Lab Group Report 51-8) says: The lower case keyboard was almost standard (our capital letters were put on the lower case).