/* *** data here. See below for comments. nbsp/required space/non-break space iexcl/inverted exclamation/ cent/cent sign/ pound/pound sign/Sterling curren/currency sign/ yen/yen sign/ brvbar/broken bar/*M sect/section sign/ uml/umlaut/umlaut or diaeresis copy/copyright sign/ ordf/feminine ordinal/ laquo/left angle quotes/guillemet L not/logical not sign/ shy/soft hyphen/(see intro notes) reg/registered trademark/(this is not "TM"!) macr/spacing macron/overbar deg/degree sign/ plusmn/plus-minus sign sup2/superscript 2/*M sup3/superscript 3/*M acute/spacing acute/ micro/micro sign/ para/pilcrow/paragraph sign middot/middle dot/ cedil/spacing cedilla/ sup1/superscript 1/*M ordm/masculine ordinal/ raquo/right angle quotes/guillemet R frac14/one quarter/*M frac12/one half/*M frac34/three quarters/*M iquest/inverted question mark/ Agrave/A grave/ Aacute/A acute/ Acirc/A circumflex/ Atilde/A tilde/ Auml/A diaeresis/ Aring/A ring/ AElig/AE ligature/ Ccedil/C cedilla/ Egrave/E grave/ Eacute/E acute/ Ecirc/E circumflex/ Euml/E diaeresis/ Igrave/I grave/ Iacute/I acute/ Icirc/I circumflex/ Iuml/I diaeresis/ ETH/ETH/*M Ntilde/N tilde/ Ograve/O grave/ Oacute/O acute/ Ocirc/O circumflex/ Otilde/O tilde/ Ouml/O diaeresis/ times/multiplication sign/*M Oslash/O slash/ Ugrave/U grave/ Uacute/U acute/ Ucirc/U circumflex/ Uuml/U diaeresis/ Yacute/Y acute/*M THORN/THORN/*M szlig/sharp s/ agrave/a grave/ aacute/a acute/ acirc/a circumflex/ atilde/a tilde/ auml/a diaeresis/ aring/a ring/ aelig/ae ligature/ ccedil/c cedilla/ egrave/e grave/ eacute/e acute/ ecirc/e circumflex/ euml/e diaeresis/ igrave/i grave/ iacute/i acute/ icirc/i circumflex iuml/i diaeresis/ eth/eth/*M ntilde/n tilde/ ograve/o grave/ oacute/o acute/ ocirc/o circumflex/ otilde/o tilde/ ouml/o diaeresis/ divide/division sign/ oslash/o slash/ ugrave/u grave/ uacute/u acute/ ucirc/u circumflex/ uuml/u diaeresis/ yacute/y acute/*M thorn/thorn/*M yuml/y diaeresis/ */ /* End of data. Comments follow *** This is a rexx program to write a table of ISO8859-1 characters (from 160 to 255, which is the interesting part). For convenience, the data is included within the file. Invoking this without an argument will produce an HTML3 TABLE; invoking it with any non-null argument will produce preformatted text. Results will be written to standard output (typically will be redirected to an output file). *** */ trace o Parse arg thing . /* non null argument means we want
*/ Parse source . . infile . /* get our own file name */ say 'This table lists the iso8859-1 character code,
' say '
' say 'and illustrates how your own browser displays it.Only the positions 160 and above are shown; below 128, the
' line = linein(infile) /* ignore first line */ If thing = '' then do say '
' say 'well-known US-ASCII code applies, and 128-159 are "reserved".
| 1 | 2 | 3 | 4 | 5 | 6 | '||, ' 7 | 8 | 9 ' say ' | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| hex | dec | oct | entity | '||, ' description '||, ' | 8-bit char | &#num; | &entity; | comment ' end Else do say ' ' say ' 1 2 3 4 5 6 7 8 9' say 'hex dec oct entity description char &#n; &entity; comment' say ' ' end do i = 160 to 255 line = linein(infile) Parse var line entity '/' descrip '/' comment If entity = '*' then leave /* we have reached the end */ ent = entity if ent <> '' Then ent = '&'ent';' If thing = '' then , say ' |
' say 'Up - to topic contents' say '