Data Encoding Comparison

The NORC Encoding

The NORC encoding has several advantages. It fits the glyph grid completely but without redundancy. At 8 bits per coordinate, it is more compact than the NBS/NTIS encoding (which requires 32 bits per coordinate), and equal in compactness to the Hurt bias-82 and the Hershey bias-64 encodings). It is relatively easy to understand (requiring only an understanding of nines complement notation).

It has the disadvantage that two grid coordinate positions are excluded from use in glyphs. The fact that Dr. Hershey chose not to use the redundant nines complement -0 to construct these positions may suggest that he was contemplating direct nines complement decimal arithmetic operations on the data (even though he says that on the NORC they were converted to binary).

It also has the potential disadvantage that its digits are binary coded decimal (BCD). This means that pairs of digits do not correspond to ASCII or EBCDIC characters and it cannot, therefore, simply be printed as if they were ASCII or EBCDIC (the NBS/NTIS and the Hurt bias-82 encodings can be so printed (in ASCII), while the Hershey bias-64 encoding cannot). Neither can it be used in situations, particularly network situations, where software might mistakenly attempt to interpret pairs of digits as ASCII or EBCDIC control characters or transmitted over 7-bit networks.

The NBS/NTIS Encoding

The NBS/NTIS encoding has the advantage that it is trivial to understand, especially when printed. It also contains only printable characters (ASCII, not EBCDIC). The special coordinate used to construct the two reserved grid coordinates (-64) is outside the range of the glyph grid.

It has the conceptual disadvantage that it can represent a grid much larger than the actual Hershey glyph grid, and (the converse of the -64 advantage) that it can use grid positions (-49,0) and (-49,-49). This might allow new glyphs to be encoded which are not compatible with the original NORC encoding, especially since Wolcott and Hilsenrath's "A Contribution to Computer Typesetting" does not describe the NORC encoding. It would be more difficult to program for the NBS/NTIS encoding than for other encodings, as it would require the reconstitution of decimal numbers from their printable ASCII forms. It is also the least space-efficient of all of the encodings, requiring four ASCII characters per coordinate (vs. two BCD digits for the NORC encoding and one ASCII character for the Hurt encoding).

The NBS/NTIS encoding has one nontechnical disadvantage. Holzmann notes, in his USENET distribution, that the NTIS asserted the exclusive right to distribute in this encoding the NBS version of the Hershey glyph data. This assertion must be viewed with grave concern by every United States citizen, as the Hershey glyphs were prepared in the service of the US government (by Dr. Hershey working, at that time, for the US Navy), were translated into this format by the US government (the NBS), and were distributed in electronic format by the US government (the NTIS). Since the US government does not assert copyright on its publications, created as they were in the service of the American people, it is difficult to comprehend the basis on which the NTIS made this assertion.

The Hurt (Bias-82) Encoding

The Hurt encoding has two disadvantages. It is relatively difficult to understand, at least for me at first (once understood, though, it appears quite elegant). More importantly, it does not encode the entire Hershey glyph grid (encoding only -49 to 44).

It has, however, several important advantages which have lead to its being the dominant encoding of the glyph data. While it does not encode the entire glyph grid, the glyphs themselves do not use the entire grid; the Hurt encoding encompasses all of the Hershey glyphs plus a number of relatively large glyphs added later. It is thus in practice sufficient. It is exceedingly compact, requiring only a single ASCII character for each coordinate. At the same time, it employs only printable ASCII characters, allowing it to be printed (obviously), to be used in situations where network or other software might attempt mistakenly to interpret ASCII control characters, and to be transported over 7-bit networks. It can also be used directly in binary arithmetic, requiring neither the decimal arithmetic of the NORC encoding nor the reconstruction of binary numbers from printable ASCII of the NBS/NTIS encoding.

This encoding actually exceeds the NORC encoding in the negative direction, allowing the coordinate value of -50 (encoded as an ASCII space character). This coordinate value is used to construct the special coordinate pair which signals "pen up" (the "end of glyph" special coordinate pair is omitted from this encoding). This may be viewed either as an improvement upon the NORC encoding or as an invitation to create glyphs which run to -50 and are thus incompatible with the NORC encoding.

The Bias-64 Encoding

The bias 64 encoding used by Dr. Hershey for the microcomputer version of his "True BASIC" distribution is very similar to the bias-82 Hurt encoding. It shares with the Hurt bias-82 encoding the same economy of space and a similar ability for direct numeric manipulation. When compared with the Hurt encoding, it has the potential disadvantage that it does not employ only printable ASCII characters (it employs characters which include the ASCII control character range 0 to 31 (decimal)). It thus can't be printed (obviously), and may be corrupted if transmitted over networks which attempt to interpret these characters as ASCII control characters. The Hurt encoding shifts the representation above this range. Unlike the Hurt encoding, the bias-64 encoding is able to represent the entire -49 to 49 coordinate range of the original glyph grid. Indeed, it can represent -64 to 64, which allows (as discussed above) the encoding of glyphs which are incompatible with the NORC encoding. It also uses different special character positions, constructing them out of the coordinate -64 (represented as 0; 0 - 64 = -64); by not reserving the same coordinate positions as the NORC encoding this, again, allows the construction of glyphs incompatible with the NORC encoding.

If the use of nonprintable ASCII characters is not an issue, and if enforced compliance with the NORC encoding is not a requirement, then Dr. Hershey's bias-64 encoding may be the best of the various encodings discussed here.

Exploring Dr. Hershey's Typography
CircuitousRoot