home *** CD-ROM | disk | FTP | other *** search
/ Columbia Kermit / kermit.zip / archives / ucsterminal.zip / ucsterminal_02.txt < prev    next >
Text File  |  1998-10-07  |  61KB  |  1,420 lines

  1. TERMINAL GRAPHICS FOR UNICODE
  2.  
  3.   Frank da Cruz
  4.   The Kermit Project
  5.   Columbia University
  6.   New York City USA
  7.   fdc@columbia.edu
  8.   http://www.columbia.edu/kermit/
  9.  
  10.   D R A F T  #  2
  11.  
  12.   Wed Oct  7 18:32:05 1998
  13.  
  14.  
  15. THIS IS A PREFORMATTED PLAIN-TEXT ASCII DOCUMENT.  IT IS DESIGNED TO BE
  16. VIEWED AS-IS IN A FIXED-PITCH FONT.  ITS WIDEST LINE IS 79 COLUMNS.  IT
  17. CONTAINS NO TABS.  IF IT LOOKS MESSY TO YOU, PLEASE FEEL FREE TO PICK UP
  18. A CLEAN COPY AT:
  19.  
  20.   ftp://kermit.columbia.edu/kermit/charsets/ucsterminal.txt
  21.  
  22. Previous drafts are at:
  23.  
  24.   ftp://kermit.columbia.edu/kermit/charsets/ucsterminal_nn.txt
  25.  
  26. where nn is the draft number, e.g. "01".
  27.  
  28.  
  29. ABSTRACT
  30.  
  31. A selection of terminal graphics characters is proposed for Unicode [24]
  32. and ISO 10646 [19] to allow Unicode-based terminal emulation software to
  33. (a) display glyphs that are found on popular types of terminals but
  34. currently are not available in Unicode, (b) debug terminal and other data
  35. streams, and (c) interoperate with other Unicode applications.
  36.  
  37.  
  38. CONTENTS
  39.  
  40.     1.  Introduction
  41.     2.  Scope
  42.     3.  Organization
  43.     4.  Hex Bytes
  44.     5.  Graphic Representation of Control Characters
  45.     6.  Math Symbols
  46.     7.  Line and Box Drawing Characters
  47.     8.  Unfinished Business
  48.     9.  Summary of Proposed Additional Characters
  49.    10.  References
  50.  
  51. Tables:
  52.  
  53.   5.0.  Unicode Control Characters
  54.   5.1.  C0 Control Characters
  55.   5.2.  C1 Control Characters
  56.   5.3.  EBCDIC Control Characters
  57.   5.3A. Obsolete EBCDIC Control Characters
  58.   5.4.  3270 Control Characters
  59.   5.5.  3270 Terminal Operator Status Indicators
  60.   5.6.  Additional Control-Like Pictures
  61.   6.1.  Math Symbols for Terminals
  62.   7.1.  Additional Line, Box, and Block Characters
  63.   9.1.  Census of New Characters
  64.  
  65. Figures:
  66.  
  67.   4.1.  Control Picture Display
  68.   5.1.  Hex Byte Pictures
  69.   5.5.  Connected Rectangles
  70.   7.1.  "Framus" Glyphs
  71.  
  72.  
  73. Grateful acknowledgements to those whose comments on the first draft are
  74. reflected in the second: Kevin Bracey, Asmus Freytag, Tony Harminc, Elliotte
  75. Rusty Harold, Paul Keinanen, Karlsson Kent, Rick McGowan, Kenneth Whistler.
  76.  
  77.  
  78. 1. INTRODUCTION
  79.  
  80. Terminal-host communication was the dominant form of interaction between
  81. human and computer from about 1974 (when CRTs became affordable)(1) to about
  82. 1994 (when the Web and Windows took over the mass market).  Terminal-host
  83. communication is still widespread, especially in large organizations, and
  84. is expected to remain so for decades to come, playing an important part in
  85. organizations like universities, hospitals, government agencies, and
  86. corporations with central computing facilities, for use in applications
  87. ranging from sofware development and system/network administration, to email
  88. and text-based Web access, to data entry and inquiry, to transaction
  89. processing.
  90.  
  91. A terminal, for purposes of this document, is a device for entry and display
  92. of text in a fixed-pitch font on a screen (or on paper) in which graphic
  93. characters are displayed as glyph images in rows and columns of fixed size
  94. "cells", one glyph image per cell.  Terminals generally display (or
  95. otherwise handle) the characters of ASCII [1] or EBCDIC [13], and often also
  96. accented or non-Roman letters (or ideograms), and often also "graphic" (2)
  97. (non-alphabetic, non-digit, non-punctuation) characters for purposes of
  98. line- and box-drawing, mathematics, or other special effects.
  99.  
  100. In recent years, physical terminals have largely disappeared from the scene,
  101. their functions subsumed into PCs running terminal-emulation software
  102. alongside other applications.  Unicode has effectively met the need for
  103. encoding the earth's writing systems, but it is not well suited to terminal
  104. emulation since it lacks some of the required graphics characters.
  105.  
  106. Without a standard encoding for the missing glyphs, each maker of terminal
  107. emulation software must create or contract for custom fonts with private
  108. encodings.  Such fonts are not compatible with other (otherwise compatible)
  109. fonts on the same platform (e.g. when copying from a terminal window and
  110. pasting to a word processor), nor with each other.  Furthermore, should
  111. Unicode printers become standard equipment on PCs, terminal graphics
  112. characters will not print correctly on them.
  113.  
  114. Meanwhile, in the interest of "show[ing] the presence of ... control codes
  115. and the SPACE unequivocally when data is displayed" [24,p.6-84], Unicode
  116. includes a selection of control pictures.  Makers (and supportors, and
  117. users) of terminal emulators and most other types of software could use this
  118. feature of Unicode to better advantage if it were extended to cover a
  119. greater portion of the "control space", or even to allow pictorial
  120. representation of any code at all.
  121.  
  122. This document proposes a repertoire of terminal graphics and debugging
  123. characters to be added to Unicode and ISO 10646 to which all makers of
  124. fonts, code pages, and printers can refer when designing their products, and
  125. upon which all makers of terminal emulation and/or debugging software can
  126. base their screen displays.
  127.  
  128. Notes:
  129.  (1) Strictly speaking, terminals predate electronic computers by some
  130.      decades; the Teletype (used as the control terminal on many mainframes
  131.      and most minicomputers in the 1950s through 1970s) dates back to 1929.
  132.  (2) Note the distinction between "graphic" meaning "printing" (as in
  133.      "ISO 8859-1 is a graphic character set") versus "graphics" meaning
  134.      having something to do with pictures.
  135.  
  136. 2. SCOPE
  137.  
  138. This document represents a survey of the following terminals:
  139.  
  140.   Digital Equipment Corporation VT100 through VT520 [3-9]
  141.   Heath / Zenith 19 [10]
  142.   Hewlett Packard HP-2621 and HP-2648 [11,12]]
  143.   IBM 3164 and 3270 [15,16,27]
  144.   Siemens Nixdorf 97801 [21]
  145.   Televideo 922 and 965 [22,23]
  146.   Wyse 60 and 370 [25,26]
  147.  
  148. as well as:
  149.  
  150.   IBM PC code page 437 [14]
  151.  
  152. which is the basis for numerous PC-oriented so-called ANSI emulations.
  153.  
  154. 2.1. Problems
  155.  
  156. Even within this fairly narrow scope, arriving at a sufficient set of
  157. character-cell terminal graphics for Unicode is complicated by the
  158. well-known problems that affect other preexisting character sets to varying
  159. degrees:
  160.  
  161.  1. Lack of official names for the characters of some of the sets.
  162.  2. Lack of definitive, high-quality pictures of the glyphs in some cases.
  163.  3. Lack of descriptions of the purpose and intended use of the glyphs.
  164.  4. Lack of a current registration authority or owner in some cases.
  165.  5. Questions of unification of glyphs from different terminal makers.
  166.  6. End-user demand for specific characters or sets.
  167.  
  168. The issue of unification is complicated by the fact that some of the
  169. terminal graphics characters are designed to join at cell boundaries to form
  170. "pictures" (such as boxes or forms to be filled out) or large characters
  171. (such as big math symbols) spanning multiple rows and/or columns.  The
  172. relationship of similar-looking glyphs for different terminals is difficult
  173. to determine -- e.g. exactly where does a line touch an edge, and at what
  174. angle, and does it make a difference?
  175.  
  176. 2.2. What This Proposal Does Not Contain
  177.  
  178. This proposal does not require any action for well-known terminal
  179. presentation forms such as double-high and/or double-wide characters, bold,
  180. blinking, inverse, underlining, color, etc, since these are not encoding
  181. issues.  In particular, no special code points are needed for double-high or
  182. double-wide characters, such as those seen on the DEC VT100 family of
  183. terminals, nor for compressed characters as seen on Data General and DEC
  184. terminals.
  185.  
  186. This proposal also does not cover true graphics terminals, such as Tektronix
  187. vector graphics units, DEC ReGIS or Sixel graphics, etc, since these
  188. graphics regimes are not character-cell based.
  189.  
  190. No attempt was made to account for the many Viewdata, Videotex, Teletex,
  191. Minitel, NAPLPS, or other mosaic graphics character sets.  These should be
  192. tackled, if at all, by someone who knows something about them.
  193.  
  194. Note that the graphic characters listed in this proposal rarely, if ever,
  195. appear on keyboard key labels.  In general, these characters are never
  196. typed, not even on real terminals, but are displayed when the terminal is
  197. commanded into a special mode; for example, with ISO 2022 [17] character-set
  198. designation and invocation escape sequences.
  199.  
  200.  
  201. 3. ORGANIZATION
  202.  
  203. This proposal groups terminal graphic characters into four major categories.
  204. Some categories are complete by definition (e.g. the 2-nibble hex codes, of
  205. which there can be only 256), but others should include space for expansion
  206. as new glyphs are discovered or needed.  The categories are:
  207.  
  208. Debugging Tools
  209.   Graphical single-cell representation of Unicode, C0, C1, EBCDIC, and other
  210.   control characters; hexadecimal dumps of terminal traffic:  Sections 4
  211.   and 5.
  212.  
  213. Math Symbols
  214.   Although most math symbols found on terminals are already in Unicode,
  215.   certain terminal-based applications rely on the ability to construct large
  216.   symbols (integral and summation signs, braces, brackets) from smaller
  217.   character-cell-sized pieces.  Section 6.
  218.  
  219. Line, Box, and Block Drawing
  220.   Used for data entry, transaction processing, forms filling, etc, in
  221.   markets ranging from car rental and airline reservations, to 911
  222.   operators, to medical information systems, to online library catalogs.
  223.   Although Unicode does include a basic set (mainly those as U+2500), some
  224.   others are missing.  Section 7.
  225.  
  226. Each category is important for terminal emulation, but the categories can
  227. be considered separately.  The debugging tools category is not specific to
  228. terminal emulation, but can be used with a wide variety of applications:
  229. file analyzers, data or protocol analyzers, or for debugging of Web pages,
  230. word processor documents, etc.
  231.  
  232. 3.1. Temporary Reference Code Assignments
  233.  
  234. The characters proposed in this document are assigned temporary Unicode
  235. values from the Private Use area, strictly for reference within (or to)
  236. this document only.  Final values should be assigned out of the Private
  237. Use range.  The temporary allocations are:
  238.  
  239.   E000-E08F Control Pictures
  240.   E0A0-E0B8 Math Symbols
  241.   E0D0-E0EF Line and Box Drawing
  242.   E100-E1FF Hex Bytes
  243.  
  244. For a total of 512 positions, not fully populated.  Obviously the final
  245. counts, code values, and block allocations, including reserved positions,
  246. are likely to change as this proposal evolves.
  247.  
  248. 3.1. Character Properties
  249.  
  250. All new characters proposed in this document should be precomposed, since no
  251. terminals (with the exception of certain APL and ALA terminals) are capable
  252. of composing characters on the fly from nonspacing diacritics or by
  253. overstriking.  All proposed characters have Combining Class 0 (although
  254. some of the characters are designed to "combine" (connect) with other
  255. characters in adjacent cells).
  256.  
  257. No "Letter" characters are proposed, therefore none of the proposed
  258. additions has the Case property.  All proposed characters are
  259. strong left-to-right as to directionality, the same as existing characters
  260. in the same categories (box drawing, control pictures, etc).  None of the
  261. proposed characters has the Numeric Value Property, although it might be
  262. tempting to assign it to Hex Bytes (see Section 4, Note 4).
  263.  
  264. Many of the proposed box-drawing and math-technical characters have the
  265. Mirrored Property; this should be rather obvious when its name or
  266. description contains the word "left", "right", "top", or "bottom".
  267.  
  268. I would venture that the proposed math symbols would have the Mathematical
  269. Property, including the extensible ones, since the current Integral Top
  270. and Bottom at U+2320, U+2321 have this property [24,Section 1.9].
  271.  
  272.  
  273. 4. HEX BYTES
  274.  
  275. Hexadecimal byte values, 2 hex digits each, allow any 8-bit byte to be
  276. displayed in hexadecimal in a single character cell (and therefore allow any
  277. Unicode character value to be displayed in two cells), for hex debugging in
  278. terminal emulators, line monitors, protocol analyzers, word processors,
  279. "dump" programs, Web browsers, etc.  To prevent cell-boundary ambiguity,
  280. the font designer should employ some visual device to bind the two hex
  281. digits together in an unmistakable way, for example by arranging them
  282. diagonally within the character cell as shown in Figure 5.1:
  283.  
  284. Figure 4.1: Hex Byte Pictures
  285.  
  286.  +--+ +--+ +--+      +--+ +--+ +--+ +--+      +--+ +--+     +--+--+
  287.  |0 | |0 | |0 | ...  |0 | |1 | |1 | |1 | ...  |E | |F | ... |F |F |
  288.  | 1| | 2| | 3|      | F| | 0| | 1| | 2|      | F| | 0|     | E| F|
  289.  +--+ +--+ +--+      +--+ +--+ +--+ +--+      +--+ +--+     +--+--+
  290.  
  291. One glyph is required for each hex byte code 00 through FF, or 256 glyphs in
  292. all, as shown in Table 4.1, in which the "Code" column shows the temporary
  293. reference value for this document.  Ideally, however, the final 8 bits of
  294. the actual code would correspond to the 8-bit value represented by the
  295. corresponding glyph.
  296.  
  297. Table 4.1: Hex Byte Characters
  298.  
  299.   Code  Byte  Description
  300.   E100   00   Symbol for Hex Byte 00
  301.   E101   01   Symbol for Hex Byte 01
  302.   :      :    :
  303.   E1FF   FF   Symbol for Hex Byte FF
  304.  
  305. Notes:
  306.  (1) The proposal for hex byte symbols is independent of the other proposals
  307.      within this document; however, several hex byte symbols are required
  308.      for C1 control pictures (Section 5.2) in any case.
  309.  (2) The SNI "IBM" character set [21] contains glyphs for 01 through 1F,
  310.      which are shown sideways (rather than upright diagonal).  I see no
  311.      reason to encode these separately; others might disagree.
  312.  (3) Hex bytes values can collide with control-character names: FF, D1,
  313.      D2, D3, D4, etc (Section 5).  If both hex bytes and control pictures are
  314.      implemented, the font designer should ensure they are distinct enough
  315.      visually that they will not be confused.
  316.  (4) Should these symbols have the Numeric Value Property?  I think not,
  317.      since, unlike digits, Roman numerals, etc, they are not normally used
  318.      as numbers, nor to write numbers.
  319.  
  320. Summary:
  321.   256 new characters, U+E100 through U+E1FF.
  322.  
  323.  
  324. 5. GRAPHIC REPRESENTATION OF CONTROL CHARACTERS
  325.  
  326. Digital VT220 and higher terminals, as well as Televideo, Wyse, HP, Perkin
  327. Elmer, and other models, allow the user to select whether control characters
  328. are acted upon or displayed graphically.  Unicode itself includes its own
  329. "control characters" such as line and page separators, directionality
  330. controls, etc.
  331.  
  332. Normally control characters are used to affect the format and presentation
  333. of glyphs on the screen.  In "display controls", "transparent", or "debug"
  334. mode (the terminology varies with the terminal vendor), control characters
  335. are shown graphically rather than performing their normal functions; this
  336. allows analysis and debugging of the host-terminal data stream using a
  337. terminal, emulator, protocol analyzer, or line monitor.  It also allows a
  338. more readable form of file dumping and analysis.
  339.  
  340. A block of control pictures is already found in Unicode at U+2400, but:
  341.  
  342.  a. The illustrations in the Unicode book do not look like the control
  343.     pictures that are actually used on terminals;
  344.  
  345.  b. They are for C0 only; there is no corresponding set of C1 control
  346.     pictures;
  347.  
  348.  c. There are no pictures for the control characters unique to EBCDIC.
  349.  
  350.  d. Certain other terminal-specific control pictures are missing.
  351.  
  352. A control picture allows the user to unequivocally determine the identity
  353. and position of control characters in the data stream by displaying each
  354. control chraracter as a unique (and mnemonic) glyph in a single terminal
  355. screen cell.
  356.  
  357. Terminals do this by arranging the letters (or letter-digit combinations) of
  358. the official abbreviation for the control character in diagonally from upper
  359. left to lower right, as shown in Figure 5.1.
  360.  
  361. Figure 5.1: Control Picture Display
  362.  
  363.  +---+   +---+
  364.  |L  |   |D  |  (except the two-character abbreviation appears on the
  365.  |   |   | C |   screen with the characters closer together)
  366.  |  F|   |  1|
  367.  +---+   +---+
  368.  
  369. The Unicode illustration for control pictures at U+2400, however, depicts
  370. the abbreviations horizontally.  While the description of this block
  371. [24,p.6-84] states that "only the semantic is encoded...  a particular
  372. application [can] use the graphic representation it prefers," a horizontal
  373. arrangement is chosen in the illustration (on p.7-188) for all characters
  374. except NL.  But if they are implemented this way in a real font, it would be
  375. very difficult for the user to discern the boundary between one control
  376. picture and the next.
  377.  
  378. It is suggested, therefore, that that next edition of the Unicode Standard
  379. illustrate these characters with the diagonal representation shown in Figure
  380. 5.1 (and in ISO 10646 [19]), since it is more likely that Unicode font
  381. designers will follow the illustrations in the Unicode Standard than attempt
  382. to procure the actual terminals or manuals to see how they do it.
  383.  
  384. 5.0. Unicode Control Pictures
  385.  
  386. Table 5.0 lists the nonprinting Unicode characters used for spacing,
  387. directionality control, and general formatting.  These characters are in
  388. the U+2000 block, and are indicated by mnemonics inside broken-line squares.
  389.  
  390. The Code column contains the temporary code value for the proposed symbol.
  391. The Val column contains the Unicode value of the character for which the
  392. symbolic representation is proposed.  The Name column contains the
  393. desginator shown in the broken-line square in the Unicode code table, with
  394. a space standing for a line break (but see Note 2).
  395.  
  396. The suggested glyphs are those shown in the Unicode Standard.
  397.  
  398. Table 5.0: Unicode Control Characters
  399.  
  400.   Code  Val   Name     Description
  401.   E000  2000  NQ SP    Symbol for En Quad
  402.   E001  2001  MQ SP    Symbol for Em Quad
  403.   E002  2002  EN SP    Symbol for En Space
  404.   E003  2003  EM SP    Symbol for Em Space
  405.   E004  2004  3/M SP   Symbol for Three-Per-Em-Space
  406.   E005  2005  4/M SP   Symbol for Four-Per-Em-Space
  407.   E006  2006  6/M SP   Symbol for Six-Per-Em-Space
  408.   E007  2007  F SP     Symbol for Figure Space
  409.   E008  2008  P SP     Symbol for Punctuation Space
  410.   E009  2009  TH SP    Symbol for Thin Space
  411.   E00A  200A  H SP     Symbol for Hair Space
  412.   E00B  200B  ZW SP    Symbol for Zero-Width Space
  413.   E00C  200C  ZW NJ    Symbol for Zero-Width Non-Joiner
  414.   E00D  200D  ZW J     Symbol for Zero-Width Joiner
  415.   E00E  200E  LRM      Symbol for Left-to-Right Mark
  416.   E00F  200F  RLM      Symbol for Right-to-Left Mark
  417.   E010  2028  L SEP    Symbol for Line Separator
  418.   E011  2029  P SEP    Symbol for Paragraph Separator
  419.   E012  202A  LRE      Symbol for Left-to-Right Embedding
  420.   E013  202B  RLE      Symbol for Right-to-Left Embedding
  421.   E014  202C  PDF      Symbol for Pop Directional Formatting
  422.   E015  202D  LRO      Symbol for Left-to-Right Override
  423.   E016  202E  RLO      Symbol for Right-to-Left Override
  424.   E017  206A  I SS     Symbol for Inhibit Symmetric Swapping
  425.   E018  206B  A SS     Symbol for Activate Symmetric Swapping
  426.   E019  206C  I AFS    Symbol for Inhibit Arabic Form Shaping
  427.   E01A  206D  A AFS    Symbol for Activate Arabic Form Shaping
  428.   E01B  206E  NA DS    Symbol for National Digit Shapes
  429.   E01C  206F  NO DS    Symbol for Nominal Digit Shapes
  430.   E01D  FEFF  ZWN BSP  Symbol for Zero Width No Break Space
  431.   E01E  FFFE  FF FE    Symbol for Not A Character (Byte Order) (2)
  432.   E01F  FFFE  FF FF    Symbol for Not A Character (2)
  433.  
  434. Notes:
  435.  (1) There is no known need for these symbols when emulating current
  436.      terminals.  In the future, if/when terminals are based on Unicode, they
  437.      might be useful in that context.  In the meantime, makers of word
  438.      processors, Web browsers, etc, might have a use for these glyphs.
  439.  (2) No mnemonic or abbreviation is given for this "not-a-character" in
  440.      the Unicode Standard.
  441.  
  442. Summary:
  443.   32 characters, E0000-E01F.
  444.  
  445. 5.1. C0 Control Pictures
  446.  
  447. Table 5.1 lists the C0 Control Characters from the ASCII Standard [1] (and
  448. also in ISO 646 and ISO 6429).  Each C0 control character has an official
  449. designator (from the appropriate ANSI [1] or ISO [18] standard): a 2- or
  450. 3-character sequence of (ASCII) alphanumeric characters.
  451.  
  452. In some terminals, such as the DEC VT220 family [5], the control picture
  453. shows the designation in full.  In others, such as Televideo [22,23], HP
  454. [11], and Perkin Elmer [20], each 3-character designator is replaced by
  455. a 2-character short form.
  456.  
  457. The columns are as follows:
  458.  
  459.   Code: The Unicode value in hexadecimal.
  460.   Val:  The value of the control character's code in hexadecimal.
  461.   Name: The full ASCII abbreviation for the control character's name.
  462.   2X:   The 2-character abbreviation used on Televideo, HP, etc.
  463.   Description: "Symbol for" followed by the character's standard name.
  464.  
  465. Table 5.1: C0 Control Characters
  466.  
  467.   Code  Val  Name   2X   Description
  468.   2400   00   NUL   NU   Symbol for Null
  469.   2401   01   SOH   SH   Symbol for Start of Heading
  470.   2402   02   STX   SX   Symbol for Start of Text
  471.   2403   03   ETX   EX   Symbol for End of Text
  472.   2404   04   EOT   ET   Symbol for End of Transmission
  473.   2405   05   ENQ   EQ   Symbol for Enquiry
  474.   2406   06   ACK   AK   Symbol for Acknowledge
  475.   2407   07   BEL   BL   Symbol for Bell
  476.   2409   09   BS    BS   Symbol for Backspace
  477.   2409   09   HT    HT   Symbol for Horizontal Tab
  478.   240A   0A   LF    LF   Symbol for Line Feed
  479.   240B   0B   VT    VT   Symbol for Vertical Tab
  480.   240C   0C   FF    FF   Symbol for Form Feed (1)
  481.   240D   0D   CR    CR   Symbol for Carriage Return
  482.   240E   0E   SO    SO   Symbol for Shift Out
  483.   240F   0F   SI    SI   Symbol for Shift In
  484.   2410   10   DLE   DL   Symbol for Data Link Escape
  485.   2411   11   DC1   D1   Symbol for Device Control 1 (1)
  486.   2412   12   DC2   D2   Symbol for Device Control 2 (1)
  487.   2413   13   DC3   D3   Symbol for Device Control 3 (1)
  488.   2414   14   DC4   D4   Symbol for Device Control 4 (1)
  489.   2415   15   NAK   NK   Symbol for Negative Acknowledge
  490.   2416   16   SYN   SY   Symbol for Synchronous Idle
  491.   2417   17   ETB   EB   Symbol for End of Transmission Block
  492.   2418   18   CAN   CN   Symbol for Cancel
  493.   2419   19   EM    EM   Symbol for End of Medium
  494.   241A   1A   SUB   SU   Symbol for Substitute
  495.   241B   1B   ESC   EC   Symbol for Escape
  496.   241C   1C   FS    FS   Symbol for Field Separator (2)
  497.   241D   1D   GS    GS   Symbol for Group Separator (2)
  498.   241E   1E   RS    RS   Symbol for Record Separator (2)
  499.   241F   1F   US    US   Symbol for Unit Separator (2)
  500.   2420   20   SP    SP   Symbol for Space (3)
  501.   2421   7F   DEL   DT   Symbol for Delete (3)
  502.  
  503. Notes:
  504.   (1) Note the conflict/coincidence of these 2-character forms with hex
  505.       bytes; see Note (3) in Section 4.
  506.   (2) These C0 controls have alternative names, listed in Section 5.6.
  507.   (3) Not, strictly speaking, a control character, but not a visible
  508.       one either.
  509.  
  510. Summary:
  511.   No new code points, but it is recommended that C0 control pictures
  512.   be illustrated diagonally, and that the 2-letter forms be listed as
  513.   alternatives for font designers, especially for low resolutions or
  514.   small point sizes.
  515.  
  516. 5.2. C1 Control Pictures
  517.  
  518. C1 Control characters are specified in ISO 6429 [18] (ISO Registration
  519. Number 77 [28]) and used, among other places, in the VT220 family of
  520. terminals [5] and the Wyse 370 [26], where they are represented in the right
  521. half of the "display controls" font as shown in Table 5.2 (DEC terminals use
  522. the full name, Wyse terminals use the 2X name).  As with C0 controls, the
  523. "name" is displayed diagonally within the character cell.  Unicode presently
  524. includes no C1 control pictures.
  525.  
  526. The "Code" column shows the temporary Unicode value for reference within
  527. this document only; actual code assignments should be outside the Private
  528. Use area.  The other columns are labeled as in Table 5.1.
  529.  
  530. Table 5.2: C1 Control Characters
  531.  
  532.   Code  Val   Name 2X    Description
  533.          80    80        (1)
  534.          81    81        (1)
  535.   E022   82   BPH        Symbol for Break Permitted Here (2)
  536.   E023   83   NBH        Symbol for No Break Here (2)
  537.   E024   84   IND   IN   Symbol for Index (3)
  538.   E025   85   NEL   NL   Symbol for Next Line
  539.   E026   86   SSA   SS   Symbol for Start Selected Area
  540.   E027   87   ESA   ES   Symbol for End Selected Area
  541.   E028   88   HTS   HS   Symbol for Character Tabulation Set
  542.   E029   89   HTJ   HJ   Symbol for Character Tabulation with Justification
  543.   E02A   8A   VTS   VS   Symbol for Line Tabulation Set
  544.   E02B   8B   PLD   PD   Symbol for Partial Line Forward
  545.   E02C   8C   PLU   PU   Symbol for Partial Line Backward
  546.   E02D   8D   RI    RI   Symbol for Reverse Line Feed
  547.   E02E   8E   SS2   S2   Symbol for Single Shift 2
  548.   E02F   8F   SS3   S3   Symbol for Single Shift 3
  549.   E030   90   DCS   DC   Symbol for Device Control String
  550.   E031   91   PU1   P1   Symbol for Private Use 1
  551.   E032   92   PU2   P2   Symbol for Private Use 2
  552.   E033   93   STS   SE   Symbol for Set Transmit State
  553.   E034   94   CCH   CC   Symbol for Cancel Character
  554.   E035   95   MW    MW   Symbol for Message Waiting
  555.   E036   96   SPA   SP   Symbol for Start Protected (Guarded) Area
  556.   E037   97   EPA   EP   Symbol for End Protected (Guarded) Area
  557.   E038   98   SOS        Symbol for Start of String (2)
  558.          99              (1)
  559.   E03A   9A   SCI        Symbol for Single Character Introducer (2)
  560.   E03B   9B   CSI   CS   Symbol for Control Sequence Introducer
  561.   E03C   9C   ST    ST   Symbol for String Terminator
  562.   E03D   9D   OSC   OS   Symbol for Operating System Command
  563.   E03E   9E   PM    PM   Symbol for Privacy Message
  564.   E03F   9F   APC   AP   Symbol for Application Program Command
  565.  
  566. Notes;
  567.  (1) Undefined in ISO-6428, shown on VT220/WY370 terminal by hex byte
  568.      symbols (see text just below these notes).
  569.  (2) Defined in ISO-6428, but shown on VT220/WY370 terminal by hex value.
  570.  (3) Removed from ISO-6428 in the third edition, but shown indicated on
  571.      VT220/WY370 terminal.
  572.  
  573. Note that three of the C1 control pictures are unassigned (the ones marked
  574. by "(1)", that would be at U+E020, U+E021, and U+E039 if these were
  575. assigned).  These positions should be left vacant in case names are assigned
  576. to these characters in a future revision of ISO 6429, or terminals are
  577. discovered with control pictures for these codes.  In the meantime, hex
  578. bytes are used; if a hex-byte block (Section 4) is defined, they can be
  579. taken from that block; otherwise, the particular values shown here (80, 81,
  580. and 99, and possibly also 98 and 9A) must be defined for this block.
  581.  
  582. As with C0 controls, it is a matter for the font designer to choose the
  583. full designator from the Name column, or the 2-character alternatives from
  584. the 2X column.
  585.  
  586. Summary:
  587.   29 New characters (if hex bytes are also approved) or 32 (if they are not).
  588.  
  589. 5.3. EBCDIC Control Pictures
  590.  
  591. The EBCDIC family of character sets [13,14,29] includes its own repertoire
  592. of control characters.  Many of them, like NUL, SOH, FF, SO, SI, and so on,
  593. are coincident with ASCII C0 controls in name and semantics, and sometimes
  594. also in encoding.  Others are unique to EBCDIC.
  595.  
  596. Table 5.3 shows the EBCDIC control characters [29], in EBCDIC order.  The
  597. Code column shows the Unicode value; those starting with 24 are already in
  598. Unicode block U+2400; those starting with E need to be added.  The Val
  599. column shows the EBCDIC value (hex).  The Name column shows the EBCDIC
  600. abbreviation for the code, and the description lists "Symbol for" plus the
  601. EBCDIC name.  There are no known "2X" forms in use.
  602.  
  603. Table 5.3: EBCDIC Control Characters
  604.  
  605.   Code  Val  Name   Description
  606.   2400   00   NUL   Symbol for Null
  607.   2401   01   SOH   Symbol for Start of Heading
  608.   2402   02   STX   Symbol for Start of Text
  609.   2403   03   ETX   Symbol for End of Text
  610.   E040   04   SEL   Symbol for Select
  611.   2409   05   HT    Symbol for Horizontal Tab
  612.   E041   06   RNL   Symbol for Required New Line
  613.   2421   07   DEL   Symbol for Delete
  614.   E042   08   GE    Symbol for Graphic Escape
  615.   E043   09   SPS   Symbol for Superscript
  616.   E044   0A   RPT   Symbol for Repeat
  617.   240B   0B   VT    Symbol for Vertical Tab
  618.   240C   0C   FF    Symbol for Form Feed (1)
  619.   240D   0D   CR    Symbol for Carriage Return
  620.   240E   0E   SO    Symbol for Shift Out
  621.   240F   0F   SI    Symbol for Shift In
  622.   2410   10   DLE   Symbol for Data Link Escape
  623.   2411   11   DC1   Symbol for Device Control 1
  624.   2412   12   DC2   Symbol for Device Control 2
  625.   2413   13   DC3   Symbol for Device Control 3
  626.   E045   14   RES   Symbol for Restore
  627.   2424   15   NL    Symbol for New Line
  628.   2409   16   BS    Symbol for Backspace
  629.   E046   17   POC   Symbol for Program Operator Communication
  630.   2418   18   CAN   Symbol for Cancel
  631.   2419   19   EM    Symbol for End of Medium
  632.   E047   1A   UBS   Symbol for Unit Back Space
  633.   E048   1B   CU1   Symbol for Customer Use 1
  634.   E049   1C   IFS   Symbol for Interchange File Separator
  635.   E04A   1D   IGS   Symbol for Interchange Group Separator
  636.   E04B   1E   IRS   Symbol for Interchange Record Separator
  637.   E04C   1F   IUS   Symbol for Interchange Unit Separator (2)
  638.   E04D   20   DS    Symbol for Digit Select
  639.   E04E   21   SOS   Symbol for Start of Significance
  640.   241C   22   FS    Symbol for Field Separator
  641.   E04F   23   WUS   Symbol for Word Underscore
  642.   E050   24   BYP   Symbol for Bypass
  643.   240A   25   LF    Symbol for Line Feed
  644.   2417   26   ETB   Symbol for End of Transmission Block
  645.   241B   27   ESC   Symbol for Escape
  646.   E051   28   SA    Symbol for Set Attribute
  647.   E052   29   SFE   Symbol for Start Field Extended
  648.   E053   2A   SM    Symbol for Set Mode (3)
  649.   E054   2B   CSP   Symbol for Control Sequence Prefix
  650.   E055   2C   MFA   Symbol for Modify Field Attribute
  651.   2405   2D   ENQ   Symbol for Enquiry
  652.   2406   2E   ACK   Symbol for Acknowledge
  653.   2407   2F   BEL   Symbol for Bell
  654.   E056   30         (Reserved by IBM for future use)
  655.   E057   31         (Reserved by IBM for future use)
  656.   2416   32   SYN   Symbol for Synchronous Idle
  657.   E058   33   IR    Symbol for Index Return
  658.   E059   34   PP    Symbol for Presentation Position
  659.   E05A   35   TRN   Symbol for Transparent
  660.   E05B   36   NBS   Symbol for Numeric Backspace
  661.   2404   37   EOT   Symbol for End of Transmission
  662.   E05C   38   SBS   Symbol for Subscript
  663.   E05D   39   IT    Symbol for Indent Tabulation
  664.   E05E   3A   RFF   Symbol for Reverse Form Feed
  665.   E05F   3B   CU3   Symbol for Customer Use 3 (4)
  666.   2414   3C   DC4   Symbol for Device Control 4
  667.   2415   3D   NAK   Symbol for Negative Acknowledge
  668.   E060   3E         (Reserved by IBM for future use)
  669.   241A   3F   SUB   Symbol for Substitute
  670.  
  671. Notes:
  672.  (1) Conflict/coincidence with a hex byte; see Note (3) in Section 4.
  673.  (2) The IUS control is sometimes also labeled ITB.
  674.  (3) The SM control is sometimes also labeled SW (= Switch).
  675.  (4) Note: There is no longer a Customer Use 2 (see Table 5.3A).
  676.  
  677. Summary:
  678.   33 new characters, E040-E060, including 3 reserved.
  679.  
  680. For reference, Table 5.3A shows the original names for EBCDIC control
  681. characters [13] that are now superseded by the names shown in Table 5.3.
  682. It is not proposed here that these be added to Unicode.
  683.  
  684. Table 5.3A: Obsolete EBCDIC Control Characters
  685.  
  686.  Val  Name   Description               Replaced By
  687.   04   PF    Punch Off                 SEL
  688.   06   LC    Lower Case                RNL
  689.   0A   SMM   Start of Manual Message   RPT
  690.   13   TM    Tape Mark                 DC3
  691.   17   IL    Idle                      POC
  692.   1A   CC    Cursor Control            UBX
  693.   2B   CU2   Customer Use 2            CSP
  694.   34   PN    Punch On                  PP
  695.   35   RS    Record Separator          TRN
  696.   36   UC    Upper Case                NBS
  697.  
  698. 5.4. IBM 3270 Terminal Orders and Controls
  699.  
  700. Names for IBM 3270 terminal orders and controls [27] that are not already
  701. listed in Tables 5.1-5.3 are shown in Table 5.4, to be used in debugging
  702. 3270 data streams.  Columns are as in the previous tables, except the Type
  703. column, in which:
  704.  
  705.   O = 3270 Terminal Order [27,Table 4-1]
  706.   D = 3270 Terminal Order in normal display [27,p.E-3]
  707.   L = LU 1 SCS Control Codes [27,Table 8-2]
  708.   F = 3270 Format Control Order [27,Table 4-3]
  709.  
  710. Table 5.4: 3270 Control Characters
  711.  
  712.   Code  Val  Name Type Description
  713.   E070   1D   SF   O   Symbol for Start Field
  714.   E071   11   SBA  O   Symbol for Set Buffer Address
  715.   E072   2C   MF   O   Symbol for Modify Field
  716.   E073   13   IC   O   Symbol for Insert Cursor
  717.   E074   05   PT   O   Symbol for Program Tab
  718.   E075   3C   RA   O   Symbol for Repeat to Address
  719.   E076   12   EUA  O   Symbol for Erase to Unprotected Address
  720.   E077   04   VCS  L   Symbol for Vertical Channel Select
  721.   E078   14   ENP  L   Symbol for Enable Presentation
  722.   E079   24   INP  L   Symbol for Inhibit Presentation
  723.   E07A   2B   FMT  L   Symbol for Format
  724.   E07B   1C   DUP  F   Symbol for Duplicate
  725.   E07C   1C   DUP  D   Overscore asterisk (1)
  726.   E07D   1E   FM   F   Symbol for Field Mark
  727.   E07E   1E   FM   D   Overscore semicolon (1)
  728.   E07F   FF   EO   F   Symbol for Eight Ones
  729.  
  730. Notes:
  731.  (1) When displayed "as itself".
  732.  
  733. Summary:
  734.   16 new characters, E070-E07F.
  735.  
  736. 5.5. 3270 Terminal Operator Status Indicators
  737.  
  738. The IBM 3270 terminal displays a variety of unique glyphs in its Operator
  739. Information Area [15, Figure A-4].  Although they are not encoded in any IBM
  740. character set (known to me), they nevertheless appear on the screen, and are
  741. therefore required for accurate terminal emulation.  These glyphs are listed
  742. in Table 5.5.
  743.  
  744. Table 5.5: 3270 Terminal Operator Status Indicators
  745.  
  746.   Code  Description
  747.   E080  Human stick figure
  748.   E081  Human stick figure in box
  749.   E082  Clock at 6:10 (or 1:30)
  750.   E083  White rectangle with stroke (1)
  751.   E084  Black rectangle with stroke (2)
  752.   E085  Lighting with stroke (3)
  753.   E086  Security key (4)
  754.   E087  Black and White Right-Pointing Triangles (5)
  755.  
  756. Notes:
  757.  (1) A rectangle like the one at U+25AD with an oblique stroke through it.
  758.      Note that "white" and "black" are used in the sense of the Unicode
  759.      standard, and do not imply any particular colors or measure of goodness.
  760.  (2) A rectangle like the one at U+25AC with an oblique stroke through it.
  761.  (3) A horizontal lightning symbol with an oblique stroke through it.
  762.  (4) A picture of a key (indicating the keyboard is locked).
  763.  (5) Like U+25B8 and U+25B9 in the same cell, arranged horizontally, left
  764.      to right, like a double right-pointing arrowhead, used as a
  765.      supplementary indicator.
  766.  
  767. In many cases, black and/or white rectangles (U+25AD, U+25AC, U+E083,
  768. U+E084) are connected with a centered horizontal line such as the one at
  769. U+2500; two rectangles connected this way generally symbolize a 3270
  770. terminal with a printer attached.  Figure 5.5 shows an example.  The font
  771. designer must ensure that a sequence: rectangle, line, rectangle, results in
  772. a pair of connected rectangles.
  773.  
  774. Figure 5.5: Connected Rectangles
  775.  
  776.   +--------+      +--------+
  777.   |        |------|        |
  778.   +--------+      +--------+
  779.  
  780. Summary:
  781.   8 new characters, E080-E087
  782.  
  783. 5.6. Additional Control-Like Pictures
  784.  
  785. Table 5.6 shows additional characters that are (or are likely to be)
  786. included in "display controls" mode on various terminals.
  787.  
  788. Table 5.6: Additional Control-Like Pictures
  789.  
  790.   Code  Name  Description
  791.   E090  LS1   Symbol for Locking Shift 1 (1)
  792.   E091  LS0   Symbol for Locking Shift 0 (2)
  793.   E092  CEX   Symbol for Control Extension (3)
  794.   E093  IS4   Symbol for Information Separator 4 (4)
  795.   E094  IS3   Symbol for Information Separator 3 (5)
  796.   E095  IS2   Symbol for Information Separator 2 (6)
  797.   E096  IS1   Symbol for Information Separator 1 (7)
  798.   E097  CL    Symbol for Cancel Line (8)
  799.   E098        Picture of Bell (9)
  800.   E099  BP    Word Processing Symbol BP (10)
  801.   E09A  BE    Word Processing Symbol BE (10,11)
  802.   E09B  FN    Word Processing Symbol FN (10)
  803.   E09C  FE    Word Processing Symbol FE (10,11)
  804.   E09D  HF    Word Processing Symbol BP (10)
  805.   2426        Symbol for Substitute Form Two (Reverse Question Mark) (12)
  806.  
  807. Notes:
  808.  (1) ISO name for SO [18].
  809.  (2) ISO name for SI [18].
  810.  (3) From JIS C 6225-1979 / ISO # 74 [28].
  811.  (4) ISO Name for FS [18].
  812.  (5) ISO Name for GS [18].
  813.  (6) ISO Name for RS [18].
  814.  (7) ISO Name for US [18].
  815.  (8) Used on HP terminals [11.12].
  816.  (9) Used on HP terminals in place of Symbol for BEL (U+2407) [11].
  817. (10) From the Data General Word Processing Set [2].
  818. (11) Conflict/Coincidence with Hex Byte; see Note (3) in Section 4.
  819. (12) The upright reverse question mark is used by DEC VT terminals to
  820.      indicate that an invalid code was received.  It also stands for SUB
  821.      and/or RS in Wyse display controls mode [25,26], and is the glyph for
  822.      0xFF in the Televideo Multinational Character Set [23].  And it is also
  823.      a glyph in the DG Special Graphics Character Set [2].  This one is not
  824.      in Unicode at present, but is encoded in Amendment 18 to ISO 10646 at
  825.      the code point shown, with the requisite shape of reverse question mark.
  826.  
  827. Summary:
  828.   14 characters, E090-E09D.
  829.  
  830. Section 5 Summary:
  831.   Unicode Controls:    32 new characters, E000-E01F
  832.   C0 Controls:          0 new characters
  833.   C1 Controls:         32 new characters, E020-E03F
  834.   EBCDIC Controls:     33 new characters, E040-E060
  835.   3270 Controls:       16 new characters, E070-E07F
  836.   3270 Indicators:      8 new characters, E080-E087
  837.   Misc Controls:       14 new characters, E090-E09E
  838.  
  839. Total Control Pics:   135
  840.  
  841.  
  842. 6. MATH SYMBOLS
  843.  
  844. Unicode has a generous supply of math symbols, and no doubt more are in the
  845. works.  And of course it also includes the Latin, Greek, Fraktur, Hebrew,
  846. and other letters used in mathematical notation.
  847.  
  848. However, terminal emulators also need special glyphs designed to be joined
  849. together in adjacent character cells, vertically or horizontally, to form
  850. large math symbols such as integrals, summation signs, braces, or brackets,
  851. such as the integral top and bottom that already exist at U+2320 and U+2321.
  852. Several other single-cell characters are also missing, including the small
  853. radical sign from the DEC Technical character set.  Table 6.1 lists the
  854. needed characters, along with suggested temporary codes for them.  At least
  855. one real terminal reference is shown for each character, in column/row
  856. notation, or an IBM Graphic Character Global Identifier (GCGID) [14].
  857.  
  858. Legend:
  859.   SB = Square Bracket
  860.   UL = Upper Left
  861.   LL = Lower Left
  862.   UR = Upper Right
  863.   LR = Lower Right
  864.  
  865. Table 6.1: Math Symbols for Terminals
  866.  
  867.   Code  Description                           Reference
  868.   E0A0  Extensible left brace middle          DEC Tech 02/15
  869.   E0A1  Extensible left parenthesis bottom    DEC Tech 02/12, IBM SS210000
  870.   E0A2  Extensible left parenthesis top       DEC Tech 02/11, IBM SS200000
  871.   E0A3  Extensible left SB bottom             DEC Tech 02/08
  872.   E0A4  Extensible left SB top                DEC Tech 02/07
  873.   E0A5  Extensible right brace middle         DEC Tech 03/00
  874.   E0A6  Extensible UR or LL brace section     IBM SS240000
  875.   E0A7  Extensible LR or UL brace section     IBM SS250000
  876.   E0A8  Extensible right parenthesis bottom   DEC Tech 02/14, IBM SS230000
  877.   E0A9  Extensible right parenthesis top      DEC Tech 02/13, IBM SS220000
  878.   E0AA  Extensible right SB bottom            DEC Tech 02/10
  879.   E0AB  Extensible right SB top               DEC Tech 02/08
  880.   E0AC  Summation symbol bottom               DEC Tech 03/02, DG Math 01/09(1)
  881.   E0AD  Summation symbol top                  DEC Tech 03/01, DG Math 01/08(1)
  882.   E0AE  Right ceiling corner                  DEC Tech 03/05
  883.   E0AF  Right floor corner                    DEC Tech 03/06
  884.   E0B0  Radical symbol, small                 DEC Tech 00/01
  885.   E0B1  Radical symbol with stroke            DG  Math 01/13
  886.   E0B2  Superscript Latin small letter i      SNI Math 03/00
  887.   E0B3  Latin small letter a with underbar    SNI Math 04/04 (2)
  888.   E0B4  Latin capital letter O with underbar  SNI Math 04/09 (2)
  889.   E0B5  Superscript almost-equal-to sign      SNI IBM  06/12
  890.   E0B6  Superscript capital Greek letterSigma SNI IBM  06/13
  891.   E0B7  Superscript infinity sign             SNI IBM  07/12
  892.   E0B8  Superscript proportional-to sign      SNI IBM  07/13
  893.  
  894. References:
  895.   DEC Tech = Digital Equipment Corporation Technical Character Set [5]
  896.   SNI Math = Siemens Nixdorf Mathematisch [21]
  897.   SNI IBM  = Siemens Nixdorf IBM [21]
  898.   DG Math  = Data General Word-Processing, Greek, and Math Character Set [2]
  899.   IBM      = IBM Graphic Character Global Identifier (GCGID) [14]
  900.  
  901. Notes:
  902.  (1) Also GCGID SS280000 and SS29000.
  903.  (2) These are like feminine and masculine ordinal, respectively, but full
  904.      size, not superscripts.
  905.  
  906. Summary: 25 new characters, E0A0-E0B8.
  907.  
  908.  
  909. 7. LINE, BOX, AND BLOCK CHARACTERS
  910.  
  911. A particular need addressed by this proposal is the continued ability to
  912. support (sometimes mission-critical) terminal-based forms-filling
  913. applications that also require entry and display of international
  914. characters, as terminals are replaced by PCs.  So far, Unicode has provided
  915. the international characters, but not necessarily all the needed
  916. character-cell based forms-drawing capabilities.
  917.  
  918. Some terminals have vertical and horizontal lines that are not centered
  919. within the character cell, and currently not found in Unicode.  Others have
  920. black rectangles or other shapes not found in the U+2580 block.
  921.  
  922. Table 7.1 lists the  additional line, box, and block characters needed to
  923. emulate the target terminals.
  924.  
  925. Abbreviations:
  926.   V   = Vertical
  927.   H   = Horizontal
  928.   L   = Left
  929.   R   = Right
  930.   LL  = Lower Left
  931.   LR  = Lower Right
  932.   UL  = Upper Left
  933.   UR  = Upper Right
  934.  
  935. Terminology:
  936.  
  937. Quadrant
  938.   A black rectangle filling one quarter of a cell, with one corner in the
  939.   center and the opposite corner at a corner of the cell.  So "Quadrant UL"
  940.   is the upper left quadrant; "Quadrant UL and UR" is the top half of the
  941.   cell (which happens to be coincident with U+2580 and so is not included
  942.   here).
  943.  
  944. Line
  945.   Refers to a line that extends all the way to opposite edge(s) of a cell,
  946.   designed to be joined to (a) line(s) in the adjacent cell(s).
  947.  
  948. Bar
  949.   Refers to a horizontal line that does not touch any cell edges.
  950.  
  951. Wedge
  952.   Refers to a character cell with a diagonal line connecting opposite
  953.   corners, dividing it into two triangles; one black, the other white; the
  954.   wedge is the black part.  Thus an UL Wedge is similar to U+25E9, except it
  955.   fills the entire character cell.
  956.  
  957. Framus
  958.   (Pick a better word!) is a shape composed of two triangles with their
  959.   points meeting at the center of the cell to form an X with bars across the
  960.   top and bottom, closing the open ends.  A black framus has the two
  961.   triangles filled in; a white one is in outline form.  A framus with center
  962.   bar has a horizontal line through the center of the cell.
  963.  
  964. Figure 7.1: "Framus" Glyphs
  965.  
  966.     White     Black    With Bar
  967.    *******   *******   *******
  968.     *   *     *****     *   *
  969.      * *       ***       * *
  970.       *         *     *********
  971.      * *       ***       * *
  972.     *   *     *****     *   *
  973.    *******   *******   *******
  974.  
  975. Table 7.1: Additional Line, Box, and Block Characters
  976.  
  977.   Code  Description                 References
  978.   E0D0  L V box line, extensible    H19 07/12 (1)
  979.   E0D1  R V box line, extensible    H19 07/13 (1)
  980.   E0D2  UL Wedge                    H19 07/02, IBM SF870000
  981.   E0D3  UR Wedge                    H19 05/14, IBM SF860000
  982.   E0D4  LL Wedge                    IBM SF850000
  983.   E0D5  LR Wedge                    IBM SF840000
  984.   E0D6  H line - Scan 1             DSG 06/15, H19 07/10, WG3 05/00, TVI 09/00
  985.   E0D7  H line - Scan 3             DSG 07/00, Wyse ANSI 01/01, WG3 05/00
  986.   E0D8  H line - Scan 5             DSG 07/01, Wyse ANSI 02/02 (2)
  987.   E0D9  H line - Scan 7             DSG 07/02, Wyse ANSI 01/03, WG3 05/01
  988.   E0DA  H line - Scan 9             DSG 07/03, H19 07/11, WG3 05/01, TVI 09/01
  989.   E0DB  Quadrant LL                 H19 06/13, WG3 05/05, TVI 09/05
  990.   E0DC  Quadrant LR                 H19 06/12, WG3 05/04, TVI 09/04
  991.   E0DD  Quadrant UL                 H19 06/14, WG3 05/06, TVI 09/06
  992.   E0DE  Quadrant UL and LL and LR   WG3 05/11, TVI 09/11
  993.   E0DF  Quadrant UL and LR          H19 06/10 (3)
  994.   E0E0  Quadrant UL and UR and LL   WG3 05/12, TVI 09/12
  995.   E0E1  Quadrant UL and UR and LR   WG3 05/13, TVI 09/13
  996.   E0E2  Quadrant UR                 H19 111, WG3 83, TVI 09/03
  997.   E0E3  Quadrant UR and LL          (for completeness)
  998.   E0E4  Quadrant UR and LL and LR   WG3 05/14, TVI 09/14
  999.   E0E5  Full black diamond          TVI 09/02 (4)
  1000.   E0E6  Black framus                DGM 06/08
  1001.   E0E7  Black framus + H center bar DGM 06/09
  1002.   E0E8  White framus                DGM 06/10
  1003.   E0E9  White framus + H center bar DGM 06/11
  1004.   E0EA  R & L arrow to V center bar DGM 03/13
  1005.   E0EB  Up arrow to H center line   DGL 02/12
  1006.   E0EC  R arrow to V center line    DGL 02/13
  1007.   E0ED  L arrow to V center line    DGL 02/14
  1008.   E0EE  Down arrow to H center line DGL 02/12
  1009.   E0EF  Box drawing double dash H   DGL 03/12 (5)
  1010.  
  1011. References:
  1012.   DGM = Data General Word-Processing, Greek, and Math Character Set [2]
  1013.   DGL = Data General Line Drawing Character Set [2]
  1014.   DSG = The DEC Special Graphics Character Set [5]
  1015.   H19 = The Heath/Zenith 19 Graphics Character Set [10]
  1016.   WG3 = The Wyse Graphics 3 Character Set [25]
  1017.   TVI = The Televideo 965 Multinational Character Set [23]
  1018.   IBM = Graphic Character Global Identifier (GCGID) [14]
  1019.   Wyse ANSI = Wyse 60 "Standard ANSI", "UK ANSI", and "ANSI Graphics" [25]
  1020.  
  1021. Notes:
  1022.   (1) The vertical box lines are near, but not touching, the left and right
  1023.       edges of the cell, respectively, and are two pixels thick on the H19
  1024.       screen.  Similar to IBM GCID SF640000 and SF650000, respectively.
  1025.   (2) A centered horizontal is already in Unicode U+2500, but this one might
  1026.       need to be encoded separately if existing one does not mesh well with
  1027.       other line and box characters.
  1028.   (3) Only on Zenith models, not original Heathkits.
  1029.   (4) Full black diamond, with points touching center of each cell wall.
  1030.   (5) Similar to U+2504 but double rather than triple.
  1031.  
  1032. Also note that Quadrants UL+UR, UR+LR, LL+LR, UL+LL (half blocks) are
  1033. already encoded at block U+2580.
  1034.  
  1035. Summary:
  1036.  32 New glyphs, Range E0D0 to E0EF.
  1037.  
  1038.  
  1039. 8. UNFINISHED BUSINESS
  1040.  
  1041. The selection of characters presented in this draft is far from
  1042. comprehensive.  Hundreds of other terminals from the past 30+ years are
  1043. likely to have glyphs or entire character sets covered neither here nor
  1044. in Unicode, and these might or might not be important in some application
  1045. somewhere.  Readers are invited, therefore, to propose any needed
  1046. additions, bearing in mind that Unicode code space is not unlimited.
  1047.  
  1048. Several character sets found in the references consulted are ignored here,
  1049. fully or in part, due to lack of motivation (nobody has ever asked us, in
  1050. our role of terminal emulator maker, to support them).  Obviously these, and
  1051. any other missing sets (such as the many Videotex/Teletex/etc mosaic sets),
  1052. can be considered if there is a demand.
  1053.  
  1054. Siemens Nixdorf Facet
  1055.   A set of 95 mosaic graphics, but not resembling any of the ISO Videotex
  1056.   mosaic sets; difficult to describe.
  1057.  
  1058. Siemens Nixdorf Klammern (Brackets)
  1059.   A set of 95 assorted blobs, bracket and brace pieces, clocks, arrows,
  1060.   hourglasses, and Greek letters, some of which are unique; others can be
  1061.   unified with existing Unicode characters or characters in this proposal.
  1062.  
  1063. Hewlett Packard Line Drawing
  1064.   Mostly coincident with Unicode box-drawing set at U+2500, but with a
  1065.   handful of unique characters, such as single-to-triple box intersections,
  1066.   single-to-double intersections with wide spacing, etc.  These should be
  1067.   mappable to existing U+25xx glyphs without causing riots in the streets.
  1068.  
  1069. Hewlett Packard Big Character Pieces
  1070.   Thick line segments for drawing large characters, used on the HP-2648.
  1071.  
  1072.  
  1073. 9. SUMMARY OF PROPOSED ADDITIONAL CHARACTERS
  1074.  
  1075. If all the proposed new characters are added to the UCS, this will enable
  1076. terminal emulators to fully handle at least the following terminal character
  1077. sets, which were not previously covered in full:
  1078.  
  1079.   ASCII/ISO Display Controls for DEC, Hewlett Packard, Televideo, and others.
  1080.   EBCDIC Display Controls for the IBM 3270
  1081.   Hexadecimal debugging
  1082.   DEC Technical
  1083.   DEC Special Graphics
  1084.   Data General Word-Processing, Greek, and Math (1)
  1085.   Data General Line Drawing
  1086.   Heath/Zenith 19 Graphics
  1087.   Hewlett Packard 2621 and HPTERM
  1088.   Siemens Nixdorf's "IBM" set (plus parts of its Klammern and Facet sets)
  1089.   Televideo Multinational
  1090.   Wyse Graphics 3 (Graphics 1 and 2 were already covered)
  1091.   Wyse "Standard ANSI", "UK ANSI", and "ANSI Graphics"
  1092.  
  1093. Notes:
  1094.  (1) Except the DG logo character, which is presumed off limits.
  1095.  
  1096. Terminals supporting these character sets are numerous indeed.  An
  1097. incomplete list includes: DEC VT100, VT102, VT220/240, VT320/330/340, VT420,
  1098. VT520/525; Data General 210, 215, 217, 413, and 463; the Heath / Zenith 19;
  1099. the Perkin Elmer 550 and 1100; and numerous Televideo and Wyse models.
  1100.  
  1101. The new characters proposed in this document are listed in Table 10.1.
  1102.  
  1103. Priorities:
  1104.  
  1105. For terminal emulation the most important categories are, in descending order:
  1106.  1. Line, Box, and Block characters
  1107.  2. Extensible math symbols
  1108.  3. C1 and EBCDIC control pictures
  1109.  4. Hex bytes
  1110.  
  1111. For adding debugging capabilities to Unicode applications in general:
  1112.  1. Hex bytes
  1113.  2. Unicode control pictures
  1114.  3. C1 and EBCDIC control pictures
  1115.  
  1116. Table 10.1: Census of New Characters
  1117.  
  1118.   Code  Description
  1119.   E000  Symbol for En Quad
  1120.   E001  Symbol for Em Quad
  1121.   E002  Symbol for En Space
  1122.   E003  Symbol for Em Space
  1123.   E004  Symbol for Three-Per-Em-Space
  1124.   E005  Symbol for Four-Per-Em-Space
  1125.   E006  Symbol for Six-Per-Em-Space
  1126.   E007  Symbol for Figure Space
  1127.   E008  Symbol for Punctuation Space
  1128.   E009  Symbol for Thin Space
  1129.   E00A  Symbol for Hair Space
  1130.   E00B  Symbol for Zero-Width Space
  1131.   E00C  Symbol for Zero-Width Non-Joiner
  1132.   E00D  Symbol for Zero-Width Joiner
  1133.   E00E  Symbol for Left-to-Right Mark
  1134.   E00F  Symbol for Right-to-Left Mark
  1135.   E010  Symbol for Line Separator
  1136.   E011  Symbol for Paragraph Separator
  1137.   E012  Symbol for Left-to-Right Embedding
  1138.   E013  Symbol for Right-to-Left Embedding
  1139.   E014  Symbol for Pop Directional Formatting
  1140.   E015  Symbol for Left-to-Right Override
  1141.   E016  Symbol for Right-to-Left Override
  1142.   E017  Symbol for Inhibit Symmetric Swapping
  1143.   E018  Symbol for Activate Symmetric Swapping
  1144.   E019  Symbol for Inhibit Arabic Form Shaping
  1145.   E01A  Symbol for Activate Arabic Form Shaping
  1146.   E01B  Symbol for National Digit Shapes
  1147.   E01C  Symbol for Nominal Digit Shapes
  1148.   E01D  Symbol for Zero Width No Break Space
  1149.   E01E  Symbol for Not A Character (Byte Order)
  1150.   E01F  Symbol for Not A Character
  1151.   E020  (Reserved)
  1152.   E021  (Reserved)
  1153.   E022  Symbol for Break Permitted Here
  1154.   E023  Symbol for No Break Here
  1155.   E024  Symbol for Index
  1156.   E025  Symbol for Next Line
  1157.   E026  Symbol for Start Selected Area
  1158.   E027  Symbol for End Selected Area
  1159.   E028  Symbol for Character Tabulation Set
  1160.   E029  Symbol for Character Tabulation with Justification
  1161.   E02A  Symbol for Line Tabulation Set
  1162.   E02B  Symbol for Partial Line Forward
  1163.   E02C  Symbol for Partial Line Backward
  1164.   E02D  Symbol for Reverse Line Feed
  1165.   E02E  Symbol for Single Shift 2
  1166.   E02F  Symbol for Single Shift 3
  1167.   E030  Symbol for Device Control String
  1168.   E031  Symbol for Private Use 1
  1169.   E032  Symbol for Private Use 2
  1170.   E033  Symbol for Set Transmit State
  1171.   E034  Symbol for Cancel Character
  1172.   E035  Symbol for Message Waiting
  1173.   E036  Symbol for Start Protected (Guarded) Area
  1174.   E037  Symbol for End Protected (Guarded) Area
  1175.   E038  Symbol for Start of String
  1176.   E039  (Reserved)
  1177.   E03A  Symbol for Single Character Introducer
  1178.   E03B  Symbol for Control Sequence Introducer
  1179.   E03C  Symbol for String Terminator
  1180.   E03D  Symbol for Operating System Command
  1181.   E03E  Symbol for Privacy Message
  1182.   E03F  Symbol for Application Program Command
  1183.   E040  Symbol for Select
  1184.   E041  Symbol for Required New Line
  1185.   E042  Symbol for Graphic Escape
  1186.   E043  Symbol for Superscript
  1187.   E044  Symbol for Repeat
  1188.   E045  Symbol for Restore
  1189.   E046  Symbol for Program Operator Communication
  1190.   E047  Symbol for Unit Back Space
  1191.   E048  Symbol for Customer Use 1
  1192.   E049  Symbol for Interchange File Separator
  1193.   E04A  Symbol for Interchange Group Separator
  1194.   E04B  Symbol for Interchange Record Separator
  1195.   E04C  Symbol for Interchange Unit Separator
  1196.   E04D  Symbol for Digit Select
  1197.   E04E  Symbol for Start of Significance
  1198.   E04F  Symbol for Word Underscore
  1199.   E050  Symbol for Bypass
  1200.   E051  Symbol for Set Attribute
  1201.   E052  Symbol for Start Field Extended
  1202.   E053  Symbol for Set Mode
  1203.   E054  Symbol for Control Sequence Prefix
  1204.   E055  Symbol for Modify Field Attribute
  1205.   E056  (Reserved)
  1206.   E057  (Reserved)
  1207.   E058  Symbol for Index Return
  1208.   E059  Symbol for Presentation Position
  1209.   E05A  Symbol for Transparent
  1210.   E05B  Symbol for Numeric Backspace
  1211.   E05C  Symbol for Subscript
  1212.   E05D  Symbol for Indent Tabulation
  1213.   E05E  Symbol for Reverse Form Feed
  1214.   E05F  Symbol for Customer Use 3
  1215.   E060  (Reserved)
  1216.   E070  Symbol for Start Field
  1217.   E071  Symbol for Set Buffer Address
  1218.   E072  Symbol for Modify Field
  1219.   E073  Symbol for Insert Cursor
  1220.   E074  Symbol for Program Tab
  1221.   E075  Symbol for Repeat to Address
  1222.   E076  Symbol for Erase to Unprotected Address
  1223.   E077  Symbol for Vertical Channel Select
  1224.   E078  Symbol for Enable Presentation
  1225.   E079  Symbol for Inhibit Presentation
  1226.   E07A  Symbol for Format
  1227.   E07B  Symbol for Duplicate
  1228.   E07C  Overscore asterisk
  1229.   E07D  Symbol for Field Mark
  1230.   E07E  Overscore semicolon
  1231.   E07F  Symbol for Eight Ones
  1232.   E080  Human stick figure
  1233.   E081  Human stick figure in box
  1234.   E082  Clock at 6:10 (or 1:30)
  1235.   E083  White rectangle with stroke
  1236.   E084  Black rectangle with stroke
  1237.   E085  Lighting with stroke
  1238.   E086  Security key
  1239.   E087  Black and White Right-Pointing Triangles
  1240.   E090  Symbol for Locking Shift 1
  1241.   E091  Symbol for Locking Shift 0
  1242.   E092  Symbol for Control Extension
  1243.   E093  Symbol for Information Separator 4
  1244.   E094  Symbol for Information Separator 3
  1245.   E095  Symbol for Information Separator 2
  1246.   E096  Symbol for Information Separator 1
  1247.   E097  Symbol for Cancel Line
  1248.   E098  Picture of Bell
  1249.   E099  Word Processing Symbol BP
  1250.   E09A  Word Processing Symbol BE
  1251.   E09B  Word Processing Symbol FN
  1252.   E09C  Word Processing Symbol FE
  1253.   E09D  Word Processing Symbol BP
  1254.   E0A0  Extensible left brace middle
  1255.   E0A1  Extensible left parenthesis bottom
  1256.   E0A2  Extensible left parenthesis top
  1257.   E0A3  Extensible left SB bottom
  1258.   E0A4  Extensible left SB top
  1259.   E0A5  Extensible right brace middle
  1260.   E0A6  Extensible UR or LL brace section
  1261.   E0A7  Extensible LR or UL brace section
  1262.   E0A8  Extensible right parenthesis bottom
  1263.   E0A9  Extensible right parenthesis top
  1264.   E0AA  Extensible right SB bottom
  1265.   E0AB  Extensible right SB top
  1266.   E0AC  Summation symbol bottom
  1267.   E0AD  Summation symbol top
  1268.   E0AE  Right ceiling corner
  1269.   E0AF  Right floor corner
  1270.   E0B0  Radical symbol, small
  1271.   E0B1  Radical symbol with stroke
  1272.   E0B2  Superscript Latin small letter i
  1273.   E0B3  Latin small letter a with underbar
  1274.   E0B4  Latin capital letter O with underbar
  1275.   E0B5  Superscript almost-equal-to sign
  1276.   E0B6  Superscript capital Greek letter Sigma
  1277.   E0B7  Superscript infinity sign
  1278.   E0B8  Superscript proportional-to sign
  1279.   E0D0  L V box line, extensible
  1280.   E0D1  R V box line, extensible
  1281.   E0D2  UL Wedge
  1282.   E0D3  UR Wedge
  1283.   E0D4  LL Wedge
  1284.   E0D5  LR Wedge
  1285.   E0D6  H line - Scan 1
  1286.   E0D7  H line - Scan 3
  1287.   E0D8  H line - Scan 5
  1288.   E0D9  H line - Scan 7
  1289.   E0DA  H line - Scan 9
  1290.   E0DB  Quadrant LL
  1291.   E0DC  Quadrant LR
  1292.   E0DD  Quadrant UL
  1293.   E0DE  Quadrant UL and LL and LR
  1294.   E0DF  Quadrant UL and LR
  1295.   E0E0  Quadrant UL and UR and LL
  1296.   E0E1  Quadrant UL and UR and LR
  1297.   E0E2  Quadrant UR
  1298.   E0E3  Quadrant UR and LL
  1299.   E0E4  Quadrant UR and LL and LR
  1300.   E0E5  Full black diamond
  1301.   E0E6  Black framus
  1302.   E0E7  Black framus + H center bar
  1303.   E0E8  White framus
  1304.   E0E9  White framus + H center bar
  1305.   E0EA  R & L arrow to V center bar
  1306.   E0EB  Up arrow to H center line
  1307.   E0EC  R arrow to V center line
  1308.   E0ED  L arrow to V center line
  1309.   E0EE  Down arrow to H center line
  1310.   E0EF  Box drawing double dash H
  1311.   E100  Symbol for Hex Byte 00
  1312.   E101  Symbol for Hex Byte 01
  1313.   :     :
  1314.   E1FF  Symbol for Hex Byte FF
  1315.  
  1316. Summary:
  1317.   Hex bytes:                 256
  1318.   Control pictures:          135
  1319.     Unicode Controls:  32
  1320.     C0 Controls:        0
  1321.     C1 Controls:       32
  1322.     EBCDIC Controls:   33
  1323.     3270 Controls:     16
  1324.     3270 Indicators:    8
  1325.     Misc Controls:     14
  1326.   Math Symbols:               25
  1327.   Line/Box/Block:             32
  1328.  
  1329. Total:                       448
  1330.  
  1331.  
  1332. 10. REFERENCES
  1333.  
  1334.  [1] American National Standards Institute, ANSI X3.4-1986, Code for
  1335.      Information Interchange (ASCII), 1986.
  1336.  
  1337.  [2] Data General, Programming the Display Terminal: Models D217, D413, and
  1338.      D463, Westboro, MA, 1991.
  1339.  
  1340.  [3] Digital Equipment Corporation, VT100 User Guide, EK-VT100-UG-002,
  1341.      Maynard, MA, 1979.
  1342.  
  1343.  [4] Digital Equipment Corporation, VT100 Video Terminal User Guide,
  1344.      EK-VT102-UG-003, Maynard, MA, 1982.
  1345.  
  1346.  [5] Digital Equipment Corporation, VT220 Owner's Manual, EK-VT220-UG-003,
  1347.      Maynard, MA, 1984.
  1348.  
  1349.  [6] Digital Equipment Corporation, VT220 Series Programmer Reference
  1350.      Manual, EK-VT240-RM-002, Maynard, MA, 1984.
  1351.  
  1352.  [7] Digital Equipment Corporation, VT330/VT340 Programmer Reference Manual,
  1353.      Volume 1: Text Programming, ED-VT3XX-TP-002, Maynard, MA, 1988.
  1354.  
  1355.  [8] Digital Equipment Corporation, Installing and Using the VT420 Video
  1356.      Terminal EK-VT420-UG.002, Maynard, MA, 1988.
  1357.  
  1358.  [9] Digital Equipment Corporation, VT520/VT525 Video Terminal Programmer
  1359.      Inforamtion, EK-VT520-RM.A01, Maynard, MA, 1994.
  1360.  
  1361. [10] Heathkit Manual for the Video Terminal Model H19, The Heath Company,
  1362.      Benton Harbor, MI, 1979.
  1363.  
  1364. [11] Hewlett Packard 2621A/P Interactive Terminal Owner's Manual, 1978.
  1365.  
  1366. [12] Hewlett Packard 2648A Graphics Terminal Reference Manual, 1977.
  1367.  
  1368. [13] IBM System/360 Principles of Operation, GA22-6821-8, Poughkeepsie,
  1369.      NY, 1970.
  1370.  
  1371. [14] IBM National Language Design Guide, Volume 2:  National Language
  1372.      Support Reference Manual, 4th Edition, North York, ON, 1994.
  1373.  
  1374. [15] IBM 3270 Information Display System, Component Description,
  1375.      GA27-2749-10, 1980.
  1376.  
  1377. [16] IBM 3164 ASCII Color Display Station Description, GA18-2317-1, 1986.
  1378.  
  1379. [17] ISO International Standard 2022, Information processing -- ISO
  1380.      7-bit and 8-bit coded character sets -- Code extension techniques,
  1381.      Third Edition, Geneva, 1986.
  1382.  
  1383. [18] ISO/IEC International Standard 6429, Information technology --
  1384.      Control functions for coded character sets, Third Edition, Geneva, 1992.
  1385.  
  1386. [19] ISO/IEC 10646-1, International Standard 10646,
  1387.      Information Processing -- Multiple-Octet Coded Character Set,
  1388.      1993-now.
  1389.  
  1390. [20] Perkin Elmer Model 1100 User's Manual, Randolph, NJ, 1978.
  1391.  
  1392. [21] Siemens Nixdorf, Bildschirmeinheit 97801-5xx Schnittstellen,
  1393.      Benutzerhandbuch, Mⁿnchen, 1991.
  1394.  
  1395. [22] Televideo 922 Video Terminal Display Operator's Manual, Sunnyvale, CA,
  1396.      1984.
  1397.  
  1398. [23] Televideo 922 Video Terminal Display Operator's Manual, Sunnyvale, CA,
  1399.      1988.
  1400.  
  1401. [24] The Unicode Standard, Version 2.0, Addison-Wesley Developers
  1402.      Press, 1996.
  1403.  
  1404. [25] Wyse WY-60 Programmer's Guide, Wyse Technology, San Jose, CA, 1987.
  1405.  
  1406. [26] Wyse WY-370 Programmer's Guide, Wyse Technology, San Jose, CA, 1990.
  1407.  
  1408. [27] IBM 3270 Information Display System, Data Stream Programmer's Reference,
  1409.      GA23-0059-06, 1991.
  1410.  
  1411. [28] ISO International Register of Coded Characters to Be Used with Escape
  1412.      Sequences, European Computer Manufacturers Association (ECMA), Geneva,
  1413.      1985-present.
  1414.  
  1415. [29] IBM Character Data Representation Architecture, Level 1 Registry,
  1416.      IBM Canada Ltd., National Language Technical Centre, Ontario,
  1417.      SC09-1391-00, 1990.
  1418.  
  1419. (End)
  1420.