home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #31 / NN_1992_31.iso / spool / comp / unix / bsd / 10838 < prev    next >
Encoding:
Text File  |  1993-01-02  |  22.9 KB  |  452 lines

  1. Newsgroups: comp.unix.bsd
  2. Path: sparky!uunet!spool.mu.edu!agate!dog.ee.lbl.gov!hellgate.utah.edu!fcom.cc.utah.edu!cs.weber.edu!terry
  3. From: terry@cs.weber.edu (A Wizard of Earth C)
  4. Subject: INTERNATIONALIZATION: IN GENERAL
  5. Message-ID: <1993Jan2.083734.22776@fcom.cc.utah.edu>
  6. Keywords: Han Kanji Katakana Hirugana ISO10646 Unicode Codepages
  7. Sender: news@fcom.cc.utah.edu
  8. Organization: Weber State University  (Ogden, UT)
  9. References: <1ht8v4INNj7i@rodan.UU.NET> <1993Jan1.094759.8021@fcom.cc.utah.edu> <1i2k09INN4hl@rodan.UU.NET>
  10. Date: Sat, 2 Jan 93 08:37:34 GMT
  11. Lines: 439
  12.  
  13. A discussion between Vadim Antonov (V) and myself (T):
  14.  
  15. V: 1) "mechanistic" conversion between upper and lower case
  16. V:    is impossible (as well as case-insensitive comparisons)
  17. V: 
  18. V:    Example:     Latin  T -> t
  19. V:         Cyrillic T -> m
  20. V:         Greek T -> ?
  21. V: 
  22. V:    This property alone renders Unicode useless for any business
  23. V:    applications.
  24.  
  25. T: This is simply untrue.  Because a subtractive/additive conversion is
  26. T: impossible in *some* cases does not mean a *mechanistic* conversion is
  27. T: also impossible.  In particular, a tabular conversion is an obvious
  28. T: approach which has already been used with success, with a minimal
  29. T: (multiply plus dereference) overhead.
  30.  
  31. V: You omitted one small "detail" -- you need to know the language of the word
  32. V: the letter belongs to to make a conversion. Since Unicode does not
  33. V: provide for specifying the language it is obvious that is should be
  34. V: obtained from user or kept somewhere off the text. In both cases
  35. V: as our program ALREADY knows the language from the environment it knows
  36. V: the particular (small) alphabet -- no need to use multibyte encodings!
  37. V: See how Unicode renders itself useless?
  38.  
  39. Correct.  You need to know the language, because the information you are
  40. storing is which glyph to display rather than the language and the glyph.
  41.  
  42. There are several problems with a unique ordinal value per glyph, where
  43. a particular glyph is not unique within the set of glyphs.  In particular,
  44. programs which process text as data (like C compilers require the ability
  45. to distinguish characters.  If one looks at the JIS standard, one sees that
  46. in include an English alphabet.  Without unification between this and the
  47. ISO-Latin-1 font, for instance, a great deal of additional code is required
  48. to allow the compiler to recognize characters (basically, do it's own
  49. unificiation.  You can't tell if the characters in the string "printf" were
  50. input in a JIS or the Latin-1 font just by looking at them, but the
  51. compiler can certainly tell that they are unique.
  52.  
  53. In order to provide "natural" operations on words (such as hyphenation,
  54. case conversion, and, in particular, abbreviation (All of which are
  55. potentially desirable in our hypothetical program which also alphabetizes),
  56. you also require information about the language.  Hyphenation and
  57. abbreviation, in particular, require a detailed knowledge of the idea of
  58. sequences of glyphs (ie: words).  This information will not be available
  59. regardless of your glyph encoding standard.
  60.  
  61. Other word processing operations (such as dictionary and thesaurus use
  62. within the program) require knowledge of which language to use.
  63.  
  64. The idea of sort order should be (and is in Unicode) divorced from the
  65. idea of information storage.  The fact that one will have text files,
  66. data files, and text files which act as data files on the same machine
  67. *requires* some type of promiscuous [out of data band] method of
  68. determining the format of the data within a file.  This method, whether
  69. it be language tagging of the files in the inode, or language tagging
  70. of the user during the login process is imperitive.  To do otherwise
  71. means that your localization data coexists with system data rather
  72. than system data being localized as well.
  73.  
  74. The operations you wish to perform are the province of applications running
  75. on the system, not the system itself.  Regardless of whether this is done
  76. by an application programmer (as a per application localization) or by the
  77. creator of a library used by applications (as part of developement system
  78. localization), THE CODE BELONGS IN USER SPACE.
  79.  
  80.  
  81. V: I wonder why programmers aren't taught mathematical logic. I'm somehow
  82. V: an exception because i'm a mathematican by education and i use to look
  83. V: for holes in "logical" statements.
  84.  
  85. Most American programmers are, if they attempt to get a degree at an
  86. institute of higher learning in the US.  Most are also forcibly taught
  87. how to bowl or shoot a bow and arrow as part of their graduation
  88. requirements.
  89.  
  90. A point of contention: a logician is, by disipline, a philosopher, not a
  91. mathematician.  Being the latter does not qualify one as the former.
  92.  
  93. The point of having to know what language a particular document is written
  94. in in order to manipulate it was *not* omitted; it was taken as an *axiom*.
  95.  
  96. T: The Cyrillic characters within the Unicode standard (U+0400 -> U+04FF)
  97. T: are based on the ECMA registry under ISO-2375 for use with ISO-2022.  It
  98. T: contains several Cyrillic subsets.  The most recent and most widely
  99. T: accepted of these is ISO-8859-5.  Unicode uses the same relative
  100. T: positions as in ISO-8859-5.  Are you also adverse to ISO-8859-5?
  101.  
  102. V: ISO-8859-5 is ok, though it is a dead code. Nobody uses it in Russia,
  103. V: mind you. The most wide-spread codes are KOI-8 (de-facto Unix and
  104. V: networking standard) and the so-called "alternative" code which is
  105. V: popular between MS-DOS users.
  106.  
  107. With all due respect, the ISO-8859-5 is an international standard to
  108. which engineering outside of Russia is done for use in Russia.  Barring
  109. another published standard for external use, this is probably what
  110. Russian users are going to be stuck with for code originating outside
  111. of Russia.  I suggest that if this concerns you, you should have the
  112. "defacto standard" codified for use by external agencies.
  113.  
  114. One wonders at the ECMA registration of a supposed "non-standard" by Russian
  115. nationals if the standard is not used in Russia.
  116.  
  117. T: Of these, some argument can be made against only the final paragraph,
  118. T: since it vies internationalization as a tool for multinationalization
  119. T: rather than localization.  I feel that a strong argument can be held
  120. T: out for internationalization as a means of providing fully data driven
  121. T: localizations of software.  As such, the argument of monolingual vs.
  122. T: multilingual is not supported.  However, lexical sort order can be
  123. T: enforced in the access rather than the storage mechanism, making this
  124. T: a null point.
  125.  
  126. V: Nay, you missed the same point again. You need information about
  127. V: laguage case-conversion and sorting rules and you can obtain it from
  128. V: the encoding (making user programs simple) or from user programs
  129. V: (forcing them to ask user at every step or to keep track of the language).
  130. V: What would you choose for your program?
  131.  
  132. The process of "asking the user" is near 0 cost regardless of whether the
  133. implementation is some means of file attribution per language or some
  134. method of user attribution (ala proc struct, password file, or environment).
  135.  
  136. It becomes more complicate if you are attemting a multinational document;
  137. the point here is to enable localization with user supplied data seta
  138. rather than providing a tool for linguistic scholars or multilingual
  139. word processors.  It is possible to do both of these things within the
  140. confines of Unicode, penalizing only the authors of the applications.
  141.  
  142. >Besides, as i already argued asking or keeping off-text inforamtion
  143. >makes the whole enterprise useless.
  144.  
  145. This is perhaps true if the goal is multinationalization rather than
  146. internationalization or localization.  Consider a document in Japanese,
  147. Tamil, and Devanagari (Sanskrit).  How does one resolve the issues of
  148. input mechanism for these languages?  JIS encoding does not cut it.
  149. Basically, for a multinational document, there must be multiple instances
  150. if input mechanisms, or a switch between input mechanisms during the
  151. input process.  A switch between mechanisms is sufficient indicator of a
  152. switch between languages, since each input mechanism will be more or
  153. less language specific in any case because of the N->M keyboard mapping
  154. issues if nothing else.
  155.  
  156. I believe that multinational documented will be the exception, not the
  157. rule.  I further believe that in the specific case of multinational
  158. documents, the use of a particular in-band storage mechanism (such as
  159. "Fancy Text" from the Unicode 1.0 standard) is not an unacceptable
  160. penalty for exceptional use.
  161.  
  162. I believe the goal is *NOT* multinationalization, but internationalization.
  163. In this context, internationalization refers not to the ability to provide
  164. perfect access to all supported languages (by way of glyph preference), but
  165. refers instead to an enabling technology to allow better operating system
  166. support for localization.
  167.  
  168. Multinational use is out of the question until modifications are made to
  169. the file system in terms of supporting multiple nation name spaces for the
  170. files.
  171.  
  172. Localization in terms of multinationalization requires other considerations
  173. not directly possible, in particular, the concept of "well known file system
  174. objects" must be adjusted.  Consider, if you will, the fact that such a
  175. localization of the existing UNIX infrastructure is currently impossible
  176. in this framework.  I am thinking in particular renaming the /etc directory
  177. or the /etc/passwd file to localized non-English equivalents.  The idea
  178. of multinationalization falls under its own weight.  Considr a system used
  179. by users of several languages (ie: a multinational environment).  Providing
  180. each use with their own language's view of file requires a minimum of the
  181. number of well known file names times the number of languages (bearing in
  182. mind that translation may effect name length) for directory information
  183. alone.  Now consider that each of these users will want their names and
  184. passwords to be in their own language in a single password file.
  185.  
  186. Multinationalization is possible, but of questionalble utility and merit
  187. in current computing systems.  We ned only worry about providing the
  188. mechanisms for concurrency of use for the translators.
  189.  
  190.  
  191. Consider now the goal of data-driven localization (a single translation
  192. for all system application programs and switching of language environments
  193. without application recompilation.
  194.  
  195. Does this goal require internationalization of applications?  The answer is
  196. no.  The only thing it requires is internationalization of the underlying
  197. system to allow data-driving of localization.  Applications themselves need
  198. only be localized through their use of the underlying system.
  199.  
  200. Rather than rewriting all applications which use text as data (cf: the C
  201. compiler example), unification of the glyph sets makes more sense.
  202.  
  203. The only goal I am esposing here is enabling for localization.  For this
  204. task, Unicode is far from useless.
  205.  
  206. T: I believe this is addressed adequately in the ISO standards; however,
  207.  
  208. V: Your belief is wrong for it is not considered adequate by real users.
  209.  
  210. Then "real users" can supply a codified alternative in short order or lump it.
  211.  
  212. T: the lexical order argument is one of the sticking points against the
  213. T: Japanese acceptance of Unicode, and is a valid argument in that arena.
  214. T: The fact of the matter is that Unicode is not an information manipulation
  215. T: standard, but (for the purposes of it's use in internationalization) a
  216. T: storage and an I/O standard.  View this way, the lexical ordering argument
  217. T: is nonapplicable.
  218.  
  219. V: It'd be sticking point about Slavic languages as well, you may be sure.
  220. V: Knowing ex-Soviet standard-making routine i think the official fishy-eyed
  221. V: representatives will silentlly vote pro to get some more time for raving
  222. V: in Western stores and nobody will use it since then.  The "working" standards
  223. V: in Russia aren't made by commitees.
  224.  
  225. Then this will have to change, or the Russian users will pay the price.
  226. Those of us external to Russia are in no position to involve ourselves in
  227. this process.  Any changes will have to originate in Russia.
  228.  
  229. I haven't seen you come right out and say the Cyrillic lexical order in
  230. the Unicode standard (characters U+0400->U+04FF) and in the ISO-8859-5 sets
  231. are "wrong".  Neither have I seen an alternative lexical order (with an
  232. accompanying rationale) put forth.
  233.  
  234. V: 3) there is no reasonable way to do hyphenation.
  235. V:    Since there is no way to tell language from the text there
  236. V:    is no way to do any reasonable attempts to hyphenate.
  237. V:    [OX - which language this word is from]?
  238. V: 
  239. V:    Good-bye wordprocessors and formatters?
  240.  
  241. T: By this, you are obviously not referring to idegrahic languages, such as
  242. T: Han, since hyphenation is meaningless for such languages.  Setting aside
  243. T: the argument that if you don't know how to hyphenate in a language, you
  244. T: have no business generating situations requiring hyphenation by virtue
  245. T: of the fact that you are basically illeterate in taht language... ;-).
  246.  
  247. V: The reason may be as simple as reformatting spreadsheet containing
  248. V: (particularly) addresses of companies in the language i don't comprehend
  249. V: (though i can write it on the envelope).
  250.  
  251. T: Hyphenation as a process is language dependent, and, in particular,
  252. T: dependent on the rendering mechanism (rendereing mechanisms are *not*
  253. T: the subject under discussion; storage mechanisms *are*).  Bluntly
  254. T: speaking, why does one need word processing software at all if this
  255. T: type of thing is codified?  Hyphenation, like sorting, is manipulation
  256. T: of the information in a native language specific way.
  257.  
  258. V: Exactly. But there is a lot of "legal" ways to do hyphenation -- and
  259. V: there are algorithms which do reasonably well knowing nothing about
  260. V: the language except which letters are vowels. It's quite enough
  261. V: for printing address labels. If i'm formatting a book i can specify the
  262. V: language myself.
  263.  
  264. Address information can not be hyphenated, at least in US and other Western
  265. mail of which I am personally aware.  This is a non-issue.  This is also
  266. something that is not the responsibility of the operating system or the
  267. storage mechanism therein... unless you are arguing that UFS knows to store
  268. documents without hyphenation, and that the "cat" and "more" programs will
  269. hyphenate for you.  If you are talking about ANY OTHER APPICATION, THE
  270. HYPHENATION IS THE APPLICATIONS RESPONSIBILITY.  PERIOD.  The fact that you
  271. will have to maintain vowel/consonent tables on a per language basis is
  272. an obvious outcome of the processing of multinational information.  It makes
  273. little difference to the application user how these tables are keyed.
  274.  
  275. T: Find another standard to tell you how to write a word processor.
  276.  
  277. V: Is there any? :-)
  278.  
  279. No, there isn't; that was the point.  It is not the intent of the Unicode
  280. standard to provide a means of performing the operations normally
  281. associated with word processing.  That is the job of the word processor, and
  282. is the reason people who write word processors are paid money by an employer
  283. rather than starving to death.
  284.  
  285.  
  286. V: 4) "the similar gliphs" in Unicode are often SLIGHTLY different
  287. V:    typographical gliphs -- everybody who ever dealt with international
  288. V:    publishing knows that fonts are designed as a WHOLE and every
  289. V:    letter is designed with all others in mind -- i.e. X in Cyrillic
  290. V:    is NOT the same X as Latin even if the fonts are variations of
  291. V:    the same style. I'd wish you to see how ugly the Russian
  292. V:    texts prited on American desktop publishing systems with
  293. V:    "few characters added" are.
  294. V: 
  295. V:    In reality it means that Unicode is not a solution for
  296. V:    typesetting.
  297.  
  298. T: No, you're right; neither is it a standard for the production of
  299. T: pipefittings or the design of urban transportation systems. 
  300.  
  301. V: You somehow forgot that increasing number of texts get printed with
  302. V: typographical quality with all the stuff which follows.
  303. V: Ever saw a laser printer?
  304.  
  305. Printing is simply another user-mode application program which can take
  306. advantage of the language indicators (whether on the file or in a document)
  307. for printing the prettiest, most lovely font of your choice.  You think
  308. there are not font-selection mechanisms within Postscript for doing this?
  309.  
  310. Again, font *changes* only become a problem if one attempts to print a
  311. *multinational* document.  Since we aren't interested in multinationalization,
  312. it's unlikely that a Unicode font containing all Unicode glyphs will be
  313. used for that purpose.
  314.  
  315. In all likelyhood, use will be in a localized environmentn *NOT* a
  316. multinational one.  Since this is the case, it follows that the sum total of
  317. the Unicode font implemented in the US will be the ISO Latin-1 set.
  318. Similarly, if you are printing a Cyrillic document, you will be using a
  319. Cyrillic font; the "X" character you are concerned about will be *localized*
  320. to the Cyrillic "X", *NOT* the Latin "X".
  321.  
  322.  
  323. V: I see no reasons why we should treat the regular expression matching
  324. V: as "fancy" feature.
  325.  
  326. Because globbing characters are language dependant.  The easiest example
  327. of this is the distingtion made between "localized" UNIX SVR4 for English
  328. vs. Spanish.  The fact is, the character set used for Spanish replaces
  329. several characters in the English set with other characters particular to
  330. Spanish (DOS is the foremost example of this, with it's reference to code
  331. pages and the fact that DOS file names fall within a very narrow set of
  332. characters).  The globbing ("regular expression pattern match") characters
  333. DO change for any patterns more complicated than "*".
  334.  
  335. T: Clearly, then, the applications you are describing are *not* Unicode
  336. T: applications, but "Fancy text" apllications which could potentially
  337. T: make use of Unicode for character storage.
  338.  
  339. V: Don't you think the ANY text is going to be fancy because Unicode
  340. V: as it is does not provide adequate means for the trivial operations?
  341.  
  342. Perhaps any multinational text, yes; for normal text, processing will be
  343. done using the localized form, not the Unicode form; therefore the issue
  344. will never come up, unless the application requires embedded attributes
  345. (like a desktop publishing package.  Since multinational processing is
  346. the exception rather than the rule, let the multinational users pay the
  347. proce in terms of "Fancy text".
  348.  
  349. V: As well i can provide every text with a font file. It is not a solution
  350. V: at all.
  351.  
  352. Quite right; but doing so would be redundant unless you were using a output
  353. device, such as a CRT or a printer.  It is the responsibility of the output
  354. device to present the data in a suitable format.  For the most part, except
  355. for printing, which is difficult enough currently, this will be done by
  356. using localized fonts containing only a part of the full Unicode set (that
  357. part necessary for the localization language in use for that session/user/file)
  358. and thus will be coherently defined within the context of it's localization.
  359.  
  360. Again, multinational software is not being addressed; however, were we to
  361. address the issue, I suspect that it would, in all cases, be implementation
  362. dependant upon the multinational application.
  363.  
  364. V: Thank you, i already expressed my opinion on Plan 9 UTF in comp.os.research.
  365. V: I also do not think it's exciting. There are much more efficient runic
  366. V: encodings (my toy OS uses 7bit per byte and 8th bit as a continuation
  367. V: indicator).
  368.  
  369. I don't know how stridently I can express this: runic encoding destroys
  370. information (such as file size = character count) and makes file system
  371. processing re character substituion totally unacceptable... consider the
  372. case of a substitution of a character requiring 3 bytes to encode for on
  373. that takes 1 byte (or 4 bytes) currently.  Say further that it is the
  374. first character in a 2M file.  You are talking about either shifting the
  375. contents of the entire file, or, MUCH WORSE, going to record oriented files
  376. for text.  If there is defacto attribution of text vs. other files (shifting
  377. the data is unacceptable.  period.), there is no reason to avoid making
  378. that attribution as meaningful as possible.
  379.  
  380. V: Pretty soon it will be a dead standard because of the logical problems
  381. V: in the design. Voting is inadequate replacement for logic, you know.
  382. V: I'd better stick to a good standard from Zambia than to the brain-dead
  383. V: creature of ISO even if every petty bureaucrat voted for it.
  384.  
  385. I agree; however, the peope involved were slightly more knowledgable about
  386. the subject than your average "petty bureaucrat".  And there has not been
  387. a suggested alternative, only rantings of "not Unicode".
  388.  
  389. V: I expressed my point of view (and proposed some kind of solution) in
  390. V: comp.std.internat, where the discussion should belong. I'd like you to
  391. V: see the problem not as an excercise in wrestling consensus from an
  392. V: international body but as a mathematical problem. From the logistical
  393. V: point of view the solution is simply incorrect and no standard commitee
  394. V: can vote out that small fact. The fundamental assumption Unicode is
  395. V: based upon (i.e. one glyph - one code) makes the whole construction
  396. V: illogical and it, unfortunately, cannot be mended without serious
  397. V: redesign of the whole thing.
  398.  
  399. Wrong, wrong, wrong.
  400.  
  401. 1)    We are not discussiong the embodiment of a standard, but the
  402.     applicability of existing standards to a particular problem.
  403.     Basically, we could care less about anything other than the
  404.     existing or draft standards and their suitability to the task
  405.     at hand, the international enabling of 386BSD.
  406.  
  407. 2)    We are not interested in "arriving" at a new standard or defending
  408.     existing or draft standards, except as regards their suitability
  409.     to our goal of enabling.
  410.  
  411. 3)    The proposal of new soloutions (new standards) is neither useful
  412.     nor interesting, in light of our need being "now" and the adoption
  413.     of a new soloution or standard being "at some future date".
  414.  
  415. 4)    Barring a suggestion of a more suitable standard, I and others
  416.     will begin coding to the Unicode standard.
  417.  
  418. 5)    Since we are discussing adoption of a standard for enabling of
  419.     localization of 386BSD, and are neither intent on a general defense
  420.     of any existing standard, nor the proposal of changes to an
  421.     existing standard or the emobodiment of a new standard, this
  422.     discussion doe *NOT* belong in comp.std.internat, since the
  423.     subscribers of comp.unix.bsd are infinitely more qualified to
  424.     determine which existing or draft standard they wish to use
  425.     without a discussion of multinationalization (something only
  426.     potentially useful to a limited audience, and then only at some
  427.     future date when multinational processing on 386BSD becomes a
  428.     generally desirable feature.
  429.  
  430.  
  431. V: Try to understand the argument about the redundance of encoding with
  432. V: external restrictions provided i used earlier in this letter. The
  433. V: Unicode commitee really get caught in a logical trap and it's a pity
  434. V: few people realize that.
  435.  
  436. I *understand* the argument; I simply *disagree* with it's applicability
  437. to anything other than enabling multinationalization as opposed to
  438. enabling localization, which is the goal.
  439.  
  440.  
  441.                     Terry Lambert
  442.                     terry@icarus.weber.edu
  443.                     terry_lambert@novell.com
  444. ---
  445. Any opinions in this posting are my own and not those of my present
  446. or previous employers.
  447. -- 
  448. -------------------------------------------------------------------------------
  449.                                         "I have an 8 user poetic license" - me
  450.  Get the 386bsd FAQ from agate.berkeley.edu:/pub/386BSD/386bsd-0.1/unofficial
  451. -------------------------------------------------------------------------------
  452.