home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #30 / NN_1992_30.iso / spool / comp / std / internat / 873 < prev    next >
Encoding:
Text File  |  1992-12-16  |  11.3 KB  |  311 lines

  1. Xref: sparky comp.std.internat:873 soc.culture.nordic:7922 soc.culture.german:9309
  2. Newsgroups: comp.std.internat,soc.culture.nordic,soc.culture.german
  3. Path: sparky!uunet!mcsun!sunic!nobeltech!admin.kth.se!ojarnef
  4. From: ojarnef@admin.kth.se (Olle Jarnefors), psv@nada.kth.se (Peter Svanberg)
  5. Subject: Re: ISO Latin 1 to 7-bit ASCII conversion (final draft!)
  6. Message-ID: <1992Dec16.165027.9152@admin.kth.se>
  7. Followup-To: comp.std.internat
  8. Summary: Table modifiability needed. New conversions suggested for several
  9.  characters. Special problems with Scandinavian 7-bit codes. The C3 system.
  10. Keywords: character sets, ISO 8859-1, terminals, user interface
  11. Sender: ojarnef@admin.kth.se (Olle Jarnefors)
  12. Organization: Royal Institute of Technology, Sweden
  13. References: <1gi1rnEINN1cg@uni-erlangen.de>
  14. Date: Wed, 16 Dec 1992 16:50:27 GMT
  15. Lines: 294
  16.  
  17. Some comments on Markus's proposal:
  18.  
  19. > ------------------------------------------------------------------------
  20. > Representation of ISO 8859-1 characters with 7-bit ASCII
  21. > --------------------------------------------------------
  22. > Markus Kuhn -- 1992-12-13
  23. > SUMMARY: This text describes a technique of displaying the 8-bit
  24. > character set, which is used today in many modern network services, on
  25. > old 7-bit terminals. Authors of software dealing with text received
  26. > from international networks are strongly encouraged to implement this
  27. > or similar methods as options in their software for the convenience of
  28. > users all over the world. Implementation is often trivial.
  29.  
  30. By only offering four tables to choose from it's impossible to
  31. satisfy the different needs of many languages and national
  32. cultures covered by ISO 8859-1. Therefore it should be stressed
  33. already in the summary that it is important that the conversion
  34. table can be easily changed by system managers and end users.
  35.  
  36. > The disadvantages of this approach are often acceptable:
  37. >   a) No one-to-one mapping between Latin 1 and ASCII strings possible
  38. >   b) Text layout may be destroyed by multi-character substitutions
  39.  
  40. Add "..., especially in tables" to mention the practically most
  41. important case.  We would also suggest the addition of some text
  42. about a related disadvantage:
  43.  
  44. :   *) Truncation may be necessary to fit textual data into
  45. :      fields of fixed width
  46.  
  47. > ... Users should be able to switch between the different
  48. > tables and the 8-bit transparent normal mode. ...
  49.  
  50. Many users can get along with only one default conversion that
  51. is always activated.  For most others it's sufficient with one
  52. alternative conversion.  We suggest this addition to the text:
  53.  
  54. : It should be possible and not difficult to configure a default
  55. : conversion and possibly a default alternative conversion for
  56. : the program on a per user basis.
  57.  
  58. > ... User defineable tables
  59. > are always a nice possible extension.
  60.  
  61. In our opinion this is not only a nice feature but a user need
  62. almost as important as the capability of switching between the
  63. five conversions defined in this text.  Write something like:
  64.  
  65. : A simple way for users to modify the conversion tables is also
  66. : desirable.
  67.  
  68. > Users should know if the text they read has been converted from the 
  69. > original Latin 1 text. ...
  70.  
  71. Do you have in mind any specific way of visually indicating that
  72. conversion takes place?  Underlining converted characters?
  73. Something else?
  74.  
  75. > ... This avoids confusion if e.g. someone asks for
  76. > sending him a 3<fraction 1/2>" disk [3╜"], which will be displayed
  77. > after the conversion as 31/2" (= 15.25").
  78.  
  79. This particular problem is most easily solved, we suggest, by
  80. converting the character not to "1/2" but to " 1/2", with an
  81. initial space character.
  82.  
  83. > ... First of all, a table with the
  84. > real characters in the range 160 - 255 (0xa0 - 0xff):
  85.  
  86. Two of the "high" characters of ISO 8859-1
  87.  
  88. 160 "A0 '240  NO-BREAK SPACE (NBSP)
  89. 173 "AD '255  SOFT HYPHEN (SHY)
  90.  
  91. are not ordinary graphic characters but a sort of hybrid
  92. characters with both a graphic component and a control
  93. component.
  94.  
  95. For soft hyphen the graphic component is an ordinary hyphen
  96. glyph.  The functional component is that this glyph should only
  97. be displayed or printed if the character is at the end of a
  98. line.  If it is somewhere else in the line, _nothing_ should be
  99. displayed or printed.
  100.  
  101. In the simple, context-insensitive conversion that we are
  102. dealing with here, SHY should be converted to the empty string,
  103. since it will occur less often at the end of a line than
  104. elsewhere.
  105.  
  106. > Table 0 is a universal table that is expected to be suitable for many
  107. > languages. The letters are simply the ASCII versions without the
  108. > diacritics. The character '?' as a fallback substitution where no ASCII
  109. > string is suitable is used as little as possible ...
  110.  
  111. Even if it is used as little as possible we suggest that "_" is
  112. a better fallback substitution than "?".  Genuine question marks
  113. can be important for the correct interpretation of a text.
  114. it's unfortunate if they are mixed with replacement characters.
  115. By the way, there is a case of a genuine conversion to "?" in
  116. the tables, viz. of the Spanish inverted question mark.  This of
  117. course must not be replaced by "_".
  118.  
  119. For TABLE 0 we suggest the following changes:
  120.  
  121. 0a: 164 "A4 '244  CURRENCY SIGN
  122.     Now:        SUBST (general substitution character)
  123.     Suggestion: DOLLAR SIGN
  124.  
  125.     This character was actually invented for the international
  126.     reference 7-bit character set of first version of ISO 646.
  127.     It is the only character that can replace the dollar sign in
  128.     ISO 646-compatible character sets and no other character may
  129.     be allocated to code position 36.  Therefore this characters
  130.     have in practice become almost equivalent in those countries
  131.     where the currency sign is known at all. (ISO has adopted a
  132.     system for currency codes that doesn't use the currency sign
  133.     at all.)
  134.  
  135. 0b: 173 "AD '255  SOFT HYPHEN (SHY)
  136.     Now:        "-"
  137.     Suggestion: ""
  138.  
  139. 0c: 175 "AF '257  MACRON
  140.     Now:        SUBST
  141.     Suggestion: "-"
  142.  
  143.     Macron is a diacritical mark used in semi-phonetical
  144.     notation to indicate that a vowel is to be pronounced with a
  145.     long sound.  In fine typography it has the same width as the
  146.     vowel letter and its vertical position is adjusted to the
  147.     height of the letter.  In ISO 8859-1 text it has to be
  148.     written before or, preferably, after the vowel.  In the
  149.     conversion to a 7-bit character set its principal graphical
  150.     form can still be preserved.
  151.  
  152. 0d: 176 "B0 '260  DEGREE SIGN
  153.     Now:        SUBST
  154.     Suggestion: "o"
  155.  
  156.     This is most often used in numerical data and can, without
  157.     risk of misunderstanding, be substituted with the lowercase
  158.     "o", as is often done.
  159.  
  160. 0e: 188 "BC '274  VULGAR FRACTION ONE QUARTER
  161.     Now:        "1/4"
  162.     Suggestion: " 1/4"
  163.  
  164. 0f: 189 "BD '275  VULGAR FRACTION ONE HALF
  165.     Now:        "1/2"
  166.     Suggestion: " 1/2"
  167.  
  168. 0g: 190 "BE '276  VULGAR FRACTION THREE QUARTERS
  169.     Now:        "3/4"
  170.     Suggestion: " 3/4"
  171.  
  172. 0h: 247 "F7 '367  DIVISION SIGN
  173.     Now:        ":"
  174.     Suggestion: "-:"
  175.  
  176.     This symbol has the meaning of subtraction in some countries
  177.     and some application fields.  In addition, division is
  178.     in some countries normally indicated by "/" rather than ":".
  179.     We therefore suggest that the conversion should be neutral
  180.     by trying to approximate the appearance of the symbol,
  181.     rather than its meaning.  "-:" is better than ":-", since
  182.     the "-" can't be misinterpreted as a minus on a following
  183.     number.
  184.  
  185. These suggestions also apply to TABLE 3.
  186.  
  187. For TABLE 1 we suggest the following changes:
  188.  
  189. 1a: 164 "A4 '244  CURRENCY SIGN
  190.     Now:        SUBST (general substitution character)
  191.     Suggestion: DOLLAR SIGN
  192.  
  193. 1b: 173 "AD '255  SOFT HYPHEN (SHY)
  194.     Now:        "-"
  195.     Suggestion: ""
  196.  
  197. 1c: 175 "AF '257  MACRON
  198.     Now:        SUBST
  199.     Suggestion: "-"
  200.  
  201. 1d: 176 "B0 '260  DEGREE SIGN
  202.     Now:        SUBST
  203.     Suggestion: "o"
  204.  
  205. 1e: 171 "AB '253  LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
  206.     Now:        '<'
  207.     Suggestion: '"'
  208.  
  209.     The generic double quotation mark of ASCII can be used to
  210.     reduce the risk for confusion with a genuine "<" used as a
  211.     left angle parenthesis.
  212.  
  213. 1f: 187 "BB '273  RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
  214.     Now:        '>'
  215.     Suggestion: '"'
  216.  
  217. 1g: 188 "BC '274  VULGAR FRACTION ONE QUARTER
  218.     Now:        SUBST
  219.     Suggestion: "/"
  220.  
  221.     By using "/" instead of the general fallback character at
  222.     least we indicate that the real character was a vulgar
  223.     fraction.
  224.  
  225. 1h: 189 "BD '275  VULGAR FRACTION ONE HALF
  226.     Now:        SUBST
  227.     Suggestion: "/"
  228.  
  229. 1i: 190 "BE '276  VULGAR FRACTION THREE QUARTERS
  230.     Now:        SUBST
  231.     Suggestion: "/"
  232.  
  233. > In some north european languages, any US-ASCII replacement for the
  234. > relevant Latin 1 characters is unacceptable for many people. In these
  235. > countries, national variants of 7-bit ISO 646 are still very popular.
  236. > These use the codes of []{}\|~^`$ for national characters. ...
  237.  
  238. The last sentence is partially incorrect.  Write instead: "These
  239. use the codes of [ ] \ { } | in a consistent manner for national
  240. letters.  One of the codes also uses @ ^ ` ~ for additional
  241. letters."  (The spaces make it easier to identify the special
  242. characters.)
  243.  
  244. > ... Table 2 has
  245. > been designed for Danish, Finnish, Norwegian and Swedish users of ISO
  246. > 646 terminals:
  247.  
  248. Unfortunately it uses @ ^ ` ~ as conversions for the letters
  249. E WITH ACUTE and U WITH DIAERESIS.  This will give good results
  250. only with one of the two Swedish 7-bit character sets and
  251. disastrous results with the other Swedish code and with the
  252. Danish/Norwegian code.
  253.  
  254. 2a: 201 "C9 '311  CAPITAL LETTER E WITH ACUTE
  255.     Now:        "@"
  256.     Suggestion: "E"
  257.  
  258. 2b: 233 "E9 '351  SMALL LETTER E WITH ACUTE
  259.     Now:        "`"
  260.     Suggestion: "e"
  261.  
  262. 2c: 220 "DC '334  CAPITAL LETTER U WITH DIAERESIS
  263.     Now:        "^"
  264.     Suggestion: "Ue"
  265.  
  266. 2d: 252 "FC '374  SMALL LETTER U WITH DIAERESIS
  267.     Now:        "~"
  268.     Suggestion: "ue"
  269.  
  270. Finally we would like to say that we are impressed by Markus's
  271. work.  It identifies an important and neglected problem, is
  272. based on principles that are technically sound, and offers a
  273. practical solution.  The alternative approaches used by people
  274. working with EBCDIC-ASCII conversion in the IBM mainframe world
  275. and by Kermit developers are less promising.
  276.  
  277. We are ourselves active in this area, and have designed a more
  278. ambitious system, called "The C3 System for Character Code
  279. Conversion", as part of a joint project between Swedish
  280. universities.  Actually, it's not quite finished yet.  The big
  281. difference is that Markus's solution only treats two conversion
  282. paths:
  283.  
  284. Latin-1 -> ASCII
  285. Latin-1 -> Scandinavian 7-bit character sets
  286.  
  287. The C3 system will provide 3 types of conversion - 1-1, legible,
  288. and reversible - between any two of about 20 coded character
  289. sets by means of conversion tables on 3 levels - prototype,
  290. elementary, and working table.
  291.  
  292. An obvious complement to Markus's work is a system that makes
  293. _input_ of all Latin-1 characters from a 7-bit terminal
  294. possible.  To make this reasonably user-friendly seems to be a
  295. rather difficult task though.
  296.  
  297. --
  298. Olle Jarnefors                     Internet: ojarnef@admin.kth.se
  299. Information Management Services        UUCP: ...!uunet!mcsun!sunic!kth!ojarnef
  300. Royal Institute of Technology (KTH)  BITNET: ojarnef@sekth  Fax:+46 8 10 25 10
  301. S-100 44  Stockholm, Sweden           Phone: +46 8 790 71 26 (time zone +0100)
  302.  
  303. ---
  304. Peter Svanberg, NADA, KTH                   Email: psv@nada.kth.se
  305. Dept of Num An & CS,
  306. Royal Inst of Tech                          Phone: +46 8 790 71 46
  307. S-100 44  Stockholm, SWEDEN                 Fax:   +46 8 790 09 30
  308.