home *** CD-ROM | disk | FTP | other *** search
/ Columbia Kermit / kermit.zip / e / pirard.txt < prev    next >
Text File  |  2020-01-01  |  93KB  |  1,612 lines

  1.                    Guidelines to use 8-bit character codes
  2.                                       
  3.                                   A. Pirard
  4.                              University of Liege
  5.                                    Belgium
  6.                                       
  7.   
  8.   Important preliminary notice
  9.   
  10.        This file contains translation tables. As indicated, they translate
  11.   some of the characters arbitrarily and a decision of the constructor who
  12.   defined the proprietary codes would be welcome so that everybody use the
  13.   same translation. Hence, my publishing them may work opposite to my goal
  14.   if somebody uses them and doesn't check later if a standard table exists.
  15.   So, I'll try to watch myself and clearly update this paragraph along with
  16.   the standard version of the tables themselves when the miracle occurs.
  17.   
  18.   
  19.   
  20.        In the course of my work in communications in a French-speaking
  21.   environment -- writing programs, installing but mostly having to adapt
  22.   others -- I discovered facts, notions, techniques and data related to
  23.   international characters usage. Many English-speaking programmers are
  24.   willing to extend the scope of their software to what is for them
  25.   "foreign languages". Discussion with them is often lengthy to convey
  26.   numerous details that are obvious to one and obscure to the other. Trying
  27.   to help without repeating the same words all over again is the reason of
  28.   this document.
  29.   
  30.        This text is restricted to the problem of the character codes used
  31.   in data. Yet, I should mention briefly that isolating from executable
  32.   code the user interface messages is a real plus. These messages should be
  33.   easily translatable for by anyone who knows the language, even if source
  34.   is unavailable. Anything similar to the Macintosh resources is ideal. To
  35.   avoid making feel this too easy, I must however warn than phrases in many
  36.   languages are longer than English and that the order of inserts may vary
  37.   depending on grammar.
  38.   
  39.        I am much indebted to the people I met on these networks, on the
  40.   mailing list ISO8859@JHUVM (especially Edwin Hart HART@APLVM, with his
  41.   SHARE White Paper to IBM and Johan van Wingen, a character codes
  42.   specialist), in the Kermit developpers group animated by Frank da Cruz
  43.   and many volunteers led by Christine Gianone, and to the so many others I
  44.   am unable to mention.
  45.        At the risk of a lack of justification, I have made every effort to
  46.   keep this text as concise as possible to spare your time and one will
  47.   have to think beyond the text in some places. On the other hand, please
  48.   excuse if some paragraphs contain evidence: it is sometimes needed. Also
  49.   remember that English is not my mother language...
  50.   
  51.   A language among others: French.
  52.   
  53.        Like many other languages, French uses characters not found in
  54.   English. It likes to adorn them with diacritics (accents). Other
  55.   languages have other characters, from a few like German to totally
  56.   different like Russian and Greek, or even the right to left Arabic and
  57.   Hebrew. To the question: "could you do without them?", I like to reply
  58.   that forgetting them in "a la francaise" makes it mean "has the French
  59.   girl". "a" must take a grave accent to distinguish the preposition from
  60.   the verb and "c" takes a cedilla. French without diacritics is just as
  61.   unpleasant as all-uppercase text and very difficult to read, stumbling on
  62.   each and every missing accent, like proof-reading one's kid dictation. In
  63.   the general case, many languages cannot do without their own characters.
  64.   
  65.   7-bit character codes
  66.   
  67.        A "character" is what one writes down on paper. A "code" is a
  68.   computer representation of a set of characters that we can see as
  69.   associated to numbers, called "code points". A code usually includes
  70.   "control characters" for which a graphic representation does not normally
  71.   exist, because they are only used to control the operation of hardware or
  72.   have special meanings to programs.
  73.   
  74.        ASCII (ANSI X3.4) was defined as a 7-bit code for English at a time
  75.   when hardware was really hard and expensive. To allow the use of some of
  76.   those particular characters that other languages need, it was later
  77.   decided that a defined set of the least used ones could be replaced. This
  78.   is ISO 646. Several language have the set replaced with their own
  79.   characters. This is what can be done with Escape sequence of Epson
  80.   printers to switch to a national language. ANSI X3.4 is an instance of
  81.   ISO 646. But, for some languages like French, the amount of characters
  82.   that can be replaced is not enough and text processing of these days made
  83.   extensive use of backspaces and overstrikes for the missing ones.
  84.   
  85.        US EBCDIC used more or less the same characters as ASCII, but used
  86.   different code points. I should say "more and less". Some ASCII
  87.   characters did not exist in EBCDIC (e. g. brackets) and EBCDIC had ones
  88.   (cent sign, not sign) that were not in ASCII. As a consequence, the
  89.   translation between ASCII and EBCDIC was strictly speaking undefined, and
  90.   IBM never officially defined a single complete one. Albeit EBCDIC was an
  91.   8-bit code "with holes", IBM made the same characters replacements as ISO
  92.   646 in hardware to be used with other languages (but as other characters
  93.   were missing, this was of little use to French).
  94.   
  95.        Even though data was stored in octets, 7-bit communication line were
  96.   used and it was common practice for software to strip off the 8th bit
  97.   despite a possible extension of the code, future or existing.
  98.   
  99.   8-bit character codes
  100.   
  101.        Storing in a database text full of "this backspace that", trying to
  102.   sort it etc... or getting a Sterling pound bill paid in dollars because
  103.   that's what the dollar sign is replaced with in the English version of
  104.   ISO 646 was a real pain an insult to the octet. It was soon realized
  105.   that, even if text processing could cope with compound characters, data
  106.   processing could not. One character must be one data element.
  107.        With the era of cheaper hardware and microcomputers, manufacturers
  108.   started to use the upper half of the 256 code points for international
  109.   characters. It was one major reason of the success of these computers
  110.   over here.
  111.        But there was no standard and each did it his own way as to both
  112.   which characters and which code points to use, like to-day's DEC, Apple,
  113.   Atari, Commodore or other less known brands. The IBM PC was built with
  114.   yet another code that was later called "code page 437" and that everyone
  115.   in the compatible business settled on. But IBM also built PCs with
  116.   variations for countries using characters that were not in 437, now
  117.   called 860, 863 and 865.
  118.   
  119.        There was an evident Babel and a new standard had to be set.
  120.   National institutions and many constructors participated to produce the
  121.   ISO 8859 standard. As 256 code points are not enough for all languages in
  122.   the world, several "versions" of this standard exist (see below for a
  123.   list, still evolving). ISO 8859-1 is for group 1 of Latin-based languages
  124.   and covers Western Europe, including English, hence many major countries
  125.   in North and South America, Australia and many others world wide. A new
  126.   multibyte standard is being prepared: ISO 10646, that will cover all
  127.   languages in a single code. ISO 8859-1 is the sigle-octet-compacted
  128.   subset of ISO 10646. Until it can be used, today's hardware and software,
  129.   strongly single-byte oriented, can easily extend the scope of a character
  130.   code to 8 bits and a version of ISO 8859. The particular version used
  131.   being implicit to a language is indeed sorry, but it must be understood
  132.   that it is a dramatic improvement in a country where data is implicit
  133.   anyway.
  134.        For short, I may call "ISO 8859" or simply "ISO" in the following
  135.   text any version that a system uses at any one time, when assuming that
  136.   the systems do not switch versions dynamically, but that the user can
  137.   setup the choice of the version he uses, if not implied by hardware.
  138.   
  139.        ISO 8859 (any version) is an extension of ASCII. The upper half (in
  140.   fact, 128-159 are reserved for more control characters) is filled with
  141.   characters for a group of countries. The present trend to use ISO 8859 is
  142.   certain. Version 1 is much like the previous DEC's "8-bit ASCII code",
  143.   and VT terminals now have Escape sequences to switch among and display
  144.   several ISO 8859 versions. If one looks at Microsoft and Lotus
  145.   international codes, one sees that they had soon adopted a "pre-release"
  146.   of ISO 8859-1. As explained below, IBM have adopted ISO 8859-1 their own
  147.   way. X-Windows specifications (from MIT, of a presentation system on a
  148.   remote graphic terminal) prescribe that ISO 8859-1 is to be used on the
  149.   communication line.
  150.   
  151.   ISO 8859-1, Latin Alphabet 1, for Dutch, English, Faeroese, Finnish,
  152.   French, German, Icelandic, Irish, Italian, Norwegian, Portuguese,
  153.   Spanish, and Swedish.
  154.   ISO 8859-2, Latin Alphabet 2.  Albanian, Czech, English, German,
  155.   Hungarian, Polish, Romanian, Serbocroation, Slovak, and Slovene.
  156.   ISO 8859-3, Latin Alphabet 3, for Afrikaans, Catalan, English, Esperanto,
  157.   French, Galician, German, Italian, Maltese, and Turkish.
  158.   ISO 8859-4, Latin Alphabet 4, for Danish, English, Estonian, Finnish,
  159.   German, Greenlandic, Lappish, Latvian, Lithuanian, Norwegian, and
  160.   Swedish.
  161.   ISO 8859-5, the Latin/Cyrillic Alphabet, for Bulgarian, Byelorussian,
  162.   Macedonian, Russian, Serbocroation, and Ukrainian.
  163.   ISO 8859-6, the Latin/Arabic Alphabet.
  164.   ISO 8859-7, the Latin/Greek Alphabet.
  165.   ISO 8859-8, the Latin/Hebrew Alphabet.
  166.   ISO 8859-9, Latin Alphabet 5, for Danish, Dutch, English, Faeroese,
  167.   Finnish, French, German, Irish, Italian, Norwegian, Portuguese, Spanish,
  168.   Swedish, and Turkish.
  169.   
  170.   The "foreign" environment.
  171.   
  172.        So, these facts of languages have our typewriters different, and the
  173.   computer keyboards are modelled after them. A few letters shifted about,
  174.   digits on the uppercase side, accented letters in place of programming
  175.   symbols etc.. More striking, if you pardon the pun, is that the amount of
  176.   keys is not enough for all the French characters. Just like a typewriter
  177.   could overtype, some so-called dead-keys are used to compose accented
  178.   letters by a strike of the accent followed by one of another letter,
  179.   giving a single code point as program input.
  180.   
  181.        It must be realized that, to an international computer user, an 8-
  182.   bit code is just as natural as the 7-bit one of English-speaking users.
  183.   8-bit code points "come out" some plain keys of the keyboard and are
  184.   expected to display. If a program filters them out, it will be shocking.
  185.   Worse, if it uses these code points for internal control functions, the
  186.   user will be confused with "strange behavior" a US keyboard would never
  187.   produce. For example, if it strips the 8th bit of a PC e-acute, it
  188.   produces a disturbing linefeed. Or if a program decides that normal
  189.   characters belong to the range 32-127, this will play havoc. It is worth
  190.   checking a program with such data, that some keyboards can produce with
  191.   alternate input.
  192.   
  193.        Trust little about the keyboard layout like physical scan-codes. The
  194.   only reliable input is through the operating system or country-
  195.   configurable keyboard interface. Trying to use a keyboard redefinition
  196.   system consisting of macros transforming some hardware level input causes
  197.   problems too, because the dead-keys make two inputs and the system
  198.   interface used could just not see them at all.
  199.   
  200.   8-bit codes in communications.
  201.   
  202.        We now realize that exchanging data between those computers with
  203.   proprietary 8-bit codes is to us exactly like sending data from an ASCII
  204.   machine to an EBCDIC one: translation has to occur somewhere (which is to
  205.   translate what to what?). Communication, if to work at all, relies
  206.   heavily on strict standards. If communication between EBCDIC and ASCII
  207.   computers is feasible, it is because of the well known fact -- so well
  208.   one often forgets to state it -- that character on a communication line
  209.   must be ASCII. Just imagime there is nothing such to us...
  210.        It is urgently needed to stop all sorts of hacking. I know of at
  211.   least 25 different codes similar to ISO 8859-1 that a file receiver must
  212.   try to guess from which translate to its own. This makes over 1000
  213.   translation tables.
  214.   
  215.        The only solution is to state that each and every octet of text data
  216.   carried on a communication line cannot be anything else that an official
  217.   standard and that, while waiting for a single multi-octet standard, each
  218.   language uses only one standard. ISO 8859 fills this purpose and is the
  219.   only official standard. It is already used by major firms and some
  220.   protocols like X-Windows.
  221.   
  222.        The conclusions are:
  223.   
  224.   - If a computer is forced to continue using a code different from but
  225.   with a character set similar to a version of ISO 8859, it must behave
  226.   with regard of what it sends on and receives from communication lines as
  227.   if it were using that version of ISO. This means that the key feature of
  228.   protocols (like file transfer in text mode or electronic mail) is to
  229.   implement translation of the data that this protocol exchanges with the
  230.   communication line. This applies to both services provided by a host and
  231.   terminal functions provided by stations.
  232.   - In normal usage, this translation is expected to always be to ISO 8859,
  233.   but, to ease the transition period, the table is best customisable and,
  234.   even better, selectable, especially to revert to the compatible case of
  235.   null translation.
  236.   - If a computer does not and cannot use one of the ISO 8859 codes, but
  237.   uses a character set close to one, a requirement is to define a "best
  238.   fit" translation between the proprietary code and that ISO version for
  239.   text file transfer. The important point is that this translation must be
  240.   invertible for all the 256 characters, even if this translates characters
  241.   to totally different ones to be used for functions like file transfer.
  242.   The reason is that doing otherwise permanently corrupts data that cannot
  243.   be processed later. It is better to obtain an apparently unreadable disk
  244.   file that can be sent back unaltered than to transliterate it with
  245.   lookalike characters and introduce confusion about what was the initial
  246.   data. And even if a system does not use a subset of the code points, it
  247.   may have to receive files from systems that do, and translation that is
  248.   not one-to-one and invertible means unusable data.
  249.   - The main difficulty is that this translation should be unique for a
  250.   given system. Someone has to rule what the translation is exactly but it
  251.   is difficult to convince a constructor of this necessity. Indeed, for two
  252.   different software packages written for the same system to be able to
  253.   talk to each other, the translation must be implemented the same way in
  254.   each (i. e. inverted, meaning one-to-one consistency) and not disabled.
  255.   - When a choice for a new code of a system has to be made, it seems
  256.   obvious that the painless one to avoid any translation is the only
  257.   standard: a version of ISO 8859. For example, this applies to Unix
  258.   systems now migrating to 8 bits: they must store ISO 8859 data. This is a
  259.   choice of the code used by the terminals, but also of in what code to
  260.   display system messages translated to national language for the terminals
  261.   to read them correctly.
  262.   - For communication programs that usually provide VT100 terminal mode, it
  263.   is not necessary to provide the full features of the higher VT models
  264.   that can switch character codes to get something usable. Moreover, it is
  265.   not desirable to impose that the hosts a terminal is connected to do have
  266.   to send character codes switching escape sequences in order to initiate
  267.   the use of national characters. The best is to be able to setup terminal
  268.   mode with an initial state of what display the GR code points (values
  269.   above 127). This way, using ISO 8859 will only be a "matter of fact" to
  270.   the host and neither has to know about code switching. This is especially
  271.   true when the only possible thing a microcomputer can do is display ISO
  272.   with a "useful translation" of the GR set of its own similar character
  273.   set, like the IBM PC or an Apple Macintosh with standard fonts.
  274.   
  275.        Now, one important remark about implementing translation with a
  276.   proprietary code. With a high variety of protocols exchanging various
  277.   data formats or structures with the outside world, it is a wrong approach
  278.   to try to translate at the communication line interface. It is much
  279.   easier to translate "where the things go wrong", that's at the keyboard,
  280.   screen, pipes, file access etc.. interfaces. The remarkable result is
  281.   that every data the application processes in memory is ISO 8859, as if it
  282.   executed in an ideal system, that the application (and its messages
  283.   files) remain portable for such systems or applications implementing this
  284.   method and that the modifications to be made to various applications are
  285.   the same, because they are confined in the host system interfaces.
  286.   
  287.   IBM and ISO 8859-1
  288.   
  289.        For the PC, IBM has now adopted the character set of ISO 8859-1 with
  290.   a different code. This was done by replacing some characters of the
  291.   original PC's code, now called code page 437, to obtain all the
  292.   characters of ISO 8859-1. This new code is called "code page 850" and IBM
  293.   sees it as the preferred code page for all Latin1 customers (it's their
  294.   default code for OS/2). See the appendix D of the "DOS reference manual"
  295.   for a description of 850 and the code pages it may replace: 437, 860, 863
  296.   and 865. Beware, the  yen, cent, and two paragraph symbols that existed
  297.   in 437 moved in 850. When one builds a translation table between 850 and
  298.   ISO 8859-1, 32 characters of 850, mainly box-drawing, are left to be
  299.   assigned to the 32 control characters 80-9F of ISO. IBM does not tell us
  300.   how to do that.
  301.   
  302.        For the EBCDIC mainframes, IBM decided that, because terminals were
  303.   already using the ISO-646-like replacements to the US EBCDIC, they had to
  304.   stay compatible. They extended each such "national EBCDIC" to "country
  305.   extended code pages". Thus, there are as many EBCDICs as versions of ISO
  306.   646 (what ISO 8859 is trying to avoid):
  307.   
  308.   CECP 037 for US, Canada-French, Netherlands, Portugal.
  309.   CECP 273 for Germany.
  310.   CECP 277 for Denmark and Norway.
  311.   CECP 278 for Finland and Sweden.
  312.   CECP 280 for Italy.
  313.   CECP 284 for Latin America and Spain.
  314.   CECP 285 for United Kingdom.
  315.   CECP 297 for France.
  316.   CECP 500 for Belgium, Switzerland-French and Switzerland-German.
  317.   
  318.        Like 850, all these codes contain all the characters of ISO 8859-1.
  319.   Also 32 more control characters that, again, we are not told how to
  320.   translate to ISO. We have evidence for printable characters from code
  321.   pages publications. We have a hint for control characters from an EBCDIC
  322.   to ISO 2022 translation table in a Fortran manual.
  323.        As the OS/2 Communication Manager implements revertible translation
  324.   across all these codes, we may also deduce from its EBCDIC/PC code
  325.   translation what the translation of the PC control characters to ISO
  326.   could be. But indeed we would need more official information. Moreover,
  327.   we have no hint for the characters of code page 437 that do not belong to
  328.   ISO, and, compared to 850, the the Communication Manager translates them
  329.   differently to EBCDIC, even those box graphic characters that are the
  330.   same in 850 and 437.
  331.   
  332.        A really strange feature is that none of these CECPs is compatible
  333.   with a de-facto standard EBCDIC, corresponding to a de-facto ASCII/EBCDIC
  334.   translation, that a huge amount of products settled on long ago,
  335.   including software from IBM:
  336.   - all compilers from IBM or others: C, REXX, PL/I, Pascal, for those
  337.   sensitive to the differences in code points,
  338.   - File transfer programs like Kermit, PCTERM, and IBM TCP/IP,
  339.   - Terminal emulation: TTY line mode or 3270 emulation by the 7171,
  340.   - ASCII tapes translation,
  341.   - Products to translate ASCII to EBCDIC on a mainframe: ARCUTIL ...
  342.   - Products that should produce ASCII, but produce EBCDIC because data
  343.   goes through EBCDIC/ASCII translation: e. g. SAS output for Tektronix,
  344.   - Products that convert this output anyway, because the expected
  345.   EBCDIC/ASCII translation does not occur: LINEMODE through the 7171
  346.   transparent mode,
  347.   - Similarly, TPRINT to print in this transparent mode
  348.   - Certainly many other products I don't know of or I forget, because, as
  349.   you see, the de-facto EBCDIC snowballs from one to the other,
  350.   - Last but far from least, it's the translation made by most gateways
  351.   that relay mail between BITNET and the Internet. (BITNET is an IBM-
  352.   proprietary network where data is EBCDIC. Internet is a worldwide ASCII
  353.   based network where mail is implemented by the SMTP protocol. But SMTP is
  354.   further gatewayed with other ASCII based mailing networks.) Gateways must
  355.   all use the same translation so that the network appears transparent from
  356.   the outside and predictable from the inside. Of special importance is
  357.   that of the encoding of data that is to be transmitted by e-mail
  358.   (UUENCODE, BOO, HQX...): if the ASCII-EBCDIC-ASCII translation fails to
  359.   be invertible, the user gets error messages or, if the encoding method
  360.   has no data integrity check, simply the wrong data without warning.
  361.   
  362.   The closest to the de-facto EBCDIC is CECP 037 with the differences:
  363.   
  364.   ASCII  EBCDIC  CECP 037
  365.    5B      AD       BA    left bracket
  366.    5D      BD       BB    right bracket
  367.    5E      5F       B0    circumflex accent
  368.   
  369.        What is getting ridiculous is that all compilers expect brackets at
  370.   AD and BD, that none of the CECPs use these code points, and that the
  371.   Communication Manager only knows about CECPs and is unable to transfer a
  372.   file containing C-language statements from the IBM-PC-C-compiler-ASCII to
  373.   the mainframe-C-compiler-EBCDIC.
  374.   
  375.        The requirement #1 of SHARE is that IBM use a single EBCDIC code for
  376.   Latin group 1 and publish it. Using an extension of de-facto EBCDIC is
  377.   recommended (said otherwise, 037 with 3 code points swapped as above). I
  378.   have asked that, whatever the ISO 8859-x version, its translation to an
  379.   equivalent CECP use the same ISCII/EBCDIC table, so that ISCII/EBCDIC
  380.   translation be independent of the particular version.
  381.        There is an informal reply from IBM so far that they "will try to
  382.   converge on a scheme for international data interchange, while retaining
  383.   national data entry methods. This scheme will employ tagged data wherever
  384.   feasible, but will almost certainly involve some kind of "reference
  385.   EBCDIC" as a standard. When pressed, IBM representatives indicated that
  386.   the current trend is toward adoption of code page 500 for the standard."
  387.   (Quoted from Rick Troth report to the list ISO8859.)
  388.        This answer is a good step, but not much of an immediate help.
  389.   
  390.        Very technical argument. It may seem unclear why the 5E/5F
  391.   translation is required. The reasons are as follows:
  392.   Translation of ASCII 5E "circumflex" has always been to EBCDIC 5F, which
  393.   is "not sign" in 037 but "circumflex" in 500. There was no "circumflex"
  394.   in EBCDIC and no "not" in ASCII. Now, both have both and the old
  395.   translation seems abnormal to continue with 037, but normal with 500. It
  396.   is so "popular" it would be difficult to adopt CECP 037. So, either ISO
  397.   or CECP, worse ASCII or EBCDIC must swap the code points. Swapping the
  398.   037 definition to get CECP xxx is not that bad, it means that:
  399.   - PL/I and REXX "are said to" use "circumflex" for the not operator.
  400.   - Their documentation would have to change, but a small fix to REXX and
  401.   PL/I to accept both would make it almost unnecessary.
  402.   - The new not operator is usable from an ASCII terminal without a cheat.
  403.   - Isn't "circumflex" the "not operator" in CECP 500 after all?
  404.   
  405.   The IBM 7171
  406.   
  407.        This 3270 protocol converter was initially designed to support US
  408.   ASCII only and uses the de-facto EBCDIC. However, customized translation
  409.   tables using the APL feature can make an IBM EBCDIC mainframe appear as
  410.   an ISO 8859 host to the ASCII terminals. The translation tables can adapt
  411.   any CECP to ISO. The CECP is chosen on initial connection by replying the
  412.   corresponding terminal type. A single code (ISO 8859) on the
  413.   communication line reduces the Nonvolatile RAM requirements.
  414.   
  415.        One problem is that the 7171 forces the communication line to be 7-
  416.   bit and that the terminal MUST use the SO/SI protocol for input AND
  417.   output. For its input (terminal keyboard), the 7171 can also be
  418.   programmed to accept a non-locking shift escape sequence in front of each
  419.   character of the GR set.
  420.   
  421.        File transfer is best done in transparent mode that operates without
  422.   translation, but is also restricted to 7-bit and needs 8-bit to 7-bit
  423.   encoding.
  424.   
  425.   Asynchronous communication
  426.   
  427.        Thanks to the interest of Frank da Cruz and Christine Gianone,
  428.   Kermit now defines specifications to support ISO 8859 (and other codes if
  429.   needed) on the communication line in terminal and file transfer mode. It
  430.   has provision to extend to mixed codes files too.
  431.        John Chandler has extended the traditional translation made by his
  432.   remarkable IBM mainframe Kermits to the specific choice of any CECP or
  433.   the extended de-facto EBCDIC to ISO 8859-1.
  434.        The impressive MSDOS Kermit by Joe Doupnik now also supports
  435.   translation of PC code pages to ISO8859-1.
  436.        Thanks to Paul Placeway, Macintosh Kermit now supports ISO 8859-1 as
  437.   an 8-bit line terminal.
  438.   
  439.        I think I can speak on behalf on the international computing
  440.   community and enthusiastically thank these people for a work most useful
  441.   to us.
  442.   
  443.   TCP/IP
  444.   
  445.        Despite a mention I have read in an introduction to the TCP/IP
  446.   communication protocols "provision for hosts with different character
  447.   sets", I don't think the idea extends much beyond the problem of the
  448.   EBCDIC code restricted to the US ASCII character set. For international
  449.   characters users, the same problem exists for any pair of hosts not using
  450.   the same 8-bit code. Or, said with the standards in mind, a host not
  451.   using ISO 8859.
  452.        However, it is just a matter of what a protocol states, and, indeed,
  453.   the specifications of X-Windows state that ISO 8859-1 is the code that
  454.   must be used to exchange text between the client and the server of that
  455.   protocol.
  456.        What is needed is a general TCP/IP statement saying what single code
  457.   its application protocols use on communication lines: temptatively ISO
  458.   8859 with future migration to ISO 10646.
  459.   
  460.        TCP/IP has 8-bit data transport but usually no translation, except
  461.   for EBCDIC mainframes. Telnet and SMTP mention restriction to 7-bit ASCII
  462.   with high-order bit set to zero. Yet, SMTP does not say if some
  463.   intermediate agent is in right to zero a bit that was set to one by the
  464.   source, and it is not clear if the intention is to forbid a "random"
  465.   high-order bit and allow for a future extension, rather than disallow it.
  466.   It would be much welcome that an 8-bit code be allowed at least in the
  467.   mail body and, further, specified: a version of ISO 8859, like for X-
  468.   Windows.
  469.        RFC 821 (4.5.2) states that data transforms must be reversible.
  470.   Speaking of BITNET/ASCII gateways, if the whole BITNET network is
  471.   considered as one system, this means that all gateways must use the same
  472.   translation tables; not knowing which caused evident failures to do so.
  473.   Moreover, beyond a strict SMTP concern, it is difficult to implement an
  474.   invertible translation between an inherently 8-bit EBCDIC and a 7-bit
  475.   code. It should be extended to 8-bit, strictly specified and invertible.
  476.   
  477.        Telnet line communication code should be ISO 8859 by both the client
  478.   and server as explained in general terms above. Making TN3270 transfer
  479.   ISO 8859 would have been difficult because it would have envolved some
  480.   redefinition of 3270 data. Yet, it must be observed that the general
  481.   programming method making a communication program process ISO 8859 in
  482.   memory still holds for 3270 when ISO/EBCDIC translation is performed in
  483.   the line buffers encoding/decoding routines.
  484.   
  485.        The same general rules for translation as explained above for file
  486.   transfer apply to FTP.
  487.   
  488.   General conclusions
  489.   
  490.   1) Every effort should be made so that all operating systems' codes be
  491.   unique and universal, i. e. ISO 8859-x for an 8-bit code, while waiting
  492.   for the perfect unicity of a single multibyte code.
  493.   
  494.   2) Failing that, communication software must palliate a particular system
  495.   weakness and translate data so that it appears to the outside world to
  496.   use the unique data interchange code.
  497.   
  498.   3) Programers must deal with 8-bit character codes (and prepare for
  499.   multibytes ones).
  500.   
  501.   While waiting.
  502.   
  503.        Failing to receive precise invertible translation tables from the
  504.   manufacturers, we must do our best to make our own agreement about the
  505.   translation of the code points that are undefined.
  506.   I have been looking for the most widely accepted complete tables and I
  507.   explain the reasons of the choices. However, I cannot guarantee that
  508.   another translation will not be used someday. The data correspond to my
  509.   explanations. That's all I can say.
  510.   
  511.   DEC
  512.   
  513.        Easy case first. DEC uses ISO 8859. Nothing to do except making sure
  514.   the 8 bits go through.
  515.   
  516.   IBM (EBCDIC mainframes first)
  517.   
  518.        With the Communication Manager of OS/2, IBM uses highly coherent
  519.   invertible translation tables between mainframes and PCs. One can
  520.   translate from any of the numerous EBCDIC CECPs to any of the codepages
  521.   of the PC, data is never lost and comes back unaltered, whatever the trip
  522.   fom one code to another (this is called "round trip integrity"). Such a
  523.   coherence is not fortuitous, nor only the case of the Communication
  524.   Manager. I expect that deriving all the code pages from ISO 8859-1 was
  525.   widely planned and that all the products based on them are coherent. For
  526.   example, I have verified that the tables that GDDM uses to translate from
  527.   one CECP to another are coherent with the Communication Manager.
  528.        The good news is that once we know a translation, we know them all
  529.   by "mathematical deduction". The bad news is that the Communication
  530.   Manager tells us only how to translate between any code of the set of PC
  531.   and CECPs codepages to another, not ISO 8859-1.
  532.        Because of the character representation, we know how CECP 037
  533.   translates to ISO 8859-1 except for the 32 control characters. So, if we
  534.   can find a clue for those characters, we know all the translations.
  535.        The people on the mailing list ISO8859 have found the most probable
  536.   one. Except for correcting an invalid ISO 9F=>EBCDIC E1, because E1 is
  537.   "Divide sign", it is identical to:
  538.   "VS/Fortran Language & Library Reference Manual, Rel 4.1, SC26-4119-1"
  539.   GOST 19768-87
  540.   MTS sites translation
  541.   Unix file conversion "dd conv=ibm"
  542.   JNET EBCDIC/ASCII network gateways (except for another difference for ISO
  543.   85 and 8A)
  544.   
  545.        If the ASCII world (I mean ISO) is to be served, we must also be
  546.   compatible with what they have been using for years and define an
  547.   extension of the de-facto EBCDIC in addition to the 9 official CECPs. A
  548.   word of warning: This EBCDIC definition is not official, but the most
  549.   sensible compromise for compatibility with the de-facto EBCDIC and
  550.   official CECPs.
  551.   
  552.        The following tables translate ISO 8859-1 to EBCDIC and are followed
  553.   by the inverse translation. In all cases, the translation of the 80-A0
  554.   range of ISO 8859-1 is the best guess of the list ISO8859.
  555.   
  556.   "Extended de-facto EBCDIC".
  557.   00  01  02  03  37  2D  2E  2F  16  05  25  0B  0C  0D  0E  0F
  558.   10  11  12  13  3C  3D  32  26  18  19  3F  27  1C  1D  1E  1F
  559.   40  5A  7F  7B  5B  6C  50  7D  4D  5D  5C  4E  6B  60  4B  61
  560.   F0  F1  F2  F3  F4  F5  F6  F7  F8  F9  7A  5E  4C  7E  6E  6F
  561.   7C  C1  C2  C3  C4  C5  C6  C7  C8  C9  D1  D2  D3  D4  D5  D6
  562.   D7  D8  D9  E2  E3  E4  E5  E6  E7  E8  E9  AD  E0  BD  5F  6D
  563.   79  81  82  83  84  85  86  87  88  89  91  92  93  94  95  96
  564.   97  98  99  A2  A3  A4  A5  A6  A7  A8  A9  C0  4F  D0  A1  07
  565.   20  21  22  23  24  15  06  17  28  29  2A  2B  2C  09  0A  1B
  566.   30  31  1A  33  34  35  36  08  38  39  3A  3B  04  14  3E  FF
  567.   41  AA  4A  B1  9F  B2  6A  B5  BB  B4  9A  8A  B0  CA  AF  BC
  568.   90  8F  EA  FA  BE  A0  B6  B3  9D  DA  9B  8B  B7  B8  B9  AB
  569.   64  65  62  66  63  67  9E  68  74  71  72  73  78  75  76  77
  570.   AC  69  ED  EE  EB  EF  EC  BF  80  FD  FE  FB  FC  BA  AE  59
  571.   44  45  42  46  43  47  9C  48  54  51  52  53  58  55  56  57
  572.   8C  49  CD  CE  CB  CF  CC  E1  70  DD  DE  DB  DC  8D  8E  DF
  573.   ---- inverted ----
  574.   00  01  02  03  9C  09  86  7F  97  8D  8E  0B  0C  0D  0E  0F
  575.   10  11  12  13  9D  85  08  87  18  19  92  8F  1C  1D  1E  1F
  576.   80  81  82  83  84  0A  17  1B  88  89  8A  8B  8C  05  06  07
  577.   90  91  16  93  94  95  96  04  98  99  9A  9B  14  15  9E  1A
  578.   20  A0  E2  E4  E0  E1  E3  E5  E7  F1  A2  2E  3C  28  2B  7C
  579.   26  E9  EA  EB  E8  ED  EE  EF  EC  DF  21  24  2A  29  3B  5E
  580.   2D  2F  C2  C4  C0  C1  C3  C5  C7  D1  A6  2C  25  5F  3E  3F
  581.   F8  C9  CA  CB  C8  CD  CE  CF  CC  60  3A  23  40  27  3D  22
  582.   D8  61  62  63  64  65  66  67  68  69  AB  BB  F0  FD  FE  B1
  583.   B0  6A  6B  6C  6D  6E  6F  70  71  72  AA  BA  E6  B8  C6  A4
  584.   B5  7E  73  74  75  76  77  78  79  7A  A1  BF  D0  5B  DE  AE
  585.   AC  A3  A5  B7  A9  A7  B6  BC  BD  BE  DD  A8  AF  5D  B4  D7
  586.   7B  41  42  43  44  45  46  47  48  49  AD  F4  F6  F2  F3  F5
  587.   7D  4A  4B  4C  4D  4E  4F  50  51  52  B9  FB  FC  F9  FA  FF
  588.   5C  F7  53  54  55  56  57  58  59  5A  B2  D4  D6  D2  D3  D5
  589.   30  31  32  33  34  35  36  37  38  39  B3  DB  DC  D9  DA  9F
  590.   
  591.   "CECP 037".
  592.   00  01  02  03  37  2D  2E  2F  16  05  25  0B  0C  0D  0E  0F
  593.   10  11  12  13  3C  3D  32  26  18  19  3F  27  1C  1D  1E  1F
  594.   40  5A  7F  7B  5B  6C  50  7D  4D  5D  5C  4E  6B  60  4B  61
  595.   F0  F1  F2  F3  F4  F5  F6  F7  F8  F9  7A  5E  4C  7E  6E  6F
  596.   7C  C1  C2  C3  C4  C5  C6  C7  C8  C9  D1  D2  D3  D4  D5  D6
  597.   D7  D8  D9  E2  E3  E4  E5  E6  E7  E8  E9  BA  E0  BB  B0  6D
  598.   79  81  82  83  84  85  86  87  88  89  91  92  93  94  95  96
  599.   97  98  99  A2  A3  A4  A5  A6  A7  A8  A9  C0  4F  D0  A1  07
  600.   20  21  22  23  24  15  06  17  28  29  2A  2B  2C  09  0A  1B
  601.   30  31  1A  33  34  35  36  08  38  39  3A  3B  04  14  3E  FF
  602.   41  AA  4A  B1  9F  B2  6A  B5  BD  B4  9A  8A  5F  CA  AF  BC
  603.   90  8F  EA  FA  BE  A0  B6  B3  9D  DA  9B  8B  B7  B8  B9  AB
  604.   64  65  62  66  63  67  9E  68  74  71  72  73  78  75  76  77
  605.   AC  69  ED  EE  EB  EF  EC  BF  80  FD  FE  FB  FC  AD  AE  59
  606.   44  45  42  46  43  47  9C  48  54  51  52  53  58  55  56  57
  607.   8C  49  CD  CE  CB  CF  CC  E1  70  DD  DE  DB  DC  8D  8E  DF
  608.   ---- inverted ----
  609.   00  01  02  03  9C  09  86  7F  97  8D  8E  0B  0C  0D  0E  0F
  610.   10  11  12  13  9D  85  08  87  18  19  92  8F  1C  1D  1E  1F
  611.   80  81  82  83  84  0A  17  1B  88  89  8A  8B  8C  05  06  07
  612.   90  91  16  93  94  95  96  04  98  99  9A  9B  14  15  9E  1A
  613.   20  A0  E2  E4  E0  E1  E3  E5  E7  F1  A2  2E  3C  28  2B  7C
  614.   26  E9  EA  EB  E8  ED  EE  EF  EC  DF  21  24  2A  29  3B  AC
  615.   2D  2F  C2  C4  C0  C1  C3  C5  C7  D1  A6  2C  25  5F  3E  3F
  616.   F8  C9  CA  CB  C8  CD  CE  CF  CC  60  3A  23  40  27  3D  22
  617.   D8  61  62  63  64  65  66  67  68  69  AB  BB  F0  FD  FE  B1
  618.   B0  6A  6B  6C  6D  6E  6F  70  71  72  AA  BA  E6  B8  C6  A4
  619.   B5  7E  73  74  75  76  77  78  79  7A  A1  BF  D0  DD  DE  AE
  620.   5E  A3  A5  B7  A9  A7  B6  BC  BD  BE  5B  5D  AF  A8  B4  D7
  621.   7B  41  42  43  44  45  46  47  48  49  AD  F4  F6  F2  F3  F5
  622.   7D  4A  4B  4C  4D  4E  4F  50  51  52  B9  FB  FC  F9  FA  FF
  623.   5C  F7  53  54  55  56  57  58  59  5A  B2  D4  D6  D2  D3  D5
  624.   30  31  32  33  34  35  36  37  38  39  B3  DB  DC  D9  DA  9F
  625.   
  626.   "CECP 273".
  627.   00  01  02  03  37  2D  2E  2F  16  05  25  0B  0C  0D  0E  0F
  628.   10  11  12  13  3C  3D  32  26  18  19  3F  27  1C  1D  1E  1F
  629.   40  4F  7F  7B  5B  6C  50  7D  4D  5D  5C  4E  6B  60  4B  61
  630.   F0  F1  F2  F3  F4  F5  F6  F7  F8  F9  7A  5E  4C  7E  6E  6F
  631.   B5  C1  C2  C3  C4  C5  C6  C7  C8  C9  D1  D2  D3  D4  D5  D6
  632.   D7  D8  D9  E2  E3  E4  E5  E6  E7  E8  E9  63  EC  FC  5F  6D
  633.   79  81  82  83  84  85  86  87  88  89  91  92  93  94  95  96
  634.   97  98  99  A2  A3  A4  A5  A6  A7  A8  A9  43  BB  DC  59  07
  635.   20  21  22  23  24  15  06  17  28  29  2A  2B  2C  09  0A  1B
  636.   30  31  1A  33  34  35  36  08  38  39  3A  3B  04  14  3E  FF
  637.   41  AA  B0  B1  9F  B2  CC  7C  BD  B4  9A  8A  BA  CA  AF  BC
  638.   90  8F  EA  FA  BE  A0  B6  B3  9D  DA  9B  8B  B7  B8  B9  AB
  639.   64  65  62  66  4A  67  9E  68  74  71  72  73  78  75  76  77
  640.   AC  69  ED  EE  EB  EF  E0  BF  80  FD  FE  FB  5A  AD  AE  A1
  641.   44  45  42  46  C0  47  9C  48  54  51  52  53  58  55  56  57
  642.   8C  49  CD  CE  CB  CF  6A  E1  70  DD  DE  DB  D0  8D  8E  DF
  643.   ---- inverted ----
  644.   00  01  02  03  9C  09  86  7F  97  8D  8E  0B  0C  0D  0E  0F
  645.   10  11  12  13  9D  85  08  87  18  19  92  8F  1C  1D  1E  1F
  646.   80  81  82  83  84  0A  17  1B  88  89  8A  8B  8C  05  06  07
  647.   90  91  16  93  94  95  96  04  98  99  9A  9B  14  15  9E  1A
  648.   20  A0  E2  7B  E0  E1  E3  E5  E7  F1  C4  2E  3C  28  2B  21
  649.   26  E9  EA  EB  E8  ED  EE  EF  EC  7E  DC  24  2A  29  3B  5E
  650.   2D  2F  C2  5B  C0  C1  C3  C5  C7  D1  F6  2C  25  5F  3E  3F
  651.   F8  C9  CA  CB  C8  CD  CE  CF  CC  60  3A  23  A7  27  3D  22
  652.   D8  61  62  63  64  65  66  67  68  69  AB  BB  F0  FD  FE  B1
  653.   B0  6A  6B  6C  6D  6E  6F  70  71  72  AA  BA  E6  B8  C6  A4
  654.   B5  DF  73  74  75  76  77  78  79  7A  A1  BF  D0  DD  DE  AE
  655.   A2  A3  A5  B7  A9  40  B6  BC  BD  BE  AC  7C  AF  A8  B4  D7
  656.   E4  41  42  43  44  45  46  47  48  49  AD  F4  A6  F2  F3  F5
  657.   FC  4A  4B  4C  4D  4E  4F  50  51  52  B9  FB  7D  F9  FA  FF
  658.   D6  F7  53  54  55  56  57  58  59  5A  B2  D4  5C  D2  D3  D5
  659.   30  31  32  33  34  35  36  37  38  39  B3  DB  5D  D9  DA  9F
  660.   
  661.   "CECP 277".
  662.   00  01  02  03  37  2D  2E  2F  16  05  25  0B  0C  0D  0E  0F
  663.   10  11  12  13  3C  3D  32  26  18  19  3F  27  1C  1D  1E  1F
  664.   40  4F  7F  4A  67  6C  50  7D  4D  5D  5C  4E  6B  60  4B  61
  665.   F0  F1  F2  F3  F4  F5  F6  F7  F8  F9  7A  5E  4C  7E  6E  6F
  666.   80  C1  C2  C3  C4  C5  C6  C7  C8  C9  D1  D2  D3  D4  D5  D6
  667.   D7  D8  D9  E2  E3  E4  E5  E6  E7  E8  E9  9E  E0  9F  5F  6D
  668.   79  81  82  83  84  85  86  87  88  89  91  92  93  94  95  96
  669.   97  98  99  A2  A3  A4  A5  A6  A7  A8  A9  9C  BB  47  DC  07
  670.   20  21  22  23  24  15  06  17  28  29  2A  2B  2C  09  0A  1B
  671.   30  31  1A  33  34  35  36  08  38  39  3A  3B  04  14  3E  FF
  672.   41  AA  B0  B1  5A  B2  70  B5  BD  B4  9A  8A  BA  CA  AF  BC
  673.   90  8F  EA  FA  BE  A0  B6  B3  9D  DA  9B  8B  B7  B8  B9  AB
  674.   64  65  62  66  63  5B  7B  68  74  71  72  73  78  75  76  77
  675.   AC  69  ED  EE  EB  EF  EC  BF  7C  FD  FE  FB  FC  AD  AE  59
  676.   44  45  42  46  43  D0  C0  48  54  51  52  53  58  55  56  57
  677.   8C  49  CD  CE  CB  CF  CC  E1  6A  DD  DE  DB  A1  8D  8E  DF
  678.   ---- inverted ----
  679.   00  01  02  03  9C  09  86  7F  97  8D  8E  0B  0C  0D  0E  0F
  680.   10  11  12  13  9D  85  08  87  18  19  92  8F  1C  1D  1E  1F
  681.   80  81  82  83  84  0A  17  1B  88  89  8A  8B  8C  05  06  07
  682.   90  91  16  93  94  95  96  04  98  99  9A  9B  14  15  9E  1A
  683.   20  A0  E2  E4  E0  E1  E3  7D  E7  F1  23  2E  3C  28  2B  21
  684.   26  E9  EA  EB  E8  ED  EE  EF  EC  DF  A4  C5  2A  29  3B  5E
  685.   2D  2F  C2  C4  C0  C1  C3  24  C7  D1  F8  2C  25  5F  3E  3F
  686.   A6  C9  CA  CB  C8  CD  CE  CF  CC  60  3A  C6  D8  27  3D  22
  687.   40  61  62  63  64  65  66  67  68  69  AB  BB  F0  FD  FE  B1
  688.   B0  6A  6B  6C  6D  6E  6F  70  71  72  AA  BA  7B  B8  5B  5D
  689.   B5  FC  73  74  75  76  77  78  79  7A  A1  BF  D0  DD  DE  AE
  690.   A2  A3  A5  B7  A9  A7  B6  BC  BD  BE  AC  7C  AF  A8  B4  D7
  691.   E6  41  42  43  44  45  46  47  48  49  AD  F4  F6  F2  F3  F5
  692.   E5  4A  4B  4C  4D  4E  4F  50  51  52  B9  FB  7E  F9  FA  FF
  693.   5C  F7  53  54  55  56  57  58  59  5A  B2  D4  D6  D2  D3  D5
  694.   30  31  32  33  34  35  36  37  38  39  B3  DB  DC  D9  DA  9F
  695.   
  696.   "CECP 278".
  697.   00  01  02  03  37  2D  2E  2F  16  05  25  0B  0C  0D  0E  0F
  698.   10  11  12  13  3C  3D  32  26  18  19  3F  27  1C  1D  1E  1F
  699.   40  4F  7F  63  67  6C  50  7D  4D  5D  5C  4E  6B  60  4B  61
  700.   F0  F1  F2  F3  F4  F5  F6  F7  F8  F9  7A  5E  4C  7E  6E  6F
  701.   EC  C1  C2  C3  C4  C5  C6  C7  C8  C9  D1  D2  D3  D4  D5  D6
  702.   D7  D8  D9  E2  E3  E4  E5  E6  E7  E8  E9  B5  71  9F  5F  6D
  703.   51  81  82  83  84  85  86  87  88  89  91  92  93  94  95  96
  704.   97  98  99  A2  A3  A4  A5  A6  A7  A8  A9  43  BB  47  DC  07
  705.   20  21  22  23  24  15  06  17  28  29  2A  2B  2C  09  0A  1B
  706.   30  31  1A  33  34  35  36  08  38  39  3A  3B  04  14  3E  FF
  707.   41  AA  B0  B1  5A  B2  CC  4A  BD  B4  9A  8A  BA  CA  AF  BC
  708.   90  8F  EA  FA  BE  A0  B6  B3  9D  DA  9B  8B  B7  B8  B9  AB
  709.   64  65  62  66  7B  5B  9E  68  74  E0  72  73  78  75  76  77
  710.   AC  69  ED  EE  EB  EF  7C  BF  80  FD  FE  FB  FC  AD  AE  59
  711.   44  45  42  46  C0  D0  9C  48  54  79  52  53  58  55  56  57
  712.   8C  49  CD  CE  CB  CF  6A  E1  70  DD  DE  DB  A1  8D  8E  DF
  713.   ---- inverted ----
  714.   00  01  02  03  9C  09  86  7F  97  8D  8E  0B  0C  0D  0E  0F
  715.   10  11  12  13  9D  85  08  87  18  19  92  8F  1C  1D  1E  1F
  716.   80  81  82  83  84  0A  17  1B  88  89  8A  8B  8C  05  06  07
  717.   90  91  16  93  94  95  96  04  98  99  9A  9B  14  15  9E  1A
  718.   20  A0  E2  7B  E0  E1  E3  7D  E7  F1  A7  2E  3C  28  2B  21
  719.   26  60  EA  EB  E8  ED  EE  EF  EC  DF  A4  C5  2A  29  3B  5E
  720.   2D  2F  C2  23  C0  C1  C3  24  C7  D1  F6  2C  25  5F  3E  3F
  721.   F8  5C  CA  CB  C8  CD  CE  CF  CC  E9  3A  C4  D6  27  3D  22
  722.   D8  61  62  63  64  65  66  67  68  69  AB  BB  F0  FD  FE  B1
  723.   B0  6A  6B  6C  6D  6E  6F  70  71  72  AA  BA  E6  B8  C6  5D
  724.   B5  FC  73  74  75  76  77  78  79  7A  A1  BF  D0  DD  DE  AE
  725.   A2  A3  A5  B7  A9  5B  B6  BC  BD  BE  AC  7C  AF  A8  B4  D7
  726.   E4  41  42  43  44  45  46  47  48  49  AD  F4  A6  F2  F3  F5
  727.   E5  4A  4B  4C  4D  4E  4F  50  51  52  B9  FB  7E  F9  FA  FF
  728.   C9  F7  53  54  55  56  57  58  59  5A  B2  D4  40  D2  D3  D5
  729.   30  31  32  33  34  35  36  37  38  39  B3  DB  DC  D9  DA  9F
  730.   
  731.   "CECP 280".
  732.   00  01  02  03  37  2D  2E  2F  16  05  25  0B  0C  0D  0E  0F
  733.   10  11  12  13  3C  3D  32  26  18  19  3F  27  1C  1D  1E  1F
  734.   40  4F  7F  B1  5B  6C  50  7D  4D  5D  5C  4E  6B  60  4B  61
  735.   F0  F1  F2  F3  F4  F5  F6  F7  F8  F9  7A  5E  4C  7E  6E  6F
  736.   B5  C1  C2  C3  C4  C5  C6  C7  C8  C9  D1  D2  D3  D4  D5  D6
  737.   D7  D8  D9  E2  E3  E4  E5  E6  E7  E8  E9  90  48  51  5F  6D
  738.   DD  81  82  83  84  85  86  87  88  89  91  92  93  94  95  96
  739.   97  98  99  A2  A3  A4  A5  A6  A7  A8  A9  44  BB  54  58  07
  740.   20  21  22  23  24  15  06  17  28  29  2A  2B  2C  09  0A  1B
  741.   30  31  1A  33  34  35  36  08  38  39  3A  3B  04  14  3E  FF
  742.   41  AA  B0  7B  9F  B2  CD  7C  BD  B4  9A  8A  BA  CA  AF  BC
  743.   4A  8F  EA  FA  BE  A0  B6  B3  9D  DA  9B  8B  B7  B8  B9  AB
  744.   64  65  62  66  63  67  9E  68  74  71  72  73  78  75  76  77
  745.   AC  69  ED  EE  EB  EF  EC  BF  80  FD  FE  FB  FC  AD  AE  59
  746.   C0  45  42  46  43  47  9C  E0  D0  5A  52  53  A1  55  56  57
  747.   8C  49  6A  CE  CB  CF  CC  E1  70  79  DE  DB  DC  8D  8E  DF
  748.   ---- inverted ----
  749.   00  01  02  03  9C  09  86  7F  97  8D  8E  0B  0C  0D  0E  0F
  750.   10  11  12  13  9D  85  08  87  18  19  92  8F  1C  1D  1E  1F
  751.   80  81  82  83  84  0A  17  1B  88  89  8A  8B  8C  05  06  07
  752.   90  91  16  93  94  95  96  04  98  99  9A  9B  14  15  9E  1A
  753.   20  A0  E2  E4  7B  E1  E3  E5  5C  F1  B0  2E  3C  28  2B  21
  754.   26  5D  EA  EB  7D  ED  EE  EF  7E  DF  E9  24  2A  29  3B  5E
  755.   2D  2F  C2  C4  C0  C1  C3  C5  C7  D1  F2  2C  25  5F  3E  3F
  756.   F8  C9  CA  CB  C8  CD  CE  CF  CC  F9  3A  A3  A7  27  3D  22
  757.   D8  61  62  63  64  65  66  67  68  69  AB  BB  F0  FD  FE  B1
  758.   5B  6A  6B  6C  6D  6E  6F  70  71  72  AA  BA  E6  B8  C6  A4
  759.   B5  EC  73  74  75  76  77  78  79  7A  A1  BF  D0  DD  DE  AE
  760.   A2  23  A5  B7  A9  40  B6  BC  BD  BE  AC  7C  AF  A8  B4  D7
  761.   E0  41  42  43  44  45  46  47  48  49  AD  F4  F6  A6  F3  F5
  762.   E8  4A  4B  4C  4D  4E  4F  50  51  52  B9  FB  FC  60  FA  FF
  763.   E7  F7  53  54  55  56  57  58  59  5A  B2  D4  D6  D2  D3  D5
  764.   30  31  32  33  34  35  36  37  38  39  B3  DB  DC  D9  DA  9F
  765.   
  766.   "CECP 284".
  767.   00  01  02  03  37  2D  2E  2F  16  05  25  0B  0C  0D  0E  0F
  768.   10  11  12  13  3C  3D  32  26  18  19  3F  27  1C  1D  1E  1F
  769.   40  BB  7F  69  5B  6C  50  7D  4D  5D  5C  4E  6B  60  4B  61
  770.   F0  F1  F2  F3  F4  F5  F6  F7  F8  F9  7A  5E  4C  7E  6E  6F
  771.   7C  C1  C2  C3  C4  C5  C6  C7  C8  C9  D1  D2  D3  D4  D5  D6
  772.   D7  D8  D9  E2  E3  E4  E5  E6  E7  E8  E9  4A  E0  5A  BA  6D
  773.   79  81  82  83  84  85  86  87  88  89  91  92  93  94  95  96
  774.   97  98  99  A2  A3  A4  A5  A6  A7  A8  A9  C0  4F  D0  BD  07
  775.   20  21  22  23  24  15  06  17  28  29  2A  2B  2C  09  0A  1B
  776.   30  31  1A  33  34  35  36  08  38  39  3A  3B  04  14  3E  FF
  777.   41  AA  B0  B1  9F  B2  49  B5  A1  B4  9A  8A  5F  CA  AF  BC
  778.   90  8F  EA  FA  BE  A0  B6  B3  9D  DA  9B  8B  B7  B8  B9  AB
  779.   64  65  62  66  63  67  9E  68  74  71  72  73  78  75  76  77
  780.   AC  7B  ED  EE  EB  EF  EC  BF  80  FD  FE  FB  FC  AD  AE  59
  781.   44  45  42  46  43  47  9C  48  54  51  52  53  58  55  56  57
  782.   8C  6A  CD  CE  CB  CF  CC  E1  70  DD  DE  DB  DC  8D  8E  DF
  783.   ---- inverted ----
  784.   00  01  02  03  9C  09  86  7F  97  8D  8E  0B  0C  0D  0E  0F
  785.   10  11  12  13  9D  85  08  87  18  19  92  8F  1C  1D  1E  1F
  786.   80  81  82  83  84  0A  17  1B  88  89  8A  8B  8C  05  06  07
  787.   90  91  16  93  94  95  96  04  98  99  9A  9B  14  15  9E  1A
  788.   20  A0  E2  E4  E0  E1  E3  E5  E7  A6  5B  2E  3C  28  2B  7C
  789.   26  E9  EA  EB  E8  ED  EE  EF  EC  DF  5D  24  2A  29  3B  AC
  790.   2D  2F  C2  C4  C0  C1  C3  C5  C7  23  F1  2C  25  5F  3E  3F
  791.   F8  C9  CA  CB  C8  CD  CE  CF  CC  60  3A  D1  40  27  3D  22
  792.   D8  61  62  63  64  65  66  67  68  69  AB  BB  F0  FD  FE  B1
  793.   B0  6A  6B  6C  6D  6E  6F  70  71  72  AA  BA  E6  B8  C6  A4
  794.   B5  A8  73  74  75  76  77  78  79  7A  A1  BF  D0  DD  DE  AE
  795.   A2  A3  A5  B7  A9  A7  B6  BC  BD  BE  5E  21  AF  7E  B4  D7
  796.   7B  41  42  43  44  45  46  47  48  49  AD  F4  F6  F2  F3  F5
  797.   7D  4A  4B  4C  4D  4E  4F  50  51  52  B9  FB  FC  F9  FA  FF
  798.   5C  F7  53  54  55  56  57  58  59  5A  B2  D4  D6  D2  D3  D5
  799.   30  31  32  33  34  35  36  37  38  39  B3  DB  DC  D9  DA  9F
  800.   
  801.   "CECP 285".
  802.   00  01  02  03  37  2D  2E  2F  16  05  25  0B  0C  0D  0E  0F
  803.   10  11  12  13  3C  3D  32  26  18  19  3F  27  1C  1D  1E  1F
  804.   40  5A  7F  7B  4A  6C  50  7D  4D  5D  5C  4E  6B  60  4B  61
  805.   F0  F1  F2  F3  F4  F5  F6  F7  F8  F9  7A  5E  4C  7E  6E  6F
  806.   7C  C1  C2  C3  C4  C5  C6  C7  C8  C9  D1  D2  D3  D4  D5  D6
  807.   D7  D8  D9  E2  E3  E4  E5  E6  E7  E8  E9  B1  E0  BB  BA  6D
  808.   79  81  82  83  84  85  86  87  88  89  91  92  93  94  95  96
  809.   97  98  99  A2  A3  A4  A5  A6  A7  A8  A9  C0  4F  D0  BC  07
  810.   20  21  22  23  24  15  06  17  28  29  2A  2B  2C  09  0A  1B
  811.   30  31  1A  33  34  35  36  08  38  39  3A  3B  04  14  3E  FF
  812.   41  AA  B0  5B  9F  B2  6A  B5  BD  B4  9A  8A  5F  CA  AF  A1
  813.   90  8F  EA  FA  BE  A0  B6  B3  9D  DA  9B  8B  B7  B8  B9  AB
  814.   64  65  62  66  63  67  9E  68  74  71  72  73  78  75  76  77
  815.   AC  69  ED  EE  EB  EF  EC  BF  80  FD  FE  FB  FC  AD  AE  59
  816.   44  45  42  46  43  47  9C  48  54  51  52  53  58  55  56  57
  817.   8C  49  CD  CE  CB  CF  CC  E1  70  DD  DE  DB  DC  8D  8E  DF
  818.   ---- inverted ----
  819.   00  01  02  03  9C  09  86  7F  97  8D  8E  0B  0C  0D  0E  0F
  820.   10  11  12  13  9D  85  08  87  18  19  92  8F  1C  1D  1E  1F
  821.   80  81  82  83  84  0A  17  1B  88  89  8A  8B  8C  05  06  07
  822.   90  91  16  93  94  95  96  04  98  99  9A  9B  14  15  9E  1A
  823.   20  A0  E2  E4  E0  E1  E3  E5  E7  F1  24  2E  3C  28  2B  7C
  824.   26  E9  EA  EB  E8  ED  EE  EF  EC  DF  21  A3  2A  29  3B  AC
  825.   2D  2F  C2  C4  C0  C1  C3  C5  C7  D1  A6  2C  25  5F  3E  3F
  826.   F8  C9  CA  CB  C8  CD  CE  CF  CC  60  3A  23  40  27  3D  22
  827.   D8  61  62  63  64  65  66  67  68  69  AB  BB  F0  FD  FE  B1
  828.   B0  6A  6B  6C  6D  6E  6F  70  71  72  AA  BA  E6  B8  C6  A4
  829.   B5  AF  73  74  75  76  77  78  79  7A  A1  BF  D0  DD  DE  AE
  830.   A2  5B  A5  B7  A9  A7  B6  BC  BD  BE  5E  5D  7E  A8  B4  D7
  831.   7B  41  42  43  44  45  46  47  48  49  AD  F4  F6  F2  F3  F5
  832.   7D  4A  4B  4C  4D  4E  4F  50  51  52  B9  FB  FC  F9  FA  FF
  833.   5C  F7  53  54  55  56  57  58  59  5A  B2  D4  D6  D2  D3  D5
  834.   30  31  32  33  34  35  36  37  38  39  B3  DB  DC  D9  DA  9F
  835.   
  836.   "CECP 297".
  837.   00  01  02  03  37  2D  2E  2F  16  05  25  0B  0C  0D  0E  0F
  838.   10  11  12  13  3C  3D  32  26  18  19  3F  27  1C  1D  1E  1F
  839.   40  4F  7F  B1  5B  6C  50  7D  4D  5D  5C  4E  6B  60  4B  61
  840.   F0  F1  F2  F3  F4  F5  F6  F7  F8  F9  7A  5E  4C  7E  6E  6F
  841.   44  C1  C2  C3  C4  C5  C6  C7  C8  C9  D1  D2  D3  D4  D5  D6
  842.   D7  D8  D9  E2  E3  E4  E5  E6  E7  E8  E9  90  48  B5  5F  6D
  843.   A0  81  82  83  84  85  86  87  88  89  91  92  93  94  95  96
  844.   97  98  99  A2  A3  A4  A5  A6  A7  A8  A9  51  BB  54  BD  07
  845.   20  21  22  23  24  15  06  17  28  29  2A  2B  2C  09  0A  1B
  846.   30  31  1A  33  34  35  36  08  38  39  3A  3B  04  14  3E  FF
  847.   41  AA  B0  7B  9F  B2  DD  5A  A1  B4  9A  8A  BA  CA  AF  BC
  848.   4A  8F  EA  FA  BE  79  B6  B3  9D  DA  9B  8B  B7  B8  B9  AB
  849.   64  65  62  66  63  67  9E  68  74  71  72  73  78  75  76  77
  850.   AC  69  ED  EE  EB  EF  EC  BF  80  FD  FE  FB  FC  AD  AE  59
  851.   7C  45  42  46  43  47  9C  E0  D0  C0  52  53  58  55  56  57
  852.   8C  49  CD  CE  CB  CF  CC  E1  70  6A  DE  DB  DC  8D  8E  DF
  853.   ---- inverted ----
  854.   00  01  02  03  9C  09  86  7F  97  8D  8E  0B  0C  0D  0E  0F
  855.   10  11  12  13  9D  85  08  87  18  19  92  8F  1C  1D  1E  1F
  856.   80  81  82  83  84  0A  17  1B  88  89  8A  8B  8C  05  06  07
  857.   90  91  16  93  94  95  96  04  98  99  9A  9B  14  15  9E  1A
  858.   20  A0  E2  E4  40  E1  E3  E5  5C  F1  B0  2E  3C  28  2B  21
  859.   26  7B  EA  EB  7D  ED  EE  EF  EC  DF  A7  24  2A  29  3B  5E
  860.   2D  2F  C2  C4  C0  C1  C3  C5  C7  D1  F9  2C  25  5F  3E  3F
  861.   F8  C9  CA  CB  C8  CD  CE  CF  CC  B5  3A  A3  E0  27  3D  22
  862.   D8  61  62  63  64  65  66  67  68  69  AB  BB  F0  FD  FE  B1
  863.   5B  6A  6B  6C  6D  6E  6F  70  71  72  AA  BA  E6  B8  C6  A4
  864.   60  A8  73  74  75  76  77  78  79  7A  A1  BF  D0  DD  DE  AE
  865.   A2  23  A5  B7  A9  5D  B6  BC  BD  BE  AC  7C  AF  7E  B4  D7
  866.   E9  41  42  43  44  45  46  47  48  49  AD  F4  F6  F2  F3  F5
  867.   E8  4A  4B  4C  4D  4E  4F  50  51  52  B9  FB  FC  A6  FA  FF
  868.   E7  F7  53  54  55  56  57  58  59  5A  B2  D4  D6  D2  D3  D5
  869.   30  31  32  33  34  35  36  37  38  39  B3  DB  DC  D9  DA  9F
  870.   
  871.   "CECP 500".
  872.   00  01  02  03  37  2D  2E  2F  16  05  25  0B  0C  0D  0E  0F
  873.   10  11  12  13  3C  3D  32  26  18  19  3F  27  1C  1D  1E  1F
  874.   40  4F  7F  7B  5B  6C  50  7D  4D  5D  5C  4E  6B  60  4B  61
  875.   F0  F1  F2  F3  F4  F5  F6  F7  F8  F9  7A  5E  4C  7E  6E  6F
  876.   7C  C1  C2  C3  C4  C5  C6  C7  C8  C9  D1  D2  D3  D4  D5  D6
  877.   D7  D8  D9  E2  E3  E4  E5  E6  E7  E8  E9  4A  E0  5A  5F  6D
  878.   79  81  82  83  84  85  86  87  88  89  91  92  93  94  95  96
  879.   97  98  99  A2  A3  A4  A5  A6  A7  A8  A9  C0  BB  D0  A1  07
  880.   20  21  22  23  24  15  06  17  28  29  2A  2B  2C  09  0A  1B
  881.   30  31  1A  33  34  35  36  08  38  39  3A  3B  04  14  3E  FF
  882.   41  AA  B0  B1  9F  B2  6A  B5  BD  B4  9A  8A  BA  CA  AF  BC
  883.   90  8F  EA  FA  BE  A0  B6  B3  9D  DA  9B  8B  B7  B8  B9  AB
  884.   64  65  62  66  63  67  9E  68  74  71  72  73  78  75  76  77
  885.   AC  69  ED  EE  EB  EF  EC  BF  80  FD  FE  FB  FC  AD  AE  59
  886.   44  45  42  46  43  47  9C  48  54  51  52  53  58  55  56  57
  887.   8C  49  CD  CE  CB  CF  CC  E1  70  DD  DE  DB  DC  8D  8E  DF
  888.   ---- inverted ----
  889.   00  01  02  03  9C  09  86  7F  97  8D  8E  0B  0C  0D  0E  0F
  890.   10  11  12  13  9D  85  08  87  18  19  92  8F  1C  1D  1E  1F
  891.   80  81  82  83  84  0A  17  1B  88  89  8A  8B  8C  05  06  07
  892.   90  91  16  93  94  95  96  04  98  99  9A  9B  14  15  9E  1A
  893.   20  A0  E2  E4  E0  E1  E3  E5  E7  F1  5B  2E  3C  28  2B  21
  894.   26  E9  EA  EB  E8  ED  EE  EF  EC  DF  5D  24  2A  29  3B  5E
  895.   2D  2F  C2  C4  C0  C1  C3  C5  C7  D1  A6  2C  25  5F  3E  3F
  896.   F8  C9  CA  CB  C8  CD  CE  CF  CC  60  3A  23  40  27  3D  22
  897.   D8  61  62  63  64  65  66  67  68  69  AB  BB  F0  FD  FE  B1
  898.   B0  6A  6B  6C  6D  6E  6F  70  71  72  AA  BA  E6  B8  C6  A4
  899.   B5  7E  73  74  75  76  77  78  79  7A  A1  BF  D0  DD  DE  AE
  900.   A2  A3  A5  B7  A9  A7  B6  BC  BD  BE  AC  7C  AF  A8  B4  D7
  901.   7B  41  42  43  44  45  46  47  48  49  AD  F4  F6  F2  F3  F5
  902.   7D  4A  4B  4C  4D  4E  4F  50  51  52  B9  FB  FC  F9  FA  FF
  903.   5C  F7  53  54  55  56  57  58  59  5A  B2  D4  D6  D2  D3  D5
  904.   30  31  32  33  34  35  36  37  38  39  B3  DB  DC  D9  DA  9F
  905.   
  906.   IBM PC
  907.   
  908.        Because only code page 850 contains all the characters of ISO 8859-
  909.   1, it seems reasonable to require that the PC use code page 850 during
  910.   terminal mode. If it uses another code page instead, many international
  911.   characters will still be readable.
  912.   
  913.        Here are the invertible translations of PC codepages from/to ISO
  914.   8859-1. They are deduced from Communication Manager so that, when
  915.   combined with the CECP tables above, the compound table produces the same
  916.   translation. The same remark applies to the the otherwise undetermined
  917.   translation of the 80-A0 range of ISO 8859-1.
  918.   
  919.   "IBM PC code page 850"
  920.   00  01  02  03  04  05  06  07  08  09  0A  0B  0C  0D  0E  0F
  921.   10  11  12  13  14  15  16  17  18  19  1A  1B  1C  1D  1E  1F
  922.   20  21  22  23  24  25  26  27  28  29  2A  2B  2C  2D  2E  2F
  923.   30  31  32  33  34  35  36  37  38  39  3A  3B  3C  3D  3E  3F
  924.   40  41  42  43  44  45  46  47  48  49  4A  4B  4C  4D  4E  4F
  925.   50  51  52  53  54  55  56  57  58  59  5A  5B  5C  5D  5E  5F
  926.   60  61  62  63  64  65  66  67  68  69  6A  6B  6C  6D  6E  6F
  927.   70  71  72  73  74  75  76  77  78  79  7A  7B  7C  7D  7E  7F
  928.   C4  B3  C0  D9  BF  DA  C3  C1  B4  C2  C5  B0  B1  B2  D5  F2
  929.   CD  BA  C8  BC  BB  C9  CC  CA  B9  CB  CE  DF  DC  DB  FE  9F
  930.   FF  AD  BD  9C  CF  BE  DD  F5  F9  B8  A6  AE  AA  F0  A9  EE
  931.   F8  F1  FD  FC  EF  E6  F4  FA  F7  FB  A7  AF  AC  AB  F3  A8
  932.   B7  B5  B6  C7  8E  8F  92  80  D4  90  D2  D3  DE  D6  D7  D8
  933.   D1  A5  E3  E0  E2  E5  99  9E  9D  EB  E9  EA  9A  ED  E8  E1
  934.   85  A0  83  C6  84  86  91  87  8A  82  88  89  8D  A1  8C  8B
  935.   D0  A4  95  A2  93  E4  94  F6  9B  97  A3  96  81  EC  E7  98
  936.   ---- inverted ----
  937.   00  01  02  03  04  05  06  07  08  09  0A  0B  0C  0D  0E  0F
  938.   10  11  12  13  14  15  16  17  18  19  1A  1B  1C  1D  1E  1F
  939.   20  21  22  23  24  25  26  27  28  29  2A  2B  2C  2D  2E  2F
  940.   30  31  32  33  34  35  36  37  38  39  3A  3B  3C  3D  3E  3F
  941.   40  41  42  43  44  45  46  47  48  49  4A  4B  4C  4D  4E  4F
  942.   50  51  52  53  54  55  56  57  58  59  5A  5B  5C  5D  5E  5F
  943.   60  61  62  63  64  65  66  67  68  69  6A  6B  6C  6D  6E  6F
  944.   70  71  72  73  74  75  76  77  78  79  7A  7B  7C  7D  7E  7F
  945.   C7  FC  E9  E2  E4  E0  E5  E7  EA  EB  E8  EF  EE  EC  C4  C5
  946.   C9  E6  C6  F4  F6  F2  FB  F9  FF  D6  DC  F8  A3  D8  D7  9F
  947.   E1  ED  F3  FA  F1  D1  AA  BA  BF  AE  AC  BD  BC  A1  AB  BB
  948.   8B  8C  8D  81  88  C1  C2  C0  A9  98  91  94  93  A2  A5  84
  949.   82  87  89  86  80  8A  E3  C3  92  95  97  99  96  90  9A  A4
  950.   F0  D0  CA  CB  C8  8E  CD  CE  CF  83  85  9D  9C  A6  CC  9B
  951.   D3  DF  D4  D2  F5  D5  B5  FE  DE  DA  DB  D9  FD  DD  AF  B4
  952.   AD  B1  8F  BE  B6  A7  F7  B8  B0  A8  B7  B9  B3  B2  9E  A0
  953.   
  954.   "IBM PC code page 437"
  955.   00  01  02  03  04  05  06  07  08  09  0A  0B  0C  0D  0E  0F
  956.   10  11  12  13  B0  B1  16  17  18  19  1A  1B  1C  1D  1E  1F
  957.   20  21  22  23  24  25  26  27  28  29  2A  2B  2C  2D  2E  2F
  958.   30  31  32  33  34  35  36  37  38  39  3A  3B  3C  3D  3E  3F
  959.   40  41  42  43  44  45  46  47  48  49  4A  4B  4C  4D  4E  4F
  960.   50  51  52  53  54  55  56  57  58  59  5A  5B  5C  5D  5E  5F
  961.   60  61  62  63  64  65  66  67  68  69  6A  6B  6C  6D  6E  6F
  962.   70  71  72  73  74  75  76  77  78  79  7A  7B  7C  7D  7E  7F
  963.   B7  B8  B9  BB  C4  C5  CA  CB  CC  CD  CF  D0  D1  D2  D3  D8
  964.   D9  DA  DC  DD  DE  DF  E0  E2  E3  E5  E9  EB  EC  EF  9E  C9
  965.   FF  AD  9B  9C  A9  9D  B3  15  FE  9F  A6  AE  AA  E8  D7  E4
  966.   F8  F1  FD  DB  BF  E6  14  FA  CE  EE  A7  AF  AC  AB  FC  A8
  967.   B4  B5  B2  B6  8E  8F  92  80  BE  90  BC  BD  C2  F3  C0  C1
  968.   D4  A5  F7  F0  F5  F9  99  E7  C3  F4  EA  FB  9A  D5  D6  E1
  969.   85  A0  83  F2  84  86  91  87  8A  82  88  89  8D  A1  8C  8B
  970.   C6  A4  95  A2  93  ED  94  F6  BA  97  A3  96  81  C7  C8  98
  971.   ---- inverted ----
  972.   00  01  02  03  04  05  06  07  08  09  0A  0B  0C  0D  0E  0F
  973.   10  11  12  13  B6  A7  16  17  18  19  1A  1B  1C  1D  1E  1F
  974.   20  21  22  23  24  25  26  27  28  29  2A  2B  2C  2D  2E  2F
  975.   30  31  32  33  34  35  36  37  38  39  3A  3B  3C  3D  3E  3F
  976.   40  41  42  43  44  45  46  47  48  49  4A  4B  4C  4D  4E  4F
  977.   50  51  52  53  54  55  56  57  58  59  5A  5B  5C  5D  5E  5F
  978.   60  61  62  63  64  65  66  67  68  69  6A  6B  6C  6D  6E  6F
  979.   70  71  72  73  74  75  76  77  78  79  7A  7B  7C  7D  7E  7F
  980.   C7  FC  E9  E2  E4  E0  E5  E7  EA  EB  E8  EF  EE  EC  C4  C5
  981.   C9  E6  C6  F4  F6  F2  FB  F9  FF  D6  DC  A2  A3  A5  9E  A9
  982.   E1  ED  F3  FA  F1  D1  AA  BA  BF  A4  AC  BD  BC  A1  AB  BB
  983.   14  15  C2  A6  C0  C1  C3  80  81  82  F8  83  CA  CB  C8  B4
  984.   CE  CF  CC  D8  84  85  F0  FD  FE  9F  86  87  88  89  B8  8A
  985.   8B  8C  8D  8E  D0  DD  DE  AE  8F  90  91  B3  92  93  94  95
  986.   96  DF  97  98  AF  99  B5  D7  AD  9A  DA  9B  9C  F5  B9  9D
  987.   D3  B1  E3  CD  D9  D4  F7  D2  B0  D5  B7  DB  BE  B2  A8  A0
  988.   
  989.   "IBM PC code page 860"
  990.   00  01  02  03  04  05  06  07  08  09  0A  0B  0C  0D  0E  0F
  991.   10  11  12  13  F4  F5  16  17  18  19  1A  1B  1C  1D  1E  1F
  992.   20  21  22  23  24  25  26  27  28  29  2A  2B  2C  2D  2E  2F
  993.   30  31  32  33  34  35  36  37  38  39  3A  3B  3C  3D  3E  3F
  994.   40  41  42  43  44  45  46  47  48  49  4A  4B  4C  4D  4E  4F
  995.   50  51  52  53  54  55  56  57  58  59  5A  5B  5C  5D  5E  5F
  996.   60  61  62  63  64  65  66  67  68  69  6A  6B  6C  6D  6E  6F
  997.   70  71  72  73  74  75  76  77  78  79  7A  7B  7C  7D  7E  7F
  998.   C4  B3  C0  D9  BF  DA  C3  C1  B4  C2  C5  B0  B1  B2  D5  F2
  999.   CD  BA  C8  BC  BB  C9  CC  CA  B9  CB  CE  DF  DC  DB  FE  EF
  1000.   FF  AD  9B  9C  CF  BE  E4  15  F9  B8  A6  AE  AA  F0  E0  EE
  1001.   F8  F1  FD  FC  E3  E6  14  FA  F7  FB  A7  AF  AC  AB  F3  A8
  1002.   91  86  8F  8E  C7  D2  DE  80  92  90  89  D3  98  8B  D7  D8
  1003.   D1  A5  A9  9F  8C  99  EB  9E  D6  9D  96  EA  9A  ED  E8  E1
  1004.   85  A0  83  84  B5  B6  DD  87  8A  82  88  B7  8D  A1  BD  C6
  1005.   D0  A4  95  A2  93  94  E2  F6  D4  97  A3  E5  81  EC  E7  E9
  1006.   ---- inverted ----
  1007.   00  01  02  03  04  05  06  07  08  09  0A  0B  0C  0D  0E  0F
  1008.   10  11  12  13  B6  A7  16  17  18  19  1A  1B  1C  1D  1E  1F
  1009.   20  21  22  23  24  25  26  27  28  29  2A  2B  2C  2D  2E  2F
  1010.   30  31  32  33  34  35  36  37  38  39  3A  3B  3C  3D  3E  3F
  1011.   40  41  42  43  44  45  46  47  48  49  4A  4B  4C  4D  4E  4F
  1012.   50  51  52  53  54  55  56  57  58  59  5A  5B  5C  5D  5E  5F
  1013.   60  61  62  63  64  65  66  67  68  69  6A  6B  6C  6D  6E  6F
  1014.   70  71  72  73  74  75  76  77  78  79  7A  7B  7C  7D  7E  7F
  1015.   C7  FC  E9  E2  E3  E0  C1  E7  EA  CA  E8  CD  D4  EC  C3  C2
  1016.   C9  C0  C8  F4  F5  F2  DA  F9  CC  D5  DC  A2  A3  D9  D7  D3
  1017.   E1  ED  F3  FA  F1  D1  AA  BA  BF  D2  AC  BD  BC  A1  AB  BB
  1018.   8B  8C  8D  81  88  E4  E5  EB  A9  98  91  94  93  EE  A5  84
  1019.   82  87  89  86  80  8A  EF  C4  92  95  97  99  96  90  9A  A4
  1020.   F0  D0  C5  CB  F8  8E  D8  CE  CF  83  85  9D  9C  E6  C6  9B
  1021.   AE  DF  F6  B4  A6  FB  B5  FE  DE  FF  DB  D6  FD  DD  AF  9F
  1022.   AD  B1  8F  BE  14  15  F7  B8  B0  A8  B7  B9  B3  B2  9E  A0
  1023.   
  1024.   "IBM PC code page 863"
  1025.   00  01  02  03  04  05  06  07  08  09  0A  0B  0C  0D  0E  0F
  1026.   10  11  12  13  14  15  16  17  18  19  1A  1B  1C  1D  1E  1F
  1027.   20  21  22  23  24  25  26  27  28  29  2A  2B  2C  2D  2E  2F
  1028.   30  31  32  33  34  35  36  37  38  39  3A  3B  3C  3D  3E  3F
  1029.   40  41  42  43  44  45  46  47  48  49  4A  4B  4C  4D  4E  4F
  1030.   50  51  52  53  54  55  56  57  58  59  5A  5B  5C  5D  5E  5F
  1031.   60  61  62  63  64  65  66  67  68  69  6A  6B  6C  6D  6E  6F
  1032.   70  71  72  73  74  75  76  77  78  79  7A  7B  7C  7D  7E  7F
  1033.   C4  B3  C0  D9  BF  DA  C3  C1  B4  C2  C5  B0  B1  B2  D5  F2
  1034.   CD  BA  C8  BC  BB  C9  CC  CA  B9  CB  CE  DF  DC  DB  FE  9F
  1035.   FF  EF  9B  9C  98  BE  A0  8F  A4  B8  E2  AE  AA  F0  A9  A7
  1036.   F8  F1  FD  A6  A1  E6  86  FA  A5  FB  EA  AF  AC  AB  AD  F3
  1037.   8E  B5  84  C7  D3  D4  EE  80  91  90  92  94  DE  D6  A8  95
  1038.   D1  D7  E3  E0  99  E5  FC  F4  DD  9D  E9  9E  9A  ED  E8  E1
  1039.   85  B7  83  C6  B6  BD  EB  87  8A  82  88  89  8D  D2  8C  8B
  1040.   D0  CF  F7  A2  93  E4  F5  F6  D8  97  A3  96  81  EC  E7  F9
  1041.   ---- inverted ----
  1042.   00  01  02  03  04  05  06  07  08  09  0A  0B  0C  0D  0E  0F
  1043.   10  11  12  13  14  15  16  17  18  19  1A  1B  1C  1D  1E  1F
  1044.   20  21  22  23  24  25  26  27  28  29  2A  2B  2C  2D  2E  2F
  1045.   30  31  32  33  34  35  36  37  38  39  3A  3B  3C  3D  3E  3F
  1046.   40  41  42  43  44  45  46  47  48  49  4A  4B  4C  4D  4E  4F
  1047.   50  51  52  53  54  55  56  57  58  59  5A  5B  5C  5D  5E  5F
  1048.   60  61  62  63  64  65  66  67  68  69  6A  6B  6C  6D  6E  6F
  1049.   70  71  72  73  74  75  76  77  78  79  7A  7B  7C  7D  7E  7F
  1050.   C7  FC  E9  E2  C2  E0  B6  E7  EA  EB  E8  EF  EE  EC  C0  A7
  1051.   C9  C8  CA  F4  CB  CF  FB  F9  A4  D4  DC  A2  A3  D9  DB  9F
  1052.   A6  B4  F3  FA  A8  B8  B3  AF  CE  AE  AC  BD  BC  BE  AB  BB
  1053.   8B  8C  8D  81  88  C1  E4  E1  A9  98  91  94  93  E5  A5  84
  1054.   82  87  89  86  80  8A  E3  C3  92  95  97  99  96  90  9A  F1
  1055.   F0  D0  ED  C4  C5  8E  CD  D1  F8  83  85  9D  9C  D8  CC  9B
  1056.   D3  DF  AA  D2  F5  D5  B5  FE  DE  DA  BA  E6  FD  DD  C6  A1
  1057.   AD  B1  8F  BF  D7  F6  F7  F2  B0  FF  B7  B9  D6  B2  9E  A0
  1058.   
  1059.   "IBM PC code page 865"
  1060.   00  01  02  03  04  05  06  07  08  09  0A  0B  0C  0D  0E  0F
  1061.   10  11  12  13  F4  F5  16  17  18  19  1A  1B  1C  1D  1E  1F
  1062.   20  21  22  23  24  25  26  27  28  29  2A  2B  2C  2D  2E  2F
  1063.   30  31  32  33  34  35  36  37  38  39  3A  3B  3C  3D  3E  3F
  1064.   40  41  42  43  44  45  46  47  48  49  4A  4B  4C  4D  4E  4F
  1065.   50  51  52  53  54  55  56  57  58  59  5A  5B  5C  5D  5E  5F
  1066.   60  61  62  63  64  65  66  67  68  69  6A  6B  6C  6D  6E  6F
  1067.   70  71  72  73  74  75  76  77  78  79  7A  7B  7C  7D  7E  7F
  1068.   C4  B3  C0  D9  BF  DA  C3  C1  B4  C2  C5  B0  B1  B2  D5  F2
  1069.   CD  BA  C8  BC  BB  C9  CC  CA  B9  CB  CE  DF  DC  DB  FE  9F
  1070.   FF  AD  BD  9C  AF  BE  DD  15  F9  B8  A6  AE  AA  F0  A9  EE
  1071.   F8  F1  FD  FC  EF  E6  14  FA  F7  FB  A7  CF  AC  AB  F3  A8
  1072.   B7  B5  B6  C7  8E  8F  92  80  D4  90  D2  D3  DE  D6  D7  D8
  1073.   D1  A5  E3  E0  E2  E5  99  9E  9D  EB  E9  EA  9A  ED  E8  E1
  1074.   85  A0  83  C6  84  86  91  87  8A  82  88  89  8D  A1  8C  8B
  1075.   D0  A4  95  A2  93  E4  94  F6  9B  97  A3  96  81  EC  E7  98
  1076.   ---- inverted ----
  1077.   00  01  02  03  04  05  06  07  08  09  0A  0B  0C  0D  0E  0F
  1078.   10  11  12  13  B6  A7  16  17  18  19  1A  1B  1C  1D  1E  1F
  1079.   20  21  22  23  24  25  26  27  28  29  2A  2B  2C  2D  2E  2F
  1080.   30  31  32  33  34  35  36  37  38  39  3A  3B  3C  3D  3E  3F
  1081.   40  41  42  43  44  45  46  47  48  49  4A  4B  4C  4D  4E  4F
  1082.   50  51  52  53  54  55  56  57  58  59  5A  5B  5C  5D  5E  5F
  1083.   60  61  62  63  64  65  66  67  68  69  6A  6B  6C  6D  6E  6F
  1084.   70  71  72  73  74  75  76  77  78  79  7A  7B  7C  7D  7E  7F
  1085.   C7  FC  E9  E2  E4  E0  E5  E7  EA  EB  E8  EF  EE  EC  C4  C5
  1086.   C9  E6  C6  F4  F6  F2  FB  F9  FF  D6  DC  F8  A3  D8  D7  9F
  1087.   E1  ED  F3  FA  F1  D1  AA  BA  BF  AE  AC  BD  BC  A1  AB  A4
  1088.   8B  8C  8D  81  88  C1  C2  C0  A9  98  91  94  93  A2  A5  84
  1089.   82  87  89  86  80  8A  E3  C3  92  95  97  99  96  90  9A  BB
  1090.   F0  D0  CA  CB  C8  8E  CD  CE  CF  83  85  9D  9C  A6  CC  9B
  1091.   D3  DF  D4  D2  F5  D5  B5  FE  DE  DA  DB  D9  FD  DD  AF  B4
  1092.   AD  B1  8F  BE  14  15  F7  B8  B0  A8  B7  B9  B3  B2  9E  A0
  1093.   
  1094.   Apple Macintosh
  1095.   
  1096.        Paul Placeway and I have been looking for an official translation
  1097.   table by Apple Inc. that would fulfill the data processing requirement of
  1098.   being invertible for the 256 code points. We found none, and Apple
  1099.   remained silent to this request. So, I've had to build one. I tried to
  1100.   make it compatible with existing translation tables, mainly the official
  1101.   "Apple File Exchange" from Apple Inc. that translates between IBM PC code
  1102.   and Apple's (hence, indirectly to ISO 8859-1). Many characters of the
  1103.   Apple fonts belong to ISO 8859-1 and caused no problem. The translation
  1104.   of some characters became incompatible, because the "Apple File Exchange"
  1105.   is homographic, which fails to be invertible (e. g. 2 superscript
  1106.   translates to plain 2). Others, because the AFE is based on IBM PC 437
  1107.   that contains some characters of the Macintosh set that have been
  1108.   replaced (giving IBM PC code page 850) with characters of ISO 8859-1.
  1109.   (For example, it matched Mac Omega to a 437 Omega that became a 850 U
  1110.   circumflex that now has to match the Mac's F3.) Translations that
  1111.   remained undefined were chosen to be homographic or mnemonic. Leftovers
  1112.   from the 80-FF Mac range have simply be lined up in the 80-9F range of
  1113.   ISO 8859-1 without any particular reason.
  1114.        After the tables, you will find comments about the choices (why):
  1115.   Blank: compatible with AFE (same in both PC 437 and 850).
  1116.   S: not in 437/AFE, but ISO character is in "Standard Apple Character Set"
  1117.   E: same for "SACS with extensions". Means keyable on newer systems only.
  1118.   L: look-alike choice.
  1119.   M: mnemonic choice.
  1120.   C: "happens" to be compatible with AFE.
  1121.   A: arbitrary.
  1122.   
  1123.   "Standard Apple Macintosh Character Set with extensions"
  1124.   00  01  02  03  04  05  06  07  08  09  0A  0B  0C  0D  0E  0F
  1125.   10  11  12  13  14  15  16  17  18  19  1A  1B  1C  1D  1E  1F
  1126.   20  21  22  23  24  25  26  27  28  29  2A  2B  2C  2D  2E  2F
  1127.   30  31  32  33  34  35  36  37  38  39  3A  3B  3C  3D  3E  3F
  1128.   40  41  42  43  44  45  46  47  48  49  4A  4B  4C  4D  4E  4F
  1129.   50  51  52  53  54  55  56  57  58  59  5A  5B  5C  5D  5E  5F
  1130.   60  61  62  63  64  65  66  67  68  69  6A  6B  6C  6D  6E  6F
  1131.   70  71  72  73  74  75  76  77  78  79  7A  7B  7C  7D  7E  7F
  1132.   A5  AA  AD  B0  B3  B7  BA  BD  C3  C5  C9  D1  D4  D9  DA  DC
  1133.   DD  E0  E2  E3  E4  F0  F6  F7  F9  FA  FB  FD  FE  FF  F5  C4
  1134.   CA  C1  A2  A3  DB  B4  A0  A4  AC  A9  BB  C7  C2  D0  A8  F8
  1135.   A1  B1  D3  D2  AB  B5  A6  E1  FC  D5  BC  C8  B9  B8  B2  C0
  1136.   CB  E7  E5  CC  80  81  AE  82  E9  83  E6  E8  ED  EA  EB  EC
  1137.   C6  84  F1  EE  EF  CD  85  D7  AF  F4  F2  F3  86  DF  CE  A7
  1138.   88  87  89  8B  8A  8C  BE  8D  8F  8E  90  91  93  92  94  95
  1139.   B6  96  98  97  99  9B  9A  D6  BF  9D  9C  9E  9F  DE  CF  D8
  1140.   ---- inverted ----
  1141.   00  01  02  03  04  05  06  07  08  09  0A  0B  0C  0D  0E  0F
  1142.   10  11  12  13  14  15  16  17  18  19  1A  1B  1C  1D  1E  1F
  1143.   20  21  22  23  24  25  26  27  28  29  2A  2B  2C  2D  2E  2F
  1144.   30  31  32  33  34  35  36  37  38  39  3A  3B  3C  3D  3E  3F
  1145.   40  41  42  43  44  45  46  47  48  49  4A  4B  4C  4D  4E  4F
  1146.   50  51  52  53  54  55  56  57  58  59  5A  5B  5C  5D  5E  5F
  1147.   60  61  62  63  64  65  66  67  68  69  6A  6B  6C  6D  6E  6F
  1148.   70  71  72  73  74  75  76  77  78  79  7A  7B  7C  7D  7E  7F
  1149.   C4  C5  C7  C9  D1  D6  DC  E1  E0  E2  E4  E3  E5  E7  E9  E8
  1150.   EA  EB  ED  EC  EE  EF  F1  F3  F2  F4  F6  F5  FA  F9  FB  FC
  1151.   A6  B0  A2  A3  A7  80  B6  DF  AE  A9  81  B4  A8  82  C6  D8
  1152.   83  B1  BE  84  A5  B5  F0  85  BD  BC  86  AA  BA  87  E6  F8
  1153.   BF  A1  AC  88  9F  89  D0  AB  BB  8A  A0  C0  C3  D5  DE  FE
  1154.   AD  8B  B3  B2  8C  B9  F7  D7  FF  8D  8E  A4  8F  90  FD  DD
  1155.   91  B7  92  93  94  C2  CA  C1  CB  C8  CD  CE  CF  CC  D3  D4
  1156.   95  D2  DA  DB  D9  9E  96  97  AF  98  99  9A  B8  9B  9C  9D
  1157.   
  1158.   ISO  Mac  AFE  850  Why  Mac name
  1159.   80 | A5 | F0 | BA | A  | bullet
  1160.   81 | AA | F0 | CD | A  | trade mark
  1161.   82 | AD | F0 | C9 | A  | not equal
  1162.   83 | B0 | F0 | BB | A  | infinity
  1163.   84 | B3 | F0 | C8 | A  | greater than or equal to
  1164.   85 | B7 | F0 | BC | A  | Uppercase Sigma (Summation)
  1165.   86 | BA | F0 | CC | A  | integral
  1166.   87 | BD | F0 | B9 | A  | Uppercase Omega
  1167.   88 | C3 | F0 | CB | A  | radical (square root)
  1168.   89 | C5 | F0 | CA | A  | approx equal
  1169.   8A | C9 | F0 | CE | A  | elipsis (...)
  1170.   8B | D1 | F0 | DF | A  | em dash
  1171.   8C | D4 | F0 | DC | A  | left singlequote ( ` )
  1172.   8D | D9 | F0 | DB | A  | Y dieresis
  1173.   8E | DA | F0 | FE | A  | divide (a / with less slope)
  1174.   8F | DC | B3 | F2 | A  | single left guil (like < )
  1175.   90 | DD | F0 | B3 | A  | single left guil (like > )
  1176.   91 | E0 | F0 | C4 | A  | double dagger
  1177.   92 | E2 | F0 | DA | A  | baseline single close quote
  1178.   93 | E3 | F0 | BF | A  | baseline double close quote
  1179.   94 | E4 | F0 | C0 | A  | per thousand
  1180.   95 | F0 | F0 | D9 | A  | (closed) Apple
  1181.   96 | F6 | F0 | C3 | A  | circumflex
  1182.   97 | F7 | F0 | B4 | A  | tilde
  1183.   98 | F9 | F0 | C2 | A  | breve
  1184.   99 | FA | F0 | C1 | A  | dot accent
  1185.   9A | FB | F0 | C5 | A  | ring accent
  1186.   9B | FD | F0 | B0 | A  | Hungarian umlaut
  1187.   9C | FE | F0 | B1 | A  | ogonek
  1188.   9D | FF | F0 | B2 | A  | caron
  1189.   9E | F5 | F0 | D5 | AL | dotless i
  1190.   9F | C4 | C4 | 9F | AC | florin
  1191.   A0 | CA | FF | FF | AL | non-printing space
  1192.   A1 | C1 | C1 | AD |    | inverted !
  1193.   A2 | A2 | F0 | BD | S  | cent
  1194.   A3 | A3 | A3 | 9C |    | sterling
  1195.   A4 | DB | F0 | CF | E  | generic curency
  1196.   A5 | B4 | F0 | BE | S  | yen
  1197.   A6 | A0 | F0 | DD | AL | dagger
  1198.   A7 | A4 | BA | F5 | S  | section
  1199.   A8 | AC | A5 | F9 | S  | dieresis (AKA umlaut)
  1200.   A9 | A9 | F0 | B8 |    | copyright   ( (C) )
  1201.   AA | BB | BB | A6 |    | feminine ordinal
  1202.   AB | C7 | C7 | AE |    | left guillemot (like << )
  1203.   AC | C2 | C2 | AA |    | logical not
  1204.   AD | D0 | 3D | F0 | AL | en dash
  1205.   AE | A8 | D1 | A9 | S  | registered  ( (R) )
  1206.   AF | F8 | 45 | EE | AL | macron
  1207.   B0 | A1 | A1 | F8 |    | superscript ring
  1208.   B1 | B1 | B1 | F1 |    | plus minus
  1209.   B2 | D3 | 32 | FD | AM | right doublequote ( '' )
  1210.   B3 | D2 | 6E | FC | AM | left doublequote ( `` )
  1211.   B4 | AB | 55 | EF | S  | acute accent
  1212.   B5 | B5 | B5 | E6 |    | greek lowercase mu
  1213.   B6 | A6 | BA | F4 | S  | paragraph
  1214.   B7 | E1 | E1 | FA | EC | centered (small) dot
  1215.   B8 | FC | C5 | F7 | E  | cedilla
  1216.   B9 | D5 | C3 | FB | AM | right singlequote ( ' )
  1217.   BA | BC | BC | A7 |    | masculine ordinal
  1218.   BB | C8 | C8 | AF |    | right guillemot (like >> )
  1219.   BC | B9 | 34 | AC | A  | lowercase pi
  1220.   BD | B8 | 32 | AB | A  | Uppercase Pi (Power)
  1221.   BE | B2 | B2 | F3 | AC | less than or equal to
  1222.   BF | C0 | C0 | A8 |    | inverted ?
  1223.   C0 | CB | F0 | B7 | S  | A grave
  1224.   C1 | E7 | F0 | B5 | E  | A accute
  1225.   C2 | E5 | F0 | B6 | E  | A circumflex
  1226.   C3 | CC | F0 | C7 | S  | A tilde
  1227.   C4 | 80 | 80 | 8E |    | A dieresis
  1228.   C5 | 81 | 81 | 8F |    | A ring
  1229.   C6 | AE | AE | 92 |    | AE
  1230.   C7 | 82 | 82 | 80 |    | C cedilla
  1231.   C8 | E9 | F0 | D4 | E  | E grave
  1232.   C9 | 83 | 83 | 90 |    | E accute
  1233.   CA | E6 | F0 | D2 | S  | E circumflex
  1234.   CB | E8 | F0 | D3 | E  | E dieresis
  1235.   CC | ED | F0 | DE | E  | I grave
  1236.   CD | EA | F0 | D6 | E  | I accute
  1237.   CE | EB | F0 | D7 | E  | I circumflex
  1238.   CF | EC | F0 | D8 | E  | I dieresis
  1239.   D0 | C6 | F0 | D1 | AL | Uppercase Delta
  1240.   D1 | 84 | 84 | A5 |    | N tilde
  1241.   D2 | F1 | B9 | E3 | E  | O grave
  1242.   D3 | EE | 61 | E0 | E  | O accute
  1243.   D4 | EF | C2 | E2 | E  | O circumflex
  1244.   D5 | CD | 6F | E5 | S  | O tilde
  1245.   D6 | 85 | 85 | 99 |    | O dieresis
  1246.   D7 | D7 | 50 | 9E | AM | lozenge (open diamond)
  1247.   D8 | AF | B4 | 9D | E  | O slash
  1248.   D9 | F4 | B6 | EB | E  | U grave
  1249.   DA | F2 | BC | E9 | E  | U accute
  1250.   DB | F3 | BD | EA | E  | U circumflex
  1251.   DC | 86 | 86 | 9A |    | U dieresis
  1252.   DD | DF | AF | ED | AM | fl
  1253.   DE | CE | DB | E8 | AL | OE
  1254.   DF | A7 | A7 | E1 |    | Es-zed (German double s)
  1255.   E0 | 88 | 88 | 85 |    | a grave
  1256.   E1 | 87 | 87 | A0 |    | a accute
  1257.   E2 | 89 | 89 | 83 |    | a circumflex
  1258.   E3 | 8B | F0 | C6 | S  | a tilde
  1259.   E4 | 8A | 8A | 84 |    | a dieresis
  1260.   E5 | 8C | 8C | 86 |    | a ring
  1261.   E6 | BE | BE | 91 |    | ae
  1262.   E7 | 8D | 8D | 87 |    | c cedilla
  1263.   E8 | 8F | 8F | 8A |    | e grave
  1264.   E9 | 8E | 8E | 82 |    | e accute
  1265.   EA | 90 | 90 | 88 |    | e circumflex
  1266.   EB | 91 | 91 | 89 |    | e dieresis
  1267.   EC | 93 | 93 | 8D |    | i grave
  1268.   ED | 92 | 92 | A1 |    | i accute
  1269.   EE | 94 | 94 | 8C |    | i circumflex
  1270.   EF | 95 | 95 | 8B |    | i dieresis
  1271.   F0 | B6 | F0 | D0 | AL | partial
  1272.   F1 | 96 | 96 | A4 |    | n tilde
  1273.   F2 | 98 | 98 | 95 |    | o grave
  1274.   F3 | 97 | 97 | A2 |    | o accute
  1275.   F4 | 99 | 99 | 93 |    | o circumflex
  1276.   F5 | 9B | B7 | E4 | S  | o tilde
  1277.   F6 | 9A | 9A | 94 |    | o dieresis
  1278.   F7 | D6 | D6 | F6 |    | divide
  1279.   F8 | BF | A2 | 9B | S  | o slash
  1280.   F9 | 9D | 9D | 97 |    | u grave
  1281.   FA | 9C | 9C | A3 |    | u accute
  1282.   FB | 9E | 9E | 96 |    | u circumflex
  1283.   FC | 9F | 9F | 81 |    | u dieresis
  1284.   FD | DE | B0 | EC | AM | fi
  1285.   FE | CF | A0 | E7 | AM | oe
  1286.   FF | D8 | D8 | 98 |    | y dieresis
  1287.   
  1288.   
  1289.   ISO 8859-1
  1290.   
  1291.        Here is a names list and graphic representation of the ISO 8859-1
  1292.   code. The well-known ASCII part and control characters have been left out
  1293.   to shorten the text. They are included for practical programming help
  1294.   only. In particular, the "bitmaps" are nothing official. For convenience,
  1295.   two lists of names and acronyms are given: the first comes from IBM, the
  1296.   second from a list of characters of the standard IS0 6937.
  1297.   
  1298.   Code point in hexadecimal / Acronym / Name. Origin: IBM.
  1299.   
  1300.    A0 | SP30 | required space           D0 | LD62 | Eth islandic capital
  1301.    A1 | SP03 | exclamation point inv    D1 | LN20 | N tilde capital
  1302.    A2 | SC04 | cent sign                D2 | LO14 | O grave capital
  1303.    A3 | SC02 | pound sign               D3 | LO12 | O acute capital
  1304.    A4 | SC01 | int. currency symbol     D4 | LO16 | O circumflex capital
  1305.    A5 | SC05 | Yen sign                 D5 | LO20 | O tilde capital
  1306.    A6 | SM65 | Vertical Line, Broken    D6 | LO18 | O diaeresis capital
  1307.    A7 | SM24 | section/paragraph symb   D7 | SA07 | Multiply sign
  1308.    A8 | SD17 | diaeresis,umlaut acc     D8 | LO62 | O slash capital
  1309.    A9 | SM52 | Copyright sign           D9 | LU14 | U grave capital
  1310.    AA | SM21 | ordinal indicator fem    DA | LU12 | U acute capital
  1311.    AB | SP17 | left angle quotes        DB | LU16 | U circumflex capital
  1312.    AC | SM66 | logical NOT, EOL symb    DC | LU18 | U diaeresis capital
  1313.    AD | SP32 | Syllabe Hyphen           DD | LY12 | Y acute Capital
  1314.    AE | SM53 | Regist.Trade Mark sym    DE | LT64 | Thorn islandic capital
  1315.    AF | SM15 | overline                 DF | LS61 | sharp s small
  1316.    B0 | SM19 | Degree Symbol            E0 | LA13 | a grave small
  1317.    B1 | SA02 | plus or minus sign       E1 | LA11 | a acute small
  1318.    B2 | ND021| 2 superscript            E2 | LA15 | a circumflex small
  1319.    B3 | ND031| 3 superscript            E3 | LA19 | a tilde small
  1320.    B4 | SD11 | acute accent             E4 | LA17 | a diaeresis small
  1321.    B5 | SM17 | micro symbol             E5 | LA27 | a overcircle small
  1322.    B6 | SM25 | paragraph symbol USA     E6 | LA51 | ae diphthong small
  1323.    B7 | SD63 | Middle dot accent        E7 | LC41 | c cedilla small
  1324.    B8 | SD41 | cedilla accent           E8 | LE13 | e grave small
  1325.    B9 | ND011| 1 superscript            E9 | LE11 | e acute small
  1326.    BA | SM20 | ordinal indicator mas    EA | LE15 | e circumflex small
  1327.    BB | SP18 | right angle quotes       EB | LE17 | e diaeresis small
  1328.    BC | NF04 | one quarter              EC | LI13 | i grave small
  1329.    BD | NF01 | one half                 ED | LI11 | i acute small
  1330.    BE | NF05 | three quarters           EE | LI15 | i circumflex small
  1331.    BF | SP16 | Question mark inverted   EF | LI17 | i diaeresis small
  1332.    C0 | LA14 | A grave capital          F0 | LD63 | Eth Islandic small
  1333.    C1 | LA12 | A acute capital          F1 | LN19 | n tilde small
  1334.    C2 | LA16 | A circumflex capital     F2 | LO13 | o grave small
  1335.    C3 | LA20 | A tilde capital          F3 | LO11 | o acute small
  1336.    C4 | LA18 | A diaeresis capital      F4 | LO15 | o circumflex small
  1337.    C5 | LA28 | A overcircle capital     F5 | LO19 | o tilde small
  1338.    C6 | LA52 | AE diphthong capital     F6 | LO17 | o diaeresis small
  1339.    C7 | LC42 | C cedilla capital        F7 | SA06 | Divide sign
  1340.    C8 | LE14 | E grave capital          F8 | LO61 | o slash small
  1341.    C9 | LE12 | E acute capital          F9 | LU13 | u grave small
  1342.    CA | LE16 | E circumflex capital     FA | LU11 | u acute small
  1343.    CB | LE18 | E diaeresis capital      FB | LU15 | u circumflex small
  1344.    CC | LI14 | I grave capital          FC | LU17 | u diaeresis small
  1345.    CD | LI12 | I acute capital          FD | LY11 | y acute small
  1346.    CE | LI16 | I circumflex capital     FE | LT63 | Thorn islandic small
  1347.    CF | LI18 | I diaeresis capital      FF | LY17 | y diaeresis small
  1348.   
  1349.   Names and slightly different acronyms from the ISO 6937 repertoire
  1350.   
  1351.    A0 SP31   NO-BREAK SPACE
  1352.    A1 SP03   INVERTED EXCLAMATION MARK
  1353.    A2 SC04   CENT SIGN
  1354.    A3 SC02   POUND SIGN
  1355.    A4 SC01   CURRENCY SIGN
  1356.    A5 SC05   YEN SIGN
  1357.    A6 SM65   BROKEN BAR
  1358.    A7 SM24   PARAGRAPH SIGN
  1359.    A8 SD17   DIAERESIS
  1360.    A9 SM52   COPYRIGHT SIGN
  1361.    AA SM21   FEMININE ORDINAL INDICATOR
  1362.    AB SP17   LEFT POINTING DOUBLE ANGLE QUOTATION MARK
  1363.    AC SM66   NOT SIGN
  1364.    AD SP32   SOFT HYPHEN
  1365.    AE SM53   REGISTERED TRADE MARK SIGN
  1366.    AF SD31   MACRON
  1367.    B0 SM19   DEGREE SIGN
  1368.    B1 SA02   PLUS-MINUS SIGN
  1369.    B2 NS02   SUPERSCRIPT TWO
  1370.    B3 NS03   SUPERSCRIPT THREE
  1371.    B4 SD11   ACUTE ACCENT
  1372.    B5 SM17   MICRO SIGN
  1373.    B6 SM25   PILCHROW SIGN
  1374.    B7 SM26   MIDDLE DOT
  1375.    B8 SD41   CEDILLA
  1376.    B9 NS01   SUPERSCRIPT ONE
  1377.    BA SM20   MASCULINE ORDINAL INDICATOR
  1378.    BB SP18   RIGHT POINTING DOUBLE ANGLE QUOTATION MARK
  1379.    BC NF04   VULGAR FRACTION ONE-QUARTER
  1380.    BD NF01   VULGAR FRACTION ONE-HALF
  1381.    BE NF05   VULGAR FRACTION THREE-QUARTERS
  1382.    BF SP16   INVERTED QUESTION MARK
  1383.    C0 LA14   LATIN CAPITAL LETTER A WITH GRAVE ACCENT
  1384.    C1 LA12   LATIN CAPITAL LETTER A WITH ACUTE ACCENT
  1385.    C2 LA16   LATIN CAPITAL LETTER A WITH CIRCUMFLEX ACCENT
  1386.    C3 LA20   LATIN CAPITAL LETTER A WITH TILDE
  1387.    C4 LA18   LATIN CAPITAL LETTER A WITH DIAERESIS
  1388.    C5 LA28   LATIN CAPITAL LETTER A WITH RING ABOVE
  1389.    C6 LA52   LATIN CAPITAL LIGATURE AE
  1390.    C7 LC42   LATIN CAPITAL LETTER C WITH CEDILLA
  1391.    C8 LE14   LATIN CAPITAL LETTER E WITH GRAVE ACCENT
  1392.    C9 LE12   LATIN CAPITAL LETTER E WITH ACUTE ACCENT
  1393.    CA LE16   LATIN CAPITAL LETTER E WITH CIRCUMFLEX ACCENT
  1394.    CB LE18   LATIN CAPITAL LETTER E WITH DIAERESIS
  1395.    CC LI14   LATIN CAPITAL LETTER I WITH GRAVE ACCENT
  1396.    CD LI12   LATIN CAPITAL LETTER I WITH ACUTE ACCENT
  1397.    CE LI16   LATIN CAPITAL LETTER I WITH CIRCUMFLEX ACCENT
  1398.    CF LI18   LATIN CAPITAL LETTER I WITH DIAERESIS
  1399.    D0 LD62   LATIN CAPITAL LETTER D WITH STROKE
  1400.    D1 LN20   LATIN CAPITAL LETTER N WITH TILDE
  1401.    D2 LO14   LATIN CAPITAL LETTER O WITH GRAVE ACCENT
  1402.    D3 LO12   LATIN CAPITAL LETTER O WITH ACUTE ACCENT
  1403.    D4 LO16   LATIN CAPITAL LETTER O WITH CIRCUMFLEX ACCENT
  1404.    D5 LO20   LATIN CAPITAL LETTER O WITH TILDE
  1405.    D6 LO18   LATIN CAPITAL LETTER O WITH DIAERESIS
  1406.    D7 SA07   MULTIPLICATION SIGN
  1407.    D8 LO62   LATIN CAPITAL LETTER O WITH OBLIQUE STROKE
  1408.    D9 LU14   LATIN CAPITAL LETTER U WITH GRAVE ACCENT
  1409.    DA LU12   LATIN CAPITAL LETTER U WITH ACUTE ACCENT
  1410.    DB LU16   LATIN CAPITAL LETTER U WITH CIRCUMFLEX ACCENT
  1411.    DC LU18   LATIN CAPITAL LETTER U WITH DIAERESIS
  1412.    DD LY12   LATIN CAPITAL LETTER Y WITH ACUTE ACCENT
  1413.    DE LT64   LATIN CAPITAL LETTER ICELANDIC THORN
  1414.    DF LS61   LATIN SMALL   LETTER GERMAN SHARP S
  1415.    E0 LA13   LATIN SMALL   LETTER A WITH GRAVE ACCENT
  1416.    E1 LA11   LATIN SMALL   LETTER A WITH ACUTE ACCENT
  1417.    E2 LA15   LATIN SMALL   LETTER A WITH CIRCUMFLEX ACCENT
  1418.    E3 LA19   LATIN SMALL   LETTER A WITH TILDE
  1419.    E4 LA17   LATIN SMALL   LETTER A WITH DIAERESIS
  1420.    E5 LA27   LATIN SMALL   LETTER A WITH RING ABOVE
  1421.    E6 LA51   LATIN SMALL   LIGATURE AE
  1422.    E7 LC41   LATIN SMALL   LETTER C WITH CEDILLA
  1423.    E8 LE13   LATIN SMALL   LETTER E WITH GRAVE ACCENT
  1424.    E9 LE11   LATIN SMALL   LETTER E WITH ACUTE ACCENT
  1425.    EA LE15   LATIN SMALL   LETTER E WITH CIRCUMFLEX ACCENT
  1426.    EB LE17   LATIN SMALL   LETTER E WITH DIAERESIS
  1427.    EC LI13   LATIN SMALL   LETTER I WITH GRAVE ACCENT
  1428.    ED LI11   LATIN SMALL   LETTER I WITH ACUTE ACCENT
  1429.    EE LI15   LATIN SMALL   LETTER I WITH CIRCUMFLEX ACCENT
  1430.    EF LI17   LATIN SMALL   LETTER I WITH DIAERESIS
  1431.    F0 LD63   LATIN SMALL   LETTER ICELANDIC ETH
  1432.    F1 LN19   LATIN SMALL   LETTER N WITH TILDE
  1433.    F2 LO13   LATIN SMALL   LETTER O WITH GRAVE ACCENT
  1434.    F3 LO11   LATIN SMALL   LETTER O WITH ACUTE ACCENT
  1435.    F4 LO15   LATIN SMALL   LETTER O WITH CIRCUMFLEX ACCENT
  1436.    F5 LO19   LATIN SMALL   LETTER O WITH TILDE
  1437.    F6 LO17   LATIN SMALL   LETTER O WITH DIAERESIS
  1438.    F7 SA06   DIVISION SIGN
  1439.    F8 LO61   LATIN SMALL   LETTER O WITH OBLIQUE STROKE
  1440.    F9 LU13   LATIN SMALL   LETTER U WITH GRAVE ACCENT
  1441.    FA LU11   LATIN SMALL   LETTER U WITH ACUTE ACCENT
  1442.    FB LU15   LATIN SMALL   LETTER U WITH CIRCUMFLEX ACCENT
  1443.    FC LU17   LATIN SMALL   LETTER U WITH DIAERESIS
  1444.    FD LY11   LATIN SMALL   LETTER Y WITH ACUTE ACCENT
  1445.    FE LT63   LATIN SMALL   LETTER ICELANDIC THORN
  1446.    FF LY17   LATIN SMALL   LETTER Y WITH DIAERESIS
  1447.   
  1448.   ISO 8859-1 by pictures
  1449.   
  1450.   -------------------------------------------------------------------------
  1451.   |   A0   |   A1   |   A2   |   A3   |   A4   |   A5   |   A6   |   A7   |
  1452.   |--------|--------|--------|--------|--------|--------|--------|--------|
  1453.   |        |   XX   |   XX   |  XXX   |        | XX  XX |   XX   |  XXXXX |
  1454.   |        |        |   XX   | XX XX  |XX   XX | XX  XX |   XX   | XX    X|
  1455.   |        |   XX   | XXXXXX | XX  X  | XXXXX  |  XXXX  |   XX   |  XXXX  |
  1456.   |        |   XX   |XX      |XXXX    |XX   XX | XXXXXX |        | XX  XX |
  1457.   |        |  XXXX  |XX      | XX     |XX   XX |   XX   |        | XX  XX |
  1458.   |        |  XXXX  | XXXXXX | XX  XX | XXXXX  | XXXXXX |   XX   |  XXXX  |
  1459.   |        |   XX   |   XX   |XXXXXX  |XX   XX |   XX   |   XX   |X    XX |
  1460.   |        |        |   XX   |        |        |   XX   |   XX   | XXXXX  |
  1461.   -------------------------------------------------------------------------
  1462.   
  1463.   -------------------------------------------------------------------------
  1464.   |   A8   |   A9   |   AA   |   AB   |   AC   |   AD   |   AE   |   AF   |
  1465.   |--------|--------|--------|--------|--------|--------|--------|--------|
  1466.   |        | XXXXXX |  XXXX  |        |        |        | XXXXXX |XXXXXXXX|
  1467.   |XX   XX |X      X| XX XX  |  XX  XX|        |        |X      X|        |
  1468.   |        |X  XXX X| XX XX  | XX  XX |        |        |X XXX  X|        |
  1469.   |        |X X    X|  XXXXX |XX  XX  |XXXXXXX | XXXXXX |X X  X X|        |
  1470.   |        |X X    X|        | XX  XX |     XX |        |X XXX  X|        |
  1471.   |        |X  XXX X| XXXXXX |  XX  XX|     XX |        |X X  X X|        |
  1472.   |        |X      X|        |        |        |        |X      X|        |
  1473.   |        | XXXXXX |        |        |        |        | XXXXXX |        |
  1474.   -------------------------------------------------------------------------
  1475.   
  1476.   -------------------------------------------------------------------------
  1477.   |   B0   |   B1   |   B2   |   B3   |   B4   |   B5   |   B6   |   B7   |
  1478.   |--------|--------|--------|--------|--------|--------|--------|--------|
  1479.   |  XXX   |   XX   | XXXX   | XXXX   |    XX  |        | XXXXXXX|        |
  1480.   | XX XX  |   XX   |    XX  |    XX  |   XX   |        |XX XX XX|        |
  1481.   | XX XX  | XXXXXX |   XX   |  XXX   |  XX    | XX  XX |XX XX XX|        |
  1482.   |  XXX   |   XX   |  XX    |    XX  |        | XX  XX | XXXX XX|   XX   |
  1483.   |        |   XX   | XXXXX  | XXXX   |        | XX  XX |   XX XX|        |
  1484.   |        |        |        |        |        | XX  XX |   XX XX|        |
  1485.   |        | XXXXXX |        |        |        | XXXXX  |   XX XX|        |
  1486.   |        |        |        |        |        |XX      |        |        |
  1487.   -------------------------------------------------------------------------
  1488.   
  1489.   -------------------------------------------------------------------------
  1490.   |   B8   |   B9   |   BA   |   BB   |   BC   |   BD   |   BE   |   BF   |
  1491.   |--------|--------|--------|--------|--------|--------|--------|--------|
  1492.   |        |   XX   |  XXX   |        | XX   XX| XX   XX|XXX    X|   XX   |
  1493.   |        |  XXX   | XX XX  |XX  XX  |XXX  XX |XXX  XX |  XX  X |        |
  1494.   |        |   XX   | XX XX  | XX  XX | XX XX  | XX XX  |XXX  X  |   XX   |
  1495.   |        |   XX   |  XXX   |  XX  XX| XXXX X | XXXXXX |  XXX X |   XX   |
  1496.   |        |  XXXX  |        | XX  XX |  XX XX |  XX  XX|XXXX XX |  XX    |
  1497.   |   XX   |        | XXXXX  |XX  XX  | XX X X | XX  XX |  X X X | XX   XX|
  1498.   |    XX  |        |        |        |XX XXXXX|XX  XX  | X XXXXX|  XXXXX |
  1499.   |  XXX   |        |        |        |     XX |    XXXX|X    XX |        |
  1500.   -------------------------------------------------------------------------
  1501.   
  1502.   -------------------------------------------------------------------------
  1503.   |   C0   |   C1   |   C2   |   C3   |   C4   |   C5   |   C6   |   C7   |
  1504.   |--------|--------|--------|--------|--------|--------|--------|--------|
  1505.   |   XX   |  XX    | XXXXX  | XXX XX |XX   XX |  XXX   |  XXXXX | XXXXX  |
  1506.   |    XX  | XX     |X     X |XX XXX  |  XXX   | XX XX  | XX XX  |XX   XX |
  1507.   |  XXX   |  XXX   |  XXX   |  XXX   | XX XX  | XXXXX  |XX  XX  |XX      |
  1508.   | XX XX  | XX XX  | XX XX  | XX XX  |XX   XX |XX   XX |XXXXXXX |XX      |
  1509.   |XX   XX |XX   XX |XX   XX |XX   XX |XXXXXXX |XXXXXXX |XX  XX  |XX   XX |
  1510.   |XXXXXXX |XXXXXXX |XXXXXXX |XXXXXXX |XX   XX |XX   XX |XX  XX  | XXXXX  |
  1511.   |XX   XX |XX   XX |XX   XX |XX   XX |XX   XX |XX   XX |XX  XXX |    XX  |
  1512.   |        |        |        |        |        |        |        | XXXX   |
  1513.   -------------------------------------------------------------------------
  1514.   
  1515.   -------------------------------------------------------------------------
  1516.   |   C8   |   C9   |   CA   |   CB   |   CC   |   CD   |   CE   |   CF   |
  1517.   |--------|--------|--------|--------|--------|--------|--------|--------|
  1518.   |  XX    |   XX   | XXXXX  |XX   XX |  XX    |    XX  |  XXXX  | XX  XX |
  1519.   |   XX   |  XX    |X     X |        |   XX   |   XX   | X    X |        |
  1520.   |XXXXXXX |XXXXXXX |XXXXXXX |XXXXXXX |  XXXX  |  XXXX  |  XXXX  |  XXXX  |
  1521.   |XX      |XX      |XX      |XX      |   XX   |   XX   |   XX   |   XX   |
  1522.   |XXXXXX  |XXXXX   |XXXXXX  |XXXXXX  |   XX   |   XX   |   XX   |   XX   |
  1523.   |XX      |XX      |XX      |XX      |   XX   |   XX   |   XX   |   XX   |
  1524.   |XXXXXXX |XXXXXXX |XXXXXXX |XXXXXXX |  XXXX  |  XXXX  |  XXXX  |  XXXX  |
  1525.   |        |        |        |        |        |        |        |        |
  1526.   -------------------------------------------------------------------------
  1527.   
  1528.   -------------------------------------------------------------------------
  1529.   |   D0   |   D1   |   D2   |   D3   |   D4   |   D5   |   D6   |   D7   |
  1530.   |--------|--------|--------|--------|--------|--------|--------|--------|
  1531.   |XXXXX   | XXX XX |    XX  |  XX    | XXXXX  | XXX XX |XX   XX |        |
  1532.   | XX XX  |XX XXX  |     XX | XX     |X     X |XX XXX  |  XXX   |XX   XX |
  1533.   | XX  XX |        |  XXX   |  XXX   |  XXX   |  XXX   | XX XX  | XX XX  |
  1534.   |XXXX XX |XXX  XX | XX XX  | XX XX  | XX XX  | XX XX  |XX   XX |  XXX   |
  1535.   | XX  XX |XXXX XX |XX   XX |XX   XX |XX   XX |XX   XX |XX   XX | XX XX  |
  1536.   | XX XX  |XX XXXX | XX XX  | XX XX  | XX XX  | XX XX  | XX XX  |XX   XX |
  1537.   |XXXXX   |XX  XXX |  XXX   |  XXX   |  XXX   |  XXX   |  XXX   |        |
  1538.   |        |        |        |        |        |        |        |        |
  1539.   -------------------------------------------------------------------------
  1540.   
  1541.   -------------------------------------------------------------------------
  1542.   |   D8   |   D9   |   DA   |   DB   |   DC   |   DD   |   DE   |   DF   |
  1543.   |--------|--------|--------|--------|--------|--------|--------|--------|
  1544.   |  XXX X | XX     |   XX   | XXXXX  |XX   XX |    XX  |XXXX    | XXXX   |
  1545.   | XX XX  |  XX    |  XX    |X     X |        |   XX   | XX     |XX  XX  |
  1546.   |XX  XXX |XX   XX |XX   XX |        |XX   XX | XX  XX | XXXXX  |XX  XX  |
  1547.   |XX X XX |XX   XX |XX   XX |XX   XX |XX   XX | XX  XX | XX  XX |XX XX   |
  1548.   |XXX  XX |XX   XX |XX   XX |XX   XX |XX   XX |  XXXX  | XXXXX  |XX  XX  |
  1549.   | XX XX  |XX   XX |XX   XX |XX   XX |XX   XX |   XX   | XX     |XX   XX |
  1550.   |X XXX   | XXXXX  | XXXXX  | XXXXX  | XXXXX  |  XXXX  |XXXX    |XX  XX  |
  1551.   |        |        |        |        |        |        |        |        |
  1552.   -------------------------------------------------------------------------
  1553.   
  1554.   -------------------------------------------------------------------------
  1555.   |   E0   |   E1   |   E2   |   E3   |   E4   |   E5   |   E6   |   E7   |
  1556.   |--------|--------|--------|--------|--------|--------|--------|--------|
  1557.   |  XX    |   XX   | XXXXX  | XXX XX |XX   XX |  XX    |        |        |
  1558.   |   XX   |  XX    |X     X |XX XXX  |        |  XX    |        |        |
  1559.   | XXXX   | XXXX   | XXXX   | XXXXX  | XXXX   | XXXX   | XXXXXX | XXXXXX |
  1560.   |    XX  |    XX  |    XX  |     XX |    XX  |    XX  |   X  X |XX      |
  1561.   | XXXXX  | XXXXX  | XXXXX  | XXXXXX | XXXXX  | XXXXX  |XXXXXXX |XX      |
  1562.   |XX  XX  |XX  XX  |XX  XX  |XX   XX |XX  XX  |XX  XX  |X  X    | XXXXXX |
  1563.   | XXX XX | XXX XX | XXX XX | XXXXXX | XXX XX | XXX XX |XXXXXXX |    XX  |
  1564.   |        |        |        |        |        |        |        |  XXX   |
  1565.   -------------------------------------------------------------------------
  1566.   
  1567.   -------------------------------------------------------------------------
  1568.   |   E8   |   E9   |   EA   |   EB   |   EC   |   ED   |   EE   |   EF   |
  1569.   |--------|--------|--------|--------|--------|--------|--------|--------|
  1570.   |  XX    |    XX  | XXXXX  |XX   XX |  XX    |    XX  | XXXXX  | XX  XX |
  1571.   |   XX   |   XX   |X     X |        |   XX   |   XX   |X     X |        |
  1572.   | XXXXX  | XXXXX  | XXXXX  | XXXXX  |        |        |  XXX   |  XXX   |
  1573.   |XX   XX |XX   XX |XX   XX |XX   XX |  XXX   |  XXX   |   XX   |   XX   |
  1574.   |XXXXXXX |XXXXXXX |XXXXXXX |XXXXXXX |   XX   |   XX   |   XX   |   XX   |
  1575.   |XX      |XX      |XX      |XX      |   XX   |   XX   |   XX   |   XX   |
  1576.   | XXXXX  | XXXXX  | XXXXX  | XXXXX  |  XXXX  |  XXXX  |  XXXX  |  XXXX  |
  1577.   |        |        |        |        |        |        |        |        |
  1578.   -------------------------------------------------------------------------
  1579.   
  1580.   -------------------------------------------------------------------------
  1581.   |   F0   |   F1   |   F2   |   F3   |   F4   |   F5   |   F6   |   F7   |
  1582.   |--------|--------|--------|--------|--------|--------|--------|--------|
  1583.   |  XX    | XXX XX |  XX    |    XX  | XXXXX  | XXX XX |XX   XX |        |
  1584.   | XXXXXX |XX XXX  |   XX   |   XX   |X     X |XX XXX  |        |   XX   |
  1585.   |    XX  |        | XXXXX  | XXXXX  | XXXXX  | XXXXX  | XXXXX  |        |
  1586.   | XXXXX  |XX XXX  |XX   XX |XX   XX |XX   XX |XX   XX |XX   XX | XXXXXX |
  1587.   |XX  XX  | XX  XX |XX   XX |XX   XX |XX   XX |XX   XX |XX   XX |        |
  1588.   |XX  XX  | XX  XX |XX   XX |XX   XX |XX   XX |XX   XX |XX   XX |   XX   |
  1589.   | XXXX   | XX  XX | XXXXX  | XXXXX  | XXXXX  | XXXXX  | XXXXX  |        |
  1590.   |        |        |        |        |        |        |        |        |
  1591.   -------------------------------------------------------------------------
  1592.   
  1593.   -------------------------------------------------------------------------
  1594.   |   F8   |   F9   |   FA   |   FB   |   FC   |   FD   |   FE   |   FF   |
  1595.   |--------|--------|--------|--------|--------|--------|--------|--------|
  1596.   |        | XX     |   XX   | XXXX   |XX  XX  |   XX   |XXX     |XX   XX |
  1597.   |      X |  XX    |  XX    |X    X  |        |  XX    | XX     |        |
  1598.   | XXXXX  |XX  XX  |XX  XX  |        |XX  XX  |XX   XX | XXXXX  |XX   XX |
  1599.   |XX  XXX |XX  XX  |XX  XX  |XX  XX  |XX  XX  |XX   XX | XX  XX |XX   XX |
  1600.   |XX X XX |XX  XX  |XX  XX  |XX  XX  |XX  XX  |XX   XX | XX  XX |XX   XX |
  1601.   |XXX  XX |XX  XX  |XX  XX  |XX  XX  |XX  XX  | XXXXXX | XXXXX  | XXXXXX |
  1602.   | XXXXX  | XXX XX | XXX XX | XXX XX | XXX XX |     XX | XX     |     XX |
  1603.   |X       |        |        |        |        |XXXXXX  |XXXX    |XXXXXX  |
  1604.   -------------------------------------------------------------------------
  1605.   
  1606.   Andr'e PIRARD
  1607.   SEGI Univ. de Li`ege
  1608.   B26 - Sart Tilman
  1609.   B-4000 Li`ege 1 (Belgium)
  1610.   PIRARD@BLIULG11 on EARN alias BITNET
  1611.   pirard@vm1.ulg.ac.be on Internet
  1612.