home *** CD-ROM | disk | FTP | other *** search
/ Columbia Kermit / kermit.zip / archives / ucsterminal.zip / ucsterminal_03.txt < prev    next >
Text File  |  2000-03-28  |  40KB  |  959 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.  
  11.   Tue Nov 10 00:00:00 1998
  12.  
  13.  
  14. THIS IS A PREFORMATTED PLAIN-TEXT ASCII DOCUMENT.  IT IS DESIGNED TO BE
  15. VIEWED AS-IS IN A FIXED-PITCH FONT.  ITS WIDEST LINE IS 79 COLUMNS.  IT
  16. CONTAINS NO TABS.  IF IT LOOKS MESSY TO YOU, PLEASE FEEL FREE TO PICK UP
  17. A CLEAN COPY OF THIS OR THE RELATED PROPOSALS BY ANONYMOUS FTP:
  18.  
  19.   HEX BYTE PICTURES FOR UNICODE (plain text)
  20.     ftp://kermit.columbia.edu/kermit/ucsterminal/hex.txt
  21.  
  22.   ADDITIONAL CONTROL PICTURES FOR UNICODE (plain text)
  23.     ftp://kermit.columbia.edu/kermit/ucsterminal/control.txt
  24.  
  25.   TERMINAL GRAPHICS FOR UNICODE (plain text)
  26.     ftp://kermit.columbia.edu/kermit/ucsterminal/ucsterminal.txt
  27.  
  28.   Glyph Map (PDF, contributed by Michael Everson)
  29.     ftp://kermit.columbia.edu/kermit/ucsterminal/terminal-emulation.pdf
  30.  
  31.   Clarification of SNI Glyphs (Microsoft Word 7.0)
  32.     ftp://kermit.columbia.edu/kermit/ucsterminal/sni-charsets.doc
  33.  
  34.   Discussion (plain text)
  35.     ftp://kermit.columbia.edu/kermit/ucsterminal/mail.txt
  36.  
  37.   (Note, the Exhibits are on paper and not available at the FTP site.)
  38.  
  39.  
  40. ABSTRACT
  41.  
  42. A selection of terminal graphics characters is proposed for Unicode [24] and
  43. ISO 10646 [19] to allow Unicode-based terminal emulation software to display
  44. glyphs that are found on popular types of terminals but currently are not
  45. available in Unicode, and to exchange these characters with other
  46. Unicode-based applications.
  47.  
  48.  
  49. CONTENTS
  50.  
  51.     1.  Introduction
  52.     2.  Scope
  53.     3.  Organization
  54.     4.  (deleted)
  55.     5.  3270 Terminal Operator Status Indicators
  56.     6.  Math Symbols
  57.     7.  Line, Box, and Block Characters
  58.     8.  Unfinished Business
  59.     9.  Summary of Proposed Additional Characters
  60.    10.  References
  61.    11.  Exhibits
  62.  
  63. Tables:
  64.  
  65.   5.1.  3270 Terminal Operator Status Indicators
  66.   6.1.  Math Symbols for Terminals
  67.   7.1.  Additional Line, Box, and Block Characters
  68.   9.1.  Census of New Characters
  69.  
  70. Figures:
  71.  
  72.   5.1.  Connected Rectangles
  73.   7.1.  "Framus" Glyphs
  74.  
  75.  
  76. Notation:
  77.  
  78.  . Numbers in (parentheses) are footnote references, keyed to footnotes
  79.    at the bottom of the section in which they appear.
  80.  . Numbers in [brackets] are keyed to the References in Section 10.
  81.  . Letter-Digit in brackets refers to an Exhibit in Section 11.
  82.  
  83. Grateful acknowledgements to those whose comments on previous drafts are
  84. reflected in this one: Kevin Bracey, Michael Everson, Doug Ewell, Asmus
  85. Freytag, Christine Gianone, Tony Harminc, Elliotte Rusty Harold, Edwin Hart,
  86. Kent Karlsson, Paul Keinanen, Markus Kuhn, Alain LaBontΘ, Heinz Lohse, Rick
  87. McGowan, Sean O'Leary, Jonathan Rosenne, Otto Stolz, Geoffrey Waigh, Kenneth
  88. Whistler.  Special thanks to Michael Everson for his rendition of the
  89. proposed glyphs and to Markus Kuhn for scanning the exhibits.
  90.  
  91.  
  92. 1. INTRODUCTION
  93.  
  94. Terminal-host communication was the dominant form of interaction between
  95. human and computer from about 1974 (when CRTs became affordable)(1) to about
  96. 1994 (when the Web and Windows took over the mass market).  Terminal-host
  97. communication is still widespread, especially in large organizations, and
  98. is expected to remain so for decades to come, playing an important part in
  99. organizations like universities, hospitals, government agencies, and
  100. corporations with central computing facilities, for use in applications
  101. ranging from sofware development and system/network administration, to email
  102. and text-based Web access, to data entry and inquiry, to transaction
  103. processing, and it is also important to people who use speech or Braille
  104. devices and Telecommunications Devices for the Deaf (TDDs).
  105.  
  106. A text terminal, for purposes of this document, is a device for entry and
  107. display of text in a fixed-pitch font on a screen (or on paper) in which
  108. graphic characters are displayed as glyph images in rows and columns of
  109. "cells" of fixed and uniform size, one glyph image per cell.  Text terminals
  110. generally display (or otherwise handle) the characters of ASCII [1] or
  111. EBCDIC [13], and often also accented or non-Roman letters (or ideograms),
  112. and often also "graphics" (2) (non-alphabetic, non-digit, non-punctuation)
  113. characters for purposes of line- and box-drawing, mathematics, or other
  114. special effects, and they also accept control characters or escape sequences
  115. for formatting.
  116.  
  117. In recent years, physical terminals have largely disappeared from the scene,
  118. their functions subsumed into PCs running terminal-emulation software
  119. alongside other applications.  Unicode (viewed as a process) has effectively
  120. met the need for encoding the earth's writing systems, but so far it is not
  121. as well suited to terminal emulation as it might be since it lacks some of
  122. the required graphics characters.
  123.  
  124. Without a standard encoding for the missing glyphs, each maker of terminal
  125. emulation software must create or contract for custom fonts with private
  126. encodings.  Such fonts are not compatible with other (otherwise compatible)
  127. fonts on the same platform (e.g. when copying from a terminal window and
  128. pasting to a word processor), nor with each other.  Furthermore, should
  129. Unicode printers become standard equipment on PCs, terminal graphics
  130. characters will not print correctly on them (e.g. when used with the
  131. terminal's transparent printing, autoprinting, or dump-screen features).
  132.  
  133. This document proposes a modest repertoire of terminal graphics characters
  134. to be added to Unicode and ISO 10646, to supplement those already there
  135. (e.g. the line and box drawing characters at U+2500) to which all makers of
  136. fonts, code pages, and printers can refer when designing their products, and
  137. upon which all makers of terminal emulation and/or debugging software can
  138. base their screen displays.
  139.  
  140. To state the motivation for this and the companion proposals (see Section
  141. 2.2.) as clearly as I can:
  142.  
  143.  1. There are numerous terminal emulation products on the market, with a user
  144.     base numbering in the millions.
  145.  
  146.  2. Increasingly, these products are designed for and used on systems --
  147.     like Windows NT -- that have Unicode fonts.
  148.  
  149.  3. Many terminal based applications take full advantage of the features and
  150.     glyph repertoires of the terminals they are designed for (far beyond the
  151.     simple models supported, e.g. by termcap/terminfo).
  152.  
  153.  4. The glyph repertoire of many common terminals -- VT100/VT220, Wyse,
  154.     Siemens Nixdorf, Data General, etc, include glyphs that are not presently
  155.     in Unicode.
  156.  
  157.  5. Customers of terminal emulation products often demand complete and 
  158.     accurate emulation.
  159.  
  160.  6. In order to succeed, makers of terminal emulation software must create
  161.     private fonts containing the missing glyphs (which, as an aside,
  162.     unnecessarily drives up the cost of the product for the end user) in
  163.     the Private Use area.
  164.  
  165.  7. Because of the closed and proprietary nature of this process, each
  166.     terminal emulation product potentially (and in fact) encodes the same
  167.     characters at different places.
  168.  
  169.  8. Other applications use the Private Use Area for other purposes (and other
  170.     glyphs).
  171.  
  172.  9. The result is that terminal emulation products do not interoperate with
  173.     each other or with other applications on the same platform.
  174.  
  175. For example, a VT100 or HP forms-based screen can not be pasted into a word
  176. processing document without changing the forms borders (etc, depending on
  177. exactly how they are encoded) into whatever other glyphs happen to be defined
  178. at the same code points in the font used by the other application.  Ditto for
  179. mathematical formulae displayed on DEC or Siemens Nixdorf screens.  Ditto for
  180. character-cell illustrations or tables in numerous online texts intended for
  181. display on any of the widespread terminals.
  182.  
  183. Notes:
  184.  (1) Strictly speaking, terminals predate electronic computers by some
  185.      decades; the Teletype (used as the control terminal on many mainframes
  186.      and most minicomputers in the 1950s through 1970s) dates back to 1929.
  187.  (2) Note the distinction between "graphic" meaning "printing" (as in
  188.      "ISO 8859-1 is a graphic character set") versus "graphics" meaning
  189.      having something to do with pictures.  Note that graphics terminals
  190.      (such as the Tektronix 4010) also exist, but are not relevant to this
  191.      proposal.
  192.  
  193.  
  194. 2. SCOPE
  195.  
  196. This document represents a survey of the following terminals:
  197.  
  198.   Data General D210,215,217,413,463 [2]
  199.   Digital Equipment Corporation VT100 through VT520 [3-9]
  200.   Heath / Zenith 19 [10]
  201.   Hewlett Packard HP-2621 and HP-2648 [11,12]
  202.   IBM 3164 and 3270 [15,16,27]
  203.   Siemens Nixdorf 97801 [21]
  204.   Televideo 922 and 965 [22,23]
  205.   Wyse 60 and 370 [25,26]
  206.  
  207. as well as:
  208.  
  209.   IBM PC code page 437 [14]
  210.  
  211. which is the basis for numerous PC-oriented so-called ANSI emulations.
  212.  
  213. 2.1. Problems
  214.  
  215. Even within this fairly narrow scope, arriving at a sufficient set of
  216. character-cell terminal graphics for Unicode is complicated by the
  217. well-known problems that affect other preexisting character sets to varying
  218. degrees:
  219.  
  220.  1. Lack of official names for the characters of some of the sets.
  221.  2. Lack of definitive, high-quality pictures of the glyphs in some cases.
  222.  3. Lack of descriptions of the purpose and intended use of the glyphs.
  223.  4. Lack of a current registration authority or owner in some cases.
  224.  5. Questions of unification of glyphs from different terminal makers.
  225.  6. End-user demand for specific characters or sets.
  226.  
  227. The issue of unification is complicated by the fact that some of the
  228. terminal graphics characters are designed to join at cell boundaries to form
  229. "pictures" (such as boxes or forms to be filled out) or large characters
  230. (such as big math symbols) spanning multiple rows and/or columns.  The
  231. relationship of similar-looking glyphs for different terminals is difficult
  232. to determine -- e.g. exactly where does a line touch an edge, and at what
  233. angle, and does it make a difference?
  234.  
  235. The question of unification should be considered not only in the GUI
  236. environment but also for platforms where only one font is available -- a
  237. fixed-pitch "console" font -- and in "DOS"-like windows or fullscreen
  238. sessions, where only one fixed-pitch font may be used; this sort of
  239. environment is often host to terminal applications.  Examples: a full-screen
  240. Windows NT session; the new Unicode-based Linux console driver and font.
  241.  
  242. Now suppose a particular terminal had a special glyph for "Superscript small
  243. Latin letter i".  In the GUI environment, one would argue that the rendering
  244. software should change the size and baseline of the regular small "i" at
  245. U+0069 to achieve the desired effect, and therefore a new character would
  246. not be needed.  But this could not be done in a fixed-pitch font, and thus a
  247. new character would be needed after all if the terminal were to be emulated
  248. accurately and the meaning of the display not be altered (is it "3i" or
  249. 3 to the ith power?).
  250.  
  251. 2.2. What This Proposal Does Not Propose
  252.  
  253. This proposal does not require any action for well-known terminal
  254. presentation forms such as double-high and/or double-wide characters, bold,
  255. blinking, inverse, italic, underlining, color, etc, since these are not
  256. encoding issues.  In particular, no special code points are needed for
  257. double-high or double-wide characters, such as those seen on the DEC VT100
  258. family of terminals, nor for compressed characters as seen on Data General
  259. and DEC terminals.
  260.  
  261. This proposal also does not cover true graphics terminals, such as Tektronix
  262. vector graphics units, DEC ReGIS or Sixel graphics, BBN Bitgraph, etc, since
  263. these graphics regimes are not character-cell based.
  264.  
  265. No attempt was made to account for the many Viewdata, Videotex, Minitel,
  266. NAPLPS, or other mosaic graphics character sets.  These should be tackled,
  267. if at all, by someone who knows something about them.
  268.  
  269. Note that the graphic characters listed in this proposal rarely, if ever,
  270. appear on keyboard key labels.  In general, these characters are never
  271. typed, not even on real terminals, but are displayed when the terminal is
  272. commanded into a special mode by the host; for example, with ISO 2022 [17]
  273. character-set designation and invocation escape sequences.
  274.  
  275. 2.2. Related Proposals
  276.  
  277. This proposal contains only glyphs that appear on the screens of popular
  278. terminals during normal modes of operation, and not during debugging
  279. or "show invisibles" modes.
  280.  
  281. Terminals as well as special-purpose data monitors and protocol analyzers
  282. include debugging capabilities to allow otherwise invisible, illegal, or
  283. unknown characters to be displayed visually, either mnemonically (e.g. by
  284. control-character abbreviation) or in hexadecimal.  Glyphs for these
  285. purposes are proposed separately in documents entitled "ADDITIONAL CONTROL
  286. PICTURES FOR UNICODE" and "HEX BYTE PICTURES FOR UNICODE".
  287.  
  288.  
  289. 3. ORGANIZATION
  290.  
  291. The following character categories are presented in sections 5 through 7:
  292.  
  293. 3270 Terminal Operator Status Indicators
  294.   These glyphs are shown on IBM 3270 terminal [15] Operator Information Area.
  295.   Section 5.
  296.  
  297. Math Symbols
  298.   Although most math symbols found on terminals are already in Unicode,
  299.   certain terminal-based applications rely on the ability to construct large
  300.   symbols (integral and summation signs, braces, brackets) from smaller
  301.   character-cell-sized pieces.  This category also can apply to mathematical
  302.   typesetting systems such as TeX [30].  Section 6.
  303.  
  304. Line, Box, and Block Drawing
  305.   Used for data entry, transaction processing, forms filling, etc, in
  306.   markets ranging from car rental and airline reservations, to 911
  307.   operators, to medical information systems, to online library catalogs.
  308.   Although Unicode does include a basic set (mainly those as U+2500), some
  309.   others are missing.  Section 7.
  310.  
  311. 3.1. Temporary Reference Code Assignments
  312.  
  313. The characters proposed in this document are assigned temporary Unicode
  314. values from the Private Use area, strictly for reference within (or to)
  315. this document only.  Final values should be assigned outside of the Private
  316. Use range.  The temporary allocations are:
  317.  
  318.   E080-E086 3270 Status Symbols       8
  319.   E0A0-E0BF Math Symbols             19
  320.   E0D0-E0EF Line and Box Drawing     32
  321.  
  322. For a total of 59 positions.  Obviously the final counts, code values, and
  323. block allocations, including reserved positions, are likely to change as
  324. this proposal evolves.
  325.  
  326. 3.2. Character Properties
  327.  
  328. All new characters proposed in this document should be precomposed, since no
  329. terminals (with the exception of certain APL and ALA terminals) are capable
  330. of composing characters on the fly from nonspacing diacritics or by
  331. overstriking.  All proposed characters have Combining Class 0 (but note that
  332. some of the corresponding glyphs are designed to "combine" (connect) with
  333. other glyphs in adjacent display cells).
  334.  
  335. All new characters proposed in this document that are approved should be
  336. defined in the Basic Multilingual Plane (Plane 0), since otherwise they
  337. would be of no use in operating systems such as Windows 95, which dominates
  338. the market and which does not and never will support the "astral planes."
  339.  
  340. No "Letter" characters are proposed, therefore none of the proposed
  341. additions has the Case property.  All proposed characters are "Other
  342. Neutrals" (ON) as to directionality, since they fall into the "Punctuation,
  343. Symbols" category [24,Table 4-4].  None of the proposed characters has the
  344. Numeric Value Property.
  345.  
  346. Some of the proposed box-drawing and math-technical characters have the
  347. Mirrored Property; this should be rather obvious when its name or
  348. description contains the word "left", or "right".
  349.  
  350. I would venture that the proposed math symbols (Section 6) would have the
  351. Mathematical Property, including the extensible ones, since the current
  352. Integral Top and Bottom at U+2320, U+2321 have this property [24, Section
  353. 1.9].
  354.  
  355. Summary: The characters in this proposal should have the following
  356. properties:
  357.  
  358.   Case:            No
  359.   Combining Class: 0
  360.   Combining Jamo:  No
  361.   Directionality:  Other Neutral (ON)
  362.   Jamo Short Name: No
  363.   Numeric Value:   No
  364.   Private Use:     No
  365.   Surrogate:       No
  366.   Mirrored:        No, except where noted in Section 6.
  367.   Mathematical:    Those in Section 6, Yes; others, No.
  368.  
  369.  
  370. 4. (DELETED)
  371.  
  372. (This section moved to a separate proposal.)
  373.  
  374.  
  375. 5. 3270 TERMINAL OPERATOR STATUS INDICATORS
  376.  
  377. The IBM 3270 terminal shows a variety of unique glyphs in its Operator
  378. Information Area [15, Figure A-4].  Although they are not encoded in any IBM
  379. known character set, or assigned IBM Graphic Character Global Identifiers
  380. (GCGIDs) in [29, as updated], they nevertheless appear on the screen, and
  381. are therefore required for accurate terminal emulation.  These glyphs are
  382. listed in Table 5.1 and illustrated in Exhibit [H1].
  383.  
  384. Table 5.1: 3270 Terminal Operator Status Indicators
  385.  
  386.   Code  Description
  387.   E080  Human stick figure (1)
  388.   E081  Human stick figure in box
  389.   E082  Clock at 6:10 (or 2:30) (1)
  390.   E083  White rectangle with stroke (2)
  391.   E084  Black rectangle with stroke (3)
  392.   E085  Lighting with stroke (4)
  393.   E086  Security key (5)
  394.   E087  Black and White Right-Pointing Triangles (6)
  395.  
  396. Notes:
  397.  (0) 0 = Combining Class 0; N = Neutral directionality;
  398.  (1) Human stick figures are also found in several other terminal character
  399.      sets, such as SNI Facet [21].  A clock (but with the hands at 3:00
  400.      rather than 6:10) is also found in SNI Klammern [E2].
  401.  (2) A rectangle like the one at U+25AD with an oblique stroke through it.
  402.      Note that "white" and "black" are used in the sense of the Unicode
  403.      standard, and do not imply any particular colors or measure of goodness.
  404.  (3) A rectangle like the one at U+25AC with an oblique stroke through it.
  405.  (4) A horizontal lightning symbol with an oblique stroke through it.
  406.  (5) A picture of a key (indicating the keyboard is locked).  Reportedly,
  407.      other proposals include similar glyphs for related, but different,
  408.      purposes, such as a Shift Lock indicator.  Care should be taken not
  409.      to unify the IBM Security Key (a simple key) with other such symbols,
  410.      such as padlocks with or without keys in them.
  411.  (6) Like U+25B8 and U+25B9 in the same cell, arranged horizontally, left
  412.      to right, like a double right-pointing arrowhead, used as a
  413.      supplementary indicator.
  414.  
  415. In many cases, black and/or white rectangles (U+25AD, U+25AC, U+E083,
  416. U+E084) are connected with a centered horizontal line such as the one at
  417. U+2500; two rectangles connected this way generally symbolize a 3270
  418. terminal with a printer attached.  Figure 5.1 shows an example; also see
  419. Exhibit [H1].  The font designer must ensure that a sequence: rectangle,
  420. line, rectangle, results in a pair of connected rectangles.
  421.  
  422. Figure 5.1: Connected Rectangles
  423.  
  424.   +--------+      +--------+
  425.   |        |------|        |
  426.   +--------+      +--------+
  427.  
  428. Summary:
  429.   8 new characters, E080-E087
  430.  
  431. Status:
  432.   Needed for proper emulation of IBM 3270 screens.  This block of characters
  433.   is separate and distinct from, and independent of, all other blocks in
  434.   this proposal.
  435.  
  436.  
  437. 6. MATH SYMBOLS
  438.  
  439. Unicode has a generous supply of math symbols, and no doubt more are in the
  440. works.  And of course it also includes the Latin, Greek, Fraktur, Hebrew,
  441. and other letters used in mathematical notation.
  442.  
  443. However, terminal emulators also need special glyphs designed to be joined
  444. together in adjacent character cells, vertically or horizontally, to form
  445. large math symbols such as integrals, summation signs, braces, or brackets,
  446. such as the integral top and bottom that already exist at U+2320 and U+2321.
  447. Several other single-cell characters are also missing, including the small
  448. radical sign from the DEC Technical character set.
  449.  
  450. Extensible math characters also appear in the TeX Standard Extension
  451. Font [30,p.175], and in the widely used Apple Symbol font, also used in
  452. Adobe PostScript.
  453.  
  454. Table 6.1 lists the needed characters, along with suggested temporary codes
  455. for them.  At least one real terminal reference is shown for each character,
  456. in column/row notation, and/or an IBM Graphic Character Global Identifier
  457. (GCGID) [14].  All characters in this table have the Mathematical Property;
  458. those marked by "*" also have the Mirrored Property.
  459.  
  460. Legend:
  461.   SB = Square Bracket
  462.   UL = Upper Left
  463.   LL = Lower Left
  464.   UR = Upper Right
  465.   LR = Lower Right
  466.  
  467. Table 6.1: Math Symbols for Terminals
  468.  
  469.   Code  Description                            Reference
  470. * E0A0  Extensible left brace middle           DEC Tech 02/15 (1)
  471. * E0A1  Extensible left parenthesis bottom     DEC Tech 02/12,IBM SS210000
  472. * E0A2  Extensible left parenthesis top        DEC Tech 02/11,IBM SS200000
  473. * E0A3  Extensible left SB bottom              DEC Tech 02/08
  474. * E0A4  Extensible left SB top                 DEC Tech 02/07
  475. * E0A5  Extensible right brace middle          DEC Tech 03/00 (1)
  476. * E0A6  Extensible UR or LL brace section      IBM SS240000
  477. * E0A7  Extensible LR or UL brace section      IBM SS250000
  478. * E0A8  Extensible right parenthesis bottom    DEC Tech 02/14,IBM SS230000
  479. * E0A9  Extensible right parenthesis top       DEC Tech 02/13,IBM SS220000
  480. * E0AA  Extensible right SB bottom             DEC Tech 02/10
  481. * E0AB  Extensible right SB top                DEC Tech 02/08
  482.   E0AC  Summation symbol bottom                DEC Tech 03/02,DG Math 01/09(2)
  483.   E0AD  Summation symbol top                   DEC Tech 03/01,DG Math 01/08(2)
  484. * E0AE  Right ceiling corner                   DEC Tech 03/05
  485. * E0AF  Right floor corner                     DEC Tech 03/06
  486.   E0B0  Radical symbol, small                  DEC Tech 00/01
  487.   E0B1  Radical symbol with stroke             DG  Math 01/13
  488.   E0B2  Superscript Latin small letter i       SNI Math 03/00
  489.  
  490. References:
  491.   DEC Tech = Digital Equipment Corporation Technical Character Set [C2],
  492.              VT320 and later.
  493.   SNI Math = Siemens Nixdorf Mathematisch [E5], SNI 97801.
  494.   SNI IBM  = Siemens Nixdorf IBM [E4], SNI 97801.
  495.   DG Math  = Data General Word-Processing, Greek, and Math Character Set [D2]
  496.   IBM      = IBM Graphic Character Global Identifier (GCGID) [14]
  497.  
  498. Notes:
  499.  (1) Also found in the Microsoft and Apple/Adobe Symbol fonts.
  500.  (2) Also GCGID SS280000 and SS29000.
  501.  
  502. Summary: 24 new characters, E0A0-E0B7.
  503.  
  504. Status:
  505.   These symbols are needed for accurate emulation of DEC, DG, SNI and other
  506.   terminals, and very likely also by mathematical typesetting systems.  This
  507.   block of characters is separate and distinct from, and independent of, all
  508.   other blocks in this proposal.
  509.  
  510.  
  511. 7. LINE, BOX, AND BLOCK CHARACTERS
  512.  
  513. A particular need addressed by this proposal is the continued ability to
  514. support (sometimes mission-critical) terminal-based forms-filling
  515. applications that also require entry and display of international
  516. characters, as terminals are replaced by PCs.  So far, Unicode has provided
  517. the international characters, but not necessarily all the needed
  518. character-cell based forms-drawing capabilities.
  519.  
  520. Some terminals have vertical and horizontal lines that are not centered
  521. within the character cell, and currently not found in Unicode.  Others have
  522. black rectangles or other shapes not found in the U+2580 block.
  523.  
  524. Table 7.1 lists the  additional line, box, and block characters needed to
  525. emulate the target terminals.
  526.  
  527. Abbreviations:
  528.   V   = Vertical
  529.   H   = Horizontal
  530.   L   = Left
  531.   R   = Right
  532.   LL  = Lower Left
  533.   LR  = Lower Right
  534.   UL  = Upper Left
  535.   UR  = Upper Right
  536.  
  537. Terminology:
  538.  
  539. Quadrant
  540.   A black rectangle filling one quarter of a cell, with one corner in the
  541.   center and the opposite corner at a corner of the cell.  So "Quadrant UL"
  542.   is the upper left quadrant; "Quadrant UL and UR" is the top half of the
  543.   cell (which happens to be coincident with U+2580 and so is not included
  544.   here).
  545.  
  546. Line
  547.   Refers to a line that extends all the way to opposite edge(s) of a cell,
  548.   designed to be joined to (a) line(s) in the adjacent cell(s).
  549.  
  550. Bar
  551.   Refers to a horizontal line that does not touch any cell edges.
  552.  
  553. Wedge
  554.   Refers to a character cell with a diagonal line connecting opposite
  555.   corners, dividing it into two triangles; one black, the other white; the
  556.   wedge is the black part.  Thus an UL Wedge is similar to U+25E9, except it
  557.   fills the entire character cell.
  558.  
  559. Framus
  560.   (Pick a better word!) is a shape composed of two triangles with their
  561.   points meeting at the center of the cell to form an X with bars across the
  562.   top and bottom, closing the open ends.  A black framus has the two
  563.   triangles filled in; a white one is in outline form.  A framus with center
  564.   bar has a horizontal line through the center of the cell.
  565.  
  566. Figure 7.1: "Framus" Glyphs
  567.  
  568.     White     Black    With Bar
  569.    *******   *******   *******
  570.     *   *     *****     *   *
  571.      * *       ***       * *
  572.       *         *     *********
  573.      * *       ***       * *
  574.     *   *     *****     *   *
  575.    *******   *******   *******
  576.  
  577. Table 7.1: Additional Line, Box, and Block Characters
  578.  
  579.   Code  Description                 References
  580.   E0D0  L V box line, extensible    H19 07/12 (1)
  581.   E0D1  R V box line, extensible    H19 07/13 (1)
  582.   E0D2  UL Wedge                    H19 07/02, IBM SF870000
  583.   E0D3  UR Wedge                    H19 05/14, IBM SF860000
  584.   E0D4  LL Wedge                    IBM SF850000
  585.   E0D5  LR Wedge                    IBM SF840000
  586.   E0D6  H line - Scan 1             DSG 06/15, H19 07/10, WG3 05/00, TVI 09/00
  587.   E0D7  H line - Scan 3             DSG 07/00, Wyse ANSI 01/01, WG3 05/00
  588.   E0D8  H line - Scan 5             DSG 07/01, Wyse ANSI 02/02 (2)
  589.   E0D9  H line - Scan 7             DSG 07/02, Wyse ANSI 01/03, WG3 05/01
  590.   E0DA  H line - Scan 9             DSG 07/03, H19 07/11, WG3 05/01, TVI 09/01
  591.   E0DB  Quadrant LL                 H19 06/13, WG3 05/05, TVI 09/05
  592.   E0DC  Quadrant LR                 H19 06/12, WG3 05/04, TVI 09/04
  593.   E0DD  Quadrant UL                 H19 06/14, WG3 05/06, TVI 09/06
  594.   E0DE  Quadrant UL and LL and LR   WG3 05/11, TVI 09/11
  595.   E0DF  Quadrant UL and LR          H19 06/10 (3)
  596.   E0E0  Quadrant UL and UR and LL   WG3 05/12, TVI 09/12
  597.   E0E1  Quadrant UL and UR and LR   WG3 05/13, TVI 09/13
  598.   E0E2  Quadrant UR                 H19 111, WG3 83, TVI 09/03
  599.   E0E3  Quadrant UR and LL          (for completeness)
  600.   E0E4  Quadrant UR and LL and LR   WG3 05/14, TVI 09/14
  601.   E0E5  Full black diamond          TVI 09/02 (4)
  602.   E0E6  Black framus                DGM 06/08
  603.   E0E7  Black framus + H center bar DGM 06/09
  604.   E0E8  White framus                DGM 06/10
  605.   E0E9  White framus + H center bar DGM 06/11
  606.   E0EA  R & L arrow to V center bar DGM 03/13
  607.   E0EB  Up arrow to H center line   DGL 02/12
  608.   E0EC  R arrow to V center line    DGL 02/13
  609.   E0ED  L arrow to V center line    DGL 02/14
  610.   E0EE  Down arrow to H center line DGL 02/12
  611.   E0EF  Box drawing double dash H   DGL 03/12 (5)
  612.  
  613. References:
  614.   DGM = Data General Word-Processing, Greek, and Math Character Set [D2]
  615.   DGL = Data General Line Drawing Character Set [D3]
  616.   DSG = The DEC Special Graphics Character Set [A3]
  617.   H19 = The Heath/Zenith 19 Graphics Character Set [L1]
  618.   WG3 = The Wyse Graphics 3 Character Set [F2]
  619.   TVI = The Televideo 965 Multinational Character Set [23]
  620.   IBM = Graphic Character Global Identifier (GCGID) [14]
  621.   Wyse ANSI = Wyse 60 "Standard ANSI", "UK ANSI", and "ANSI Graphics" [F3]
  622.  
  623. Notes:
  624.   (1) The vertical box lines are near, but not touching, the left and right
  625.       edges of the cell, respectively, and are two pixels thick on the H19
  626.       screen.  Similar to IBM GCID SF640000 and SF650000, respectively.
  627.   (2) A centered horizontal line is already in Unicode U+2500, but this one
  628.       might need to be encoded separately if the existing one does not mesh
  629.       well with other line and box characters (which is not known, since no
  630.       semantics are stated for it).
  631.   (3) Only on Zenith models, not original Heathkits.
  632.   (4) Full black diamond, with points touching midpoint of each cell wall.
  633.   (5) Similar to U+2504 but double rather than triple.
  634.  
  635. Also note that Quadrants UL+UR, UR+LR, LL+LR, UL+LL (half blocks) are
  636. already encoded at Unicode block U+2580.
  637.  
  638. Summary:
  639.  32 New glyphs, Range E0D0 to E0EF.
  640.  
  641. Status:
  642.   These symbols are needed for accurate emulation of DEC, DG, SNI, Heath,
  643.   Wyse, Televideo, and other terminals.  This block of characters is
  644.   separate and distinct from, and independent of, all other blocks in this
  645.   proposal.
  646.  
  647.  
  648. 8. UNFINISHED BUSINESS
  649.  
  650. The selection of characters presented in this draft is far from
  651. comprehensive.  Hundreds of other terminals from the past 30+ years are
  652. likely to have glyphs or entire character sets covered neither here nor in
  653. Unicode, and these might or might not be important in some application
  654. somewhere.  Readers of this draft are invited, therefore, to suggest any
  655. needed additions, bearing in mind that Unicode code space is not unlimited.
  656.  
  657. Several character sets found in the references consulted are ignored here,
  658. fully or in part, due to lack of motivation (nobody has ever asked us, in
  659. our role of terminal emulator maker, to support them).  Obviously these, and
  660. any other missing sets (such as the many Videotex/Viewdata/etc mosaic sets),
  661. can be considered if there is a demand.
  662.  
  663. Siemens Nixdorf Facet [E3]
  664.   A set of 95 mosaic graphics, but not resembling any of the ISO Videotex
  665.   mosaic sets; difficult to describe.
  666.  
  667. Hewlett Packard Line Drawing
  668.   Mostly coincident with Unicode box-drawing set at U+2500, but with a
  669.   handful of unique characters, such as single-to-triple box intersections,
  670.   single-to-double intersections with wide spacing, etc.  These should be
  671.   mappable to existing U+25xx glyphs without causing riots in the streets.
  672.  
  673. Hewlett Packard Big Character Pieces
  674.   Thick line segments specially designed for drawing large digits and
  675.   letters, used on the HP-2648.
  676.  
  677.  
  678. 9. SUMMARY OF PROPOSED NEW CHARACTERS
  679.  
  680. If all the proposed new characters are added to the UCS, this will enable
  681. terminal emulators to fully handle at least the following terminal character
  682. sets, which were not previously covered in full:
  683.  
  684.   DEC Technical (VT320 and later)
  685.   DEC Special Graphics (VT100 and later)
  686.   Data General Word-Processing, Greek, and Math
  687.   Data General Line Drawing (1)
  688.   Heath/Zenith 19 Graphics
  689.   Hewlett Packard 2621 and HPTERM
  690.   Siemens Nixdorf's "IBM" set (plus parts of its Klammern and Facet sets)
  691.   Televideo Multinational
  692.   Wyse Graphics 3 (Graphics 1 and 2 were already covered)
  693.   Wyse "Standard ANSI", "UK ANSI", and "ANSI Graphics"
  694.  
  695. Notes:
  696.  (1) Except the DG logo character, which, like other corporate logos,
  697.      is off limits.
  698.  
  699. Terminals supporting these character sets are numerous indeed.  An
  700. incomplete list includes: DEC VT100, VT102, VT220/240, VT320/330/340, VT420,
  701. VT520/525; Data General 210, 215, 217, 413, and 463; the Heath / Zenith 19;
  702. the Perkin Elmer 550 and 1100; and numerous Televideo and Wyse models.
  703.  
  704. The new characters proposed in this document are listed in Table 10.1.
  705.  
  706. Table 9.1: Census of New Characters
  707.  
  708.   Code  Description
  709.   E080  Human stick figure
  710.   E081  Human stick figure in box
  711.   E082  Clock at 6:10 (or 1:30)
  712.   E083  White rectangle with stroke
  713.   E084  Black rectangle with stroke
  714.   E085  Lighting with stroke
  715.   E086  Security key
  716.   E087  Black and White Right-Pointing Triangles
  717.  
  718.   E0A0  Extensible left brace middle
  719.   E0A1  Extensible left parenthesis bottom
  720.   E0A2  Extensible left parenthesis top
  721.   E0A3  Extensible left SB bottom
  722.   E0A4  Extensible left SB top
  723.   E0A5  Extensible right brace middle
  724.   E0A6  Extensible UR or LL brace section
  725.   E0A7  Extensible LR or UL brace section
  726.   E0A8  Extensible right parenthesis bottom
  727.   E0A9  Extensible right parenthesis top
  728.   E0AA  Extensible right SB bottom
  729.   E0AB  Extensible right SB top
  730.   E0AC  Summation symbol bottom
  731.   E0AD  Summation symbol top
  732.   E0AE  Right ceiling corner
  733.   E0AF  Right floor corner
  734.   E0B0  Radical symbol, small
  735.   E0B1  Radical symbol with stroke
  736.   E0B2  Superscript Latin small letter i
  737.  
  738.   E0D0  L V box line, extensible
  739.   E0D1  R V box line, extensible
  740.   E0D2  UL Wedge
  741.   E0D3  UR Wedge
  742.   E0D4  LL Wedge
  743.   E0D5  LR Wedge
  744.   E0D6  H line - Scan 1
  745.   E0D7  H line - Scan 3
  746.   E0D8  H line - Scan 5
  747.   E0D9  H line - Scan 7
  748.   E0DA  H line - Scan 9
  749.   E0DB  Quadrant LL
  750.   E0DC  Quadrant LR
  751.   E0DD  Quadrant UL
  752.   E0DE  Quadrant UL and LL and LR
  753.   E0DF  Quadrant UL and LR
  754.   E0E0  Quadrant UL and UR and LL
  755.   E0E1  Quadrant UL and UR and LR
  756.   E0E2  Quadrant UR
  757.   E0E3  Quadrant UR and LL
  758.   E0E4  Quadrant UR and LL and LR
  759.   E0E5  Full black diamond
  760.   E0E6  Black framus
  761.   E0E7  Black framus + H center bar
  762.   E0E8  White framus
  763.   E0E9  White framus + H center bar
  764.   E0EA  R & L arrow to V center bar
  765.   E0EB  Up arrow to H center line
  766.   E0EC  R arrow to V center line
  767.   E0ED  L arrow to V center line
  768.   E0EE  Down arrow to H center line
  769.   E0EF  Box drawing double dash H
  770.  
  771. Summary:
  772.   3270 Symbols:                8
  773.   Math Symbols:               19
  774.   Line/Box/Block:             32
  775.  
  776. Total:                        59
  777.  
  778.  
  779. 10. REFERENCES
  780.  
  781.  [1] American National Standards Institute, ANSI X3.4-1986, Code for
  782.      Information Interchange (ASCII), 1986.
  783.  
  784.  [2] Data General, Programming the Display Terminal: Models D217, D413, and
  785.      D463, Westboro, MA, 1991.
  786.  
  787.  [3] Digital Equipment Corporation, VT100 User Guide, EK-VT100-UG-002,
  788.      Maynard, MA, 1979.
  789.  
  790.  [4] Digital Equipment Corporation, VT102 Video Terminal User Guide,
  791.      EK-VT102-UG-003, Maynard, MA, 1982.
  792.  
  793.  [5] Digital Equipment Corporation, VT220 Owner's Manual, EK-VT220-UG-003,
  794.      Maynard, MA, 1984.
  795.  
  796.  [6] Digital Equipment Corporation, VT220 Series Programmer Reference
  797.      Manual, EK-VT240-RM-002, Maynard, MA, 1984.
  798.  
  799.  [7] Digital Equipment Corporation, VT330/VT340 Programmer Reference Manual,
  800.      Volume 1: Text Programming, ED-VT3XX-TP-002, Maynard, MA, 1988.
  801.  
  802.  [8] Digital Equipment Corporation, Installing and Using the VT420 Video
  803.      Terminal EK-VT420-UG.002, Maynard, MA, 1988.
  804.  
  805.  [9] Digital Equipment Corporation, VT520/VT525 Video Terminal Programmer
  806.      Inforamtion, EK-VT520-RM.A01, Maynard, MA, 1994.
  807.  
  808. [10] Heathkit Manual for the Video Terminal Model H19, The Heath Company,
  809.      Benton Harbor, MI, 1979.
  810.  
  811. [11] Hewlett Packard 2621A/P Interactive Terminal Owner's Manual, 1978.
  812.  
  813. [12] Hewlett Packard 2648A Graphics Terminal Reference Manual, 1977.
  814.  
  815. [13] IBM System/360 Principles of Operation, GA22-6821-8, Poughkeepsie,
  816.      NY, 1970.
  817.  
  818. [14] IBM National Language Design Guide, Volume 2:  National Language
  819.      Support Reference Manual, 4th Edition, SE09-8002-03, North York
  820.      ON, 1994.
  821.  
  822. [15] IBM 3270 Information Display System, Component Description,
  823.      GA27-2749-10, 1980.
  824.  
  825. [16] IBM 3164 ASCII Color Display Station Description, GA18-2317-1, 1986.
  826.  
  827. [17] ISO International Standard 2022, Information processing -- ISO
  828.      7-bit and 8-bit coded character sets -- Code extension techniques,
  829.      Third Edition, Geneva, 1986.
  830.  
  831. [18] ISO/IEC International Standard 6429, Information technology --
  832.      Control functions for coded character sets, Third Edition, Geneva, 1992.
  833.  
  834. [19] ISO/IEC 10646-1, International Standard 10646,
  835.      Information Processing -- Multiple-Octet Coded Character Set,
  836.      1993-now.
  837.  
  838. [20] Perkin Elmer Model 1100 User's Manual, Randolph, NJ, 1978.
  839.  
  840. [21] Siemens Nixdorf, Bildschirmeinheit 97801-5xx Schnittstellen,
  841.      Benutzerhandbuch, Mⁿnchen, 1991.
  842.  
  843. [22] Televideo 922 Video Terminal Display Operator's Manual, Sunnyvale, CA,
  844.      1984.
  845.  
  846. [23] Televideo 965 Video Terminal Display Operator's Manual, Sunnyvale, CA,
  847.      1988.
  848.  
  849. [24] The Unicode Standard, Version 2.0, Addison-Wesley Developers
  850.      Press, 1996.
  851.  
  852. [25] Wyse WY-60 Programmer's Guide, Wyse Technology, San Jose, CA, 1987.
  853.  
  854. [26] Wyse WY-370 Programmer's Guide, Wyse Technology, San Jose, CA, 1990.
  855.  
  856. [27] IBM 3270 Information Display System, Data Stream Programmer's Reference,
  857.      GA23-0059-06, 1991.
  858.  
  859. [28] ISO International Register of Coded Characters to Be Used with Escape
  860.      Sequences, European Computer Manufacturers Association (ECMA), Geneva,
  861.      1985-present.
  862.  
  863. [29] IBM Character Data Representation Architecture, Level 1 Registry, IBM
  864.      Canada Ltd., National Language Technical Centre, Ontario, SC09-1391-00,
  865.      1990 (superseded by: IBM Character Data Representation Architecture,
  866.      Registration and Registry, IBM Canada Ltd., Toronto, SC09-2190-00, 1995).
  867.  
  868. [30] Knuth, Donald, "TeX and METAFONT, New Directions in Typesetting",
  869.      American Mathematical Society / Digital Press, Bedford MA, 1979.
  870.  
  871. [31] Apple Computer Corporation, Inside Macintosh, 1984.
  872.  
  873. [32] HDS-3200 Terminal Series Owner's Manual, Philadelphia PA, 1987.
  874.  
  875. [33] Zenith Data Systems Video Terminal Z-19-CN Operation Manual, Saint
  876.      Joseph, MI, 1981. 
  877.  
  878. [34] Interview 30A/40A Operator's Field Reference Guide, Atlantic Research
  879.      Corporation, ATLC-107-919-101, Alexandria, VA, 1982.
  880.  
  881.  
  882. 11. EXHIBITS
  883.  
  884. The following exhibits, available only on paper, are reproduced from the
  885. terminal manuals indicated by the numeric reference number.  Each exhibit is
  886. 1 page unless otherwise indicated.
  887.  
  888. [A1] VT220 Display Controls Font (Left Half) [5].
  889.  
  890. [A2] VT220 Display Controls Font (Right Half) [5].
  891.  
  892. [A3] VT220 DEC Special Graphics Character Set [5].
  893.  
  894. [B1] VT320 Display Controls Font (Left Half) [7].
  895.  
  896. [B2] VT320 Display Controls Font (Right Half) [7].
  897.  
  898. [C1] VT420 Display Controls Font (Both Halves) [8].
  899.  
  900. [C2] VT420 DEC Technical Character Set [8].
  901.  
  902. [C3] HDS-3200 DEC Technical Character Set [32].
  903.  
  904. [D1] Data General US ASCII Character Set [2].
  905.  
  906. [D2] Data General Word-Processing, Greek, and Math Character Set [2].
  907.  
  908. [D3] Data General Line Drawing Character Set [2].
  909.  
  910. [D4] Data General Special Graphics Character Set [2].
  911.  
  912. [D5] Data General VT Multinational Character Set [2].
  913.  
  914. [D6] Data General VT Special Graphics Character Set [2].
  915.  
  916. [D7] Data General ISO 8859/1.2 Character Set [2].
  917.  
  918. [E1] Siemens Nixdorf 97801 ISO 8859-1 Character Set [21].
  919.  
  920. [E2] Siemens Nixdorf 97801 Klammern (Brackets) Character Set [21].
  921.  
  922. [E3] Siemens Nixdorf 97801 Facet Character Set [21].
  923.  
  924. [E4] Siemens Nixdorf 97801 IBM Character Set [21].
  925.  
  926. [E5] Siemens Nixdorf 97801 Math Character Set [21].
  927.  
  928. [E6] Siemens Nixdorf 97801 Character Generator (8 pages) [21].
  929.  
  930. [F1] Wyse 60 Native, Multinational, PC, and ASCII Character Sets [25].
  931.  
  932. [F2] Wyse 60 Graphics 1, 2, and 3 Character Sets [25].
  933.  
  934. [F3] Wyse 60 Standard ANSI, ANSI Graphics, and UK ANSI Character Sets [25].
  935.  
  936. [G1] Wyse 370 Controls Display Mode (74Hz) [26].
  937.  
  938. [G2] Wyse 370 Controls Display Mode (60Hz) [26].
  939.  
  940. [G3] Wyse 370 C0, ASCII, and Special Graphics Character Sets [26].
  941.  
  942. [G4] Wyse 370 C1, Multinational, and Latin-1 Character Sets [26].
  943.  
  944. [H1] IBM 3270 Operator Information Area Symbols (10 pages) [15].
  945.  
  946. [I1] TeX Standard Extension Font [30].
  947.  
  948. [J1] Apple Symbol Font (2 pages) [31].
  949.  
  950. [K1] Hewlett Packard 2621A/P National Terminal Character Set [11].
  951.  
  952. [L1] Heath/Zenith-19 Graphic Symbols (2 pages) [33].
  953.  
  954. [M1] Televideo 922 ASCII, Supplemental, Special Character Sets (4 pages) [22].
  955.  
  956. [N1] Sample screen from a data analyzer showing hex display [34].
  957.  
  958. (End)
  959.