home *** CD-ROM | disk | FTP | other *** search
/ The World of Computer Software / World_Of_Computer_Software-02-386-Vol-2of3.iso / v / viscii11.zip / REPORT.TX8 < prev   
Text File  |  1993-01-14  |  210KB  |  3,846 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.            VIETNAMESE CHARACTER ENCODING STANDARDIZATION REPORT
  11.  
  12.  
  13.  
  14.  
  15.           VISCII AND VIQR 1.1 CHARACTER ENCODING SPECIFICATIONS
  16.  
  17.  
  18.  
  19.  
  20.  
  21.  
  22.  
  23.  
  24.  
  25.  
  26.  
  27.  
  28.  
  29.  
  30.  
  31.  
  32.  
  33.  
  34.  
  35.  
  36.  
  37.  
  38.  
  39.  
  40. ============================================================================
  41.  
  42.  
  43.  
  44.  
  45. Bilingual Report
  46. Viet-Std, September 1992
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.  
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.  
  71.  
  72.  
  73.        (c) Copyright 1992, Viet-Std.  All rights reserved.  Permission in
  74.            hereby granted for limited use, duplication, and distribution,
  75.            in whole or in part, provided that no modifications are made.
  76.            All documentation is provided without express or implied warranty.
  77.  
  78.  
  79.  
  80.            The Viet-Std Group
  81.            1212 Somerset Drive
  82.            San Jose, California 95132
  83.            U.S.A.
  84.  
  85.  
  86.  
  87.  
  88.                               TABLE OF CONTENTS
  89.                               ~~~~~~~~~~~~~~~~~
  90.  
  91.  
  92.  
  93. PREFACE ...................................................................  1
  94.  
  95. TH┐ NGÖ G╝I QU═ Vÿ TRONG NG└NH ╨IÄN TO┴N ..................................  3
  96.  
  97. A UNIFIED FRAMEWORK FOR VIETNAMESE INFORMATION PROCESSING .................  7
  98.  
  99.   Abstract ................................................................  7
  100.  
  101.   1. INTRODUCTION .........................................................  7
  102.  
  103.   2. REVIEW OF CURRENT CONVENTIONS ........................................ 10
  104.  
  105.   3. VISCII: 8-BIT ENCODING SPECIFICATION FOR VIETNAMESE .................. 11
  106.      3.1 MOTIVATION ....................................................... 11
  107.      3.2 ENCODING RATIONALE ............................................... 13
  108.  
  109.   4. VIQR: MNEMONIC ENCODING SPECIFICATION FOR VIETNAMESE ................. 16
  110.      4.1 MOTIVATION ....................................................... 16
  111.      4.2 QUOTED-READABLE SPECIFICATION (VIQR) ............................. 18
  112.          4.2.1 Implicit Composition ....................................... 18
  113.          4.2.2 Explicit Composition ....................................... 19
  114.          4.2.3 Literal State .............................................. 19
  115.          4.2.4 English State .............................................. 20
  116.          4.2.5 Vietnamese State ........................................... 20
  117.          4.2.6 Character Literals in English and Vietnamese States ........ 20
  118.          4.2.7 Closure .................................................... 21
  119.  
  120.   5. SPECIFIC APPLICATIONS ................................................ 21
  121.      5.1 ELECTRONIC MAIL OVER 7-BIT CHANNELS .............................. 21
  122.      5.2 VIETNAMESE KEYBOARDING ........................................... 22
  123.          5.2.1 Immediate Echo for Implicit Composition .................... 22
  124.          5.2.2 Delayed Echo for Explicit Composition ...................... 23
  125.      5.3 ADAPTING EXISTING VIETNAMESE APPLICATIONS ........................ 24
  126.  
  127.   6 SUMMARY & CONCLUSIONS ................................................. 24
  128.  
  129.   REFERENCES .............................................................. 24
  130.  
  131.   GLOSSARY OF TERMS ....................................................... 26
  132.  
  133.   APPENDIX A: Vietnamese Characters under VISCII and VIQR
  134.               by Collating Order .......................................... 29
  135.  
  136.   APPENDIX B: Vietnamese Characters under VISCII and VIQR
  137.               by Encoding Order ........................................... 30
  138.  
  139.  
  140.                                         iii
  141.  
  142. MôT KHU╘N KHæ THÅNG NHäT CHO VIÄC X╝ L▌ D  KIÄN VIÄT NG  .................. 32
  143.  
  144.   T≤m L▀■c ................................................................ 32
  145.  
  146.   1. LûI GIòI THIÄU ....................................................... 32
  147.  
  148.   2. DUYÄT LÇI NH NG QUY ┐òC HIÄN THûI .................................... 33
  149.  
  150.   3. VISCII: QUY ╨ÿNH M├ 8-BIT CHO VIÄT NG  ............................... 37
  151.      3.1 ╨ôNG L╣C  ........................................................ 37
  152.      3.2 C┴C L▌ DO BIÄN MINH VIÄC M├ H╙A .................................. 37
  153.  
  154.   4. VIQR: QUY ╨ÿNH VIÄT NG  ╨ÜC-╨┐öC-TRONG-NGOâC ......................... 41
  155.      4.1 ╨ôNG L╣C ......................................................... 41
  156.      4.2 QUY ╨ÿNH "╨ÜC ╨┐öC-TRONG-NGOâC" (VIQR) ........................... 43
  157.            4.2.1 PhΘp T╒o Chµ NgÑm ........................................ 43
  158.            4.2.1 PhΘp T╒o Chµ Ch∩ ╨╕nh .................................... 42
  159.            4.2.3 Tr╒ng Thßi NguyΩn D╒ng ................................... 44
  160.            4.2.4 Tr╒ng Thßi Anh Ngµ ....................................... 45
  161.            4.2.5 Tr╒ng Thßi Vi«t Ngµ ...................................... 45
  162.            4.2.6 NguyΩn T± Trong Tr╒ng Thßi Anh Ngµ vα Vi«t Ngµ ........... 45
  163.            4.2.7 K² t± Hoαn Cñu ........................................... 46
  164.  
  165.   5. C┴C ║NG D₧NG ╨âC BIÄT ................................................ 46
  166.      5.1 ╨IÄN TH┐ CHUYîN QUA MÇCH 7-BIT ................................... 46
  167.      5.2 ╨┴NH CH  VIÄT .................................................... 47
  168.            5.2.1 Cßch T╒o H∞nh Lºp T╤c Trong PhΘp T╒o Chµ NgÑm ............ 47
  169.            5.2.2 Cßch T╒o H∞nh Chºm Trong PhΘp T╒o Chµ Ch∩ ╨╕nh ........... 48
  170.      5.2 HöP TH║C H╙A ║NG D₧NG VIÄT NG  HIÄN H└NH ......................... 49
  171.  
  172.   6. T╙M TüT & KèT LUçN ................................................... 49
  173.  
  174.   T└I LIÄU THAM KH─O ...................................................... 49
  175.  
  176.   THUçT NG  ANH-VIÄT ...................................................... 51
  177.  
  178.   Ph° L°c A: Mτu T± Vi«t Li«t KΩ Theo Th╤ T± Síp Chµ ...................... 58
  179.   Ph° L°c B: Mτu T± Vi«t Li«t KΩ Theo Th╤ T± Mπ S» ........................ 59
  180.  
  181.   
  182. ANNOUNCEMENT OF VISCII-COMPLIANT SOFTWARE APPLICATIONS .................... 61
  183.  
  184.   1. FOR UNIX & X-WINDOWS ................................................. 61
  185.  
  186.   2. FOR MS-WINDOWS ....................................................... 63
  187.  
  188.   3. FOR MS-DOS ........................................................... 64
  189.  
  190.   4. WORK IN PROGRESS ..................................................... 65
  191.  
  192.   5. PROPOSED PROJECTS .................................................... 65
  193.  
  194.                                        iv
  195.  
  196.   6. GETTING SOFTWARE ..................................................... 66
  197.      6.1 Using Anonymous ftp .............................................. 66
  198.      6.2 Using Modem or MailServer at Saigon.COM .......................... 67
  199.      6.3 Using Modem to Phsys.COM ......................................... 68
  200.      6.4 Using Post Office ................................................ 68
  201.  
  202.   7. COPYRIGHT ............................................................ 69
  203.  
  204.   8. ABOUT THE TRICHLOR GROUP ............................................. 69
  205.  
  206.  
  207.  
  208.  
  209.  
  210.  
  211.  
  212.  
  213.  
  214.  
  215.  
  216.  
  217.  
  218.  
  219.  
  220.  
  221.  
  222.  
  223.  
  224.  
  225.  
  226.  
  227.  
  228.  
  229.  
  230.  
  231.  
  232.  
  233.  
  234.  
  235.  
  236.  
  237.  
  238.  
  239.  
  240.  
  241.  
  242.  
  243.  
  244.  
  245.  
  246.  
  247.  
  248.                                        v
  249.  
  250.                                    PREFACE
  251.  
  252.  
  253.  
  254. The Vietnamese Standardization Group (Viet-Std) was formed in the fall of 1989
  255. to promote the standardization of Vietnamese character encoding and to monitor
  256. ongoing work of international bodies in  this  regard.   The  group  has  been
  257. working on designing and implementing a code table that can be integrated into
  258. existing computing environments on many platforms.  In addition, the group has
  259. contacted the two committees on multilingual character encoding---the  Unicode
  260. Consortium and  the  International  Standardizations  Organization  (ISO)---to
  261. request that the Vietnamese characters be encoded in a precomposed form in the
  262. same manner as other Latin-based European languages.   All these efforts  will
  263. be reported fully in a special issue to be published in the near future.  This
  264. special report collects only works concerning the 7- and  8-bit  encodings  of
  265. the Vietnamese alphabet.
  266.  
  267.     The first article is a cover letter  in  Vietnamese  that  summarizes  the
  268. Viet-Std Group's work in  the  area  of  7-  and  8-bit  Vietnamese  character
  269. encoding.
  270.  
  271.     The second article covers the Vietnamese character encoding  in  7  and  8
  272. bits.   It reviews the pros and cons of current encoding schemes and discusses
  273. the vital need to  integrate  into  existing  computing  environments  that  a
  274. standard must address.  It then presents the Viet-Std's 8-bit proposal for the
  275. Vietnamese Standard Code for Information Interchange (known as VISCII)  and  a
  276. Vietnamese  Quoted-Readable  convention   (VIQR)   to   represent   Vietnamese
  277. characters in 7-bit ASCII.   The article also  examines  some  guidelines  and
  278. conventions in handling  Vietnamese  electronic  mail  over  7-bit  channnels,
  279. Vietnamese keyboarding,  and adapting existing  Vietnamese  applications.   It
  280. includes two appendices listing both VISCII and VIQR for reference purposes.
  281.  
  282.     The third article is the Vietnamese translation of the above to serve  the
  283. general Vietnamese community.
  284.  
  285.     The last item included in this report is the  announcement  of  the  third
  286. release of public-domain  Vietnamese  software  by  the  TriChlor  Group.   It
  287. summarizes software packages either developed or enhanced by TriChlor  members
  288. and other independent developers to run on the Unix, X-Windows,  DOS,  and MS-
  289. Windows platforms.
  290.  
  291.     Since the release of version 1.0 in January  1992,  VISCII  has  undergone
  292. only one change---swapping the  two  characters  ╒  (a  dot-below)  and  á  (O
  293. tilde)--- to accommodate MS-Windows. To reflect this change,  the versions  of
  294. VISCII and VIQR published in this report are called VISCII 1.1  and  VIQR  1.1
  295. although VIQR was unchanged.   This report therefore supercedes  all  previous
  296. publications concerning VISCII and VIQR.
  297.  
  298.     A brief history of the Vietnamese Standardization Group is in order.   The
  299. group was born out of the Viet-Net electronic mailing  list,  which  comprised
  300. members at companies and universities throughout the computing world.   At the
  301.  
  302.                                          1
  303.                                                                          2
  304. time,  Vietnamese software for publishing existed  commercially  only  on  the
  305. personal computer platform,  but each package  was  limited  to  its  designed
  306. function and could not be  easily intermixed with others. No standard encoding
  307. existed.   Developers designed their own  schemes  to  perform  the  job  they
  308. needed. Even Viet-Net itself had invented a 7-bit mnemonic writing  style  for
  309. Vietnamese for use in e-mail.   For example, "N▀╛c Vi«t Nam" would be typed as
  310. "Nu+o+'c Vie^.t Nam."  Everyone agreed that some form of  standardization  was
  311. necessary so as to promote availability of and access to Vietnamese computing,
  312. and Viet-Net provided the forum that electronically brought together  for  the
  313. first time a large number of individuals committed to this  goal.   With  this
  314. specific interest in mind,  Viet-Std was formed  by  Thαnh  Vσn  Nguy¡n,   and
  315. standardization    discussions   moved   to   the    mailing    list    "Viet-
  316. Std@images.Sun.COM"  and  later   to   "Viet-Std@Haydn.Stanford.EDU."    Early
  317. contributors included  C▀╢ng  Tñn  Nguy¡n,  TΓm  Nguy¡n,  NhΓn  TrÑn,  Randall
  318. Atkinson,  Khoa T⌠n,  KhiΩm H░,  T▀╛c L▀╜ng,  and many others too numerous  to
  319. acknowledge properly.   Later joining the group were C▀╜ng Minh B∙i,  H≈c ╨∞nh
  320. Ng⌠,  and others.   This special report is a testimony to the success  of  the
  321. group.   In addition, the group has contributed its expertise to international
  322. organizations on matters relevant to Vietnamese encoding;  the details will be
  323. reported in a separate issue.
  324.  
  325.     It should be mentioned that TriChlor Software (a  non-profit  experimental
  326. group) was formed by  C▀╢ng  Tñn  Nguy¡n,  C▀╜ng  Minh  B∙i,  and  Tφn  LΩ  to
  327. independently explore and implement any encoding scheme for Vietnamese to gain
  328. real experience with the  pros  and  cons  in  each  scheme.   It  has  helped
  329. integrate VISCII-compliant Vietnamese  into  popular  public  domain  software
  330. products.
  331.  
  332.     It is our dream one day to be able to read, write, and exchange Vietnamese
  333. data of a common format on any machine, any platform, and to take advantage of
  334. all the processing tools that have been produced by the computing  world. That
  335. dream,  once a pure exercise in imagination,  has today come many steps closer
  336. to realization.
  337.  
  338.  
  339.  
  340. Viet-Std Vietnamese Standardization Group
  341. California, USA
  342. September 1992
  343.  
  344.  
  345.  
  346.  
  347.  
  348.  
  349.  
  350.          TH┐ NGÖ G╝I QU═-Vÿ TRONG NG└NH ╨IÄN-tO┴N  C┘NG TäT-C─ QU═-Vÿ
  351.  
  352.                     QUAN-T┬M  ╨èN VIÄC M├-H╙A CH  VIÄT-NAM
  353.  
  354.  
  355.  
  356.  
  357. Kφnh th▀a quφ v╕:
  358.  
  359.  
  360. Ch·ng t⌠i lα m╡t nh≤m chuyΩn viΩn Vi«t Nam ╖ hΣi ngo╒i  c╡ng  tßc  trong  tinh
  361. thÑn v⌠ v° l■i ≡¼ theo d⌡i vα ≡≤ng g≤p ² ki¬n chuyΩn m⌠n v½ chµ Vi«t  Nam  v╛i
  362. cßc Vi«n ╨╕nh Chuªn Tin H≈c hoúc cßc c⌠ng ty ≡i«n toßn c≤  tÑm  v≤c  qu»c  t¬.
  363. Trong th╢i gian qua ch·ng t⌠i ≡π vºn ≡╡ng tφch c±c v╛i t▒ ch╤c Unicode vα Vi«n
  364. ╨╕nh Chuªn ISO ≡¼ h≈  tiΩu  chuªn  h≤a  b╡  Vi«t-t±-mπ  (Vietnamese  character
  365. encoding) trong khu⌠n kh▒ b╡ mπ chµ qu»c t¬ 16-bit vα 32-bit trong chi½u h▀╛ng
  366. c≤ l■i nhñt.  Ngoαi ra, ch·ng t⌠i ≡π nghiΩn c╤u vα ≡½ ngh╕ b╡ Vi«t-t±-mπ 7-bit
  367. vα 8-bit ≡¼ giΣi quy¬t nhu cÑu phßt tri¼n vα trao ≡▒i nhu li«u hi«n  nay.   B╡
  368. t±-mπ 8-bit c≤ tΩn  Anh  ngµ  lα  Vietnamese  Standard  Code  for  Information
  369. Interchange hay g≈i tít lα VISCII ≡¼ phΓn bi«t v╛i cßc b╡  t±-mπ  khßc.   TiΩu
  370. chuªn 7-bit ≡▀■c  g≈i  lα  Quy-tíc  ╨≈c-╨▀■c-Trong-Ngoúc  (Vietnamese  Quoted-
  371. Readable Specification) hay g≈i tít lα VIQR.  ╨Γy lα ≡½ tαi chφnh mα ch·ng t⌠i
  372. mu»n thΣo luºn v╛i quφ v╕ qua lß th╜ nαy.
  373.  
  374.     Tr▀╛c h¬t ch·ng t⌠i xin tr∞nh bαy v½ b╡ t±-mπ 8-bit VISCII.   ╨i¼m qua quß
  375. tr∞nh phßt tri¼n ngαnh ≡i«n toßn d∙ng chµ Vi«t ╖ hΣi  ngo╒i,  ch·ng  t⌠i  nhºn
  376. thñy hÑu nh▀ m▓i c⌠ng ty hay m▓i nh≤m t± ≡út ra cho m∞nh  m╡t  b╡  Vi«t-t±-mπ,
  377. v╛i h« quΣ tñt nhiΩn lα nhu li«u kh⌠ng th¼ trao ≡▒i d¡ dαng  v╛i  nhau. Do  ≡≤
  378. ch·ng t⌠i ≡π quy¬t ≡╕nh nghiΩn c╤u m╡t b╡ Vi«t-t±-mπ  tiΩu  chuªn  (Vietnamese
  379. character encoding standard) nhóm giΣi quy¬t t∞nh tr╒ng nαy.
  380.  
  381.     Nh▀ quφ v╕ ≡π r⌡,  ≡a s» nhu li«u hi«n nay ≡▀■c vi¬t d±a trΩn n½n tΣng m▓i
  382. mτu t± ≡▀■c mπ h≤a bóng 8-bit (1 byte).  V╛i 8-bit ch·ng ta c≤ th¼ mπ h≤a ≡▀■c
  383. 256 mτu t± hoúc tφn hi«u khßc nhau.   V∞ nhµng l² do c≤ tφnh cßch l╕ch s╪,  b╡
  384. t±-mπ ASCII cⁿa Hoa k╧ d∙ng 128 mπ s» (code point or code value) ≡Ñu  tiΩn  ≡π
  385. tr╖ thαnh tiΩu chuªn qu»c t¬. B╡ t±-mπ nαy bao g░m  32  tφn  hi«u  ≡i½u  khi¼n
  386. (control character) c≤ mπ s» t╫ 0 ≡¬n 31,  vα 96 mπ s» c≥n l╒i dαnh cho m╡t s»
  387. mτu t± La tinh, dñu chñm cΓu hoúc k² hi«u.  (╨¼ ti«n vi«c thΣo luºn, ch·ng t⌠i
  388. t╒m d╕ch control character lα ki¼m-t±,  cßc chµ c≥n l╒i lα k²-t±.   ╨╤ng  trΩn
  389. quan ≡i¼m ≡i«n toßn, ch·ng ta phΣi ≡╕nh nghεa thΩm mπ-t± lα bñt c╤ cßi g∞ ≡▀■c
  390. t▀■ng tr▀ng bóng m╡t mπ s»;  m▓i mπ-t± t▀╜ng ╤ng v╛i m╡t mπ s» vα ng▀■c  l╒i.)
  391. PhÑn c≥n l╒i (128 mπ s» t╫ 128 ≡¬n 255) th▀╢ng ≡▀■c quy ≡╕nh vα  s╪  d°ng  t∙y
  392. theo nhu cÑu cⁿa m▓i qu»c gia hoúc t╫ng b╡ nhu li«u.   Nh▀ vºy ch·ng ta c≤ th¼
  393. tiΩu chuªn h≤a 128 mπ s» nαy cho cßc mτu t± Vi«t Nam kh⌠ng nóm trong danh sßch
  394. 128 chµ ASCII.
  395.  
  396.     TrΩn th±c t¬ vi«c mπ h≤a chµ Vi«t lα cΣ m╡t vñn ≡½ ph╤c  t╒p.   Ngoαi  cßc
  397. ph° Γm,  ch·ng ta c≤ 12 nguyΩn Γm chφnh (A ┼ ┬ E ╩ I O ╘ ┤ U ┐ Y) vα 60 nguyΩn
  398. Γm khßc ≡▀■c t╒o thαnh do cßc nguyΩn Γm chφnh k¬t h■p v╛i 5  dñu  gi≈ng  (síc,
  399. huy½n, h÷i, ngπ,  núng).   Nh▀ vºy chµ Vi«t c≤ tñt cΣ 144 nguyΩn Γm v╫a th▀╢ng
  400. v╫a hoa.  Ch·ng ta c≤ th¼ k¼ ra hai ph▀╜ng phßp chφnh ≡¼ mπ h≤a nguyΩn Γm Vi«t
  401.  
  402.                                          3
  403.                                                                          4
  404. Nam nh▀ sau:
  405.     1. M▓i nguyΩn Γm chφnh vα m▓i dñu gi≈ng ≡▀■c xem nh▀ cßc mπ-t± riΩng bi«t,
  406.        nghεa lα ch∩ cÑn 29 mπ s» ≡¼ mπ h≤a 12 nguyΩn Γm chµ th▀╢ng,  12 nguyΩn
  407.        Γm chµ hoa vα 5 dñu gi≈ng. Thφ d°, mτu t± └ ≡▀■c xem nh▀ g░m c≤ hai mπ-
  408.        t± "A" vα mπ-t± "`".
  409.  
  410.     2. M▓i nguyΩn Γm,  vα dñu gi≈ng n¬u c≤,  ≡▀■c xem nh▀ m╡t mτu t± duy  nhñt
  411.        (mπ-t±),  nghεa lα phΣi cÑn ≡¬n 144 mπ s» ≡¼ mπ h≤a tñt  cΣ  nguyΩn  Γm
  412.        Vi«t.
  413.  
  414.     Ph▀╜ng phßp ≡Ñu tiΩn, c≥n ≡▀■c g≈i lα ph▀╜ng phßp dñu r╢i, ≡π ≡▀■c ßp d°ng
  415. ╖ nhi½u qu»c gia d∙ng chµ La-tinh c≤ dñu ph° (diacritical  mark).   Nh▀ng  quß
  416. tr∞nh th╪ nghi«m cho thñy ph▀╜ng phßp nαy c≤ khuy¬t ≡i¼m l╛n lao v½ nhi½u  mút
  417. nh▀ t»c ≡╡ x╪ l² giΣm s·t,  nhu cÑu v½ s╤c ch╤a (storage) vα b╡  nh╛  (memory)
  418. gia tσng,  vi«c thΣo ch▀╜ng ph╤c t╒p,  kh⌠ng th¼ tφch h■p vαo m⌠i  tr▀╢ng  nhu
  419. li«u vα c▀╜ng li«u hi«n hµu ...   V∞ nhµng l² do nαy,  ph▀╜ng phßp dñu r╢i hÑu
  420. nh▀ kh⌠ng c≥n ≡▀■c s╪ d°ng trong k█ ngh« ≡i«n toßn hi«n nay.
  421.  
  422.     ╨¼ c≤ th¼ h╡i nhºp vαo n½n k█ ngh« ≡i«n toßn cⁿa th¬ gi╛i,  ch·ng ta  phΣi
  423. chñp nhºn giΣi phßp th╤ hai,  nghεa lα phΣi mπ h≤a m╡t s» l▀■ng rñt l╛n mτu t±
  424. Vi«t.   Tr╫ m╡t s» chµ Vi«t ≡π c≤ s╟n trong b╡ t±-mπ ASCII, ch·ng ta c≤ tñt cΣ
  425. 134 mτu t±  cÑn phΣi mπ h≤a trong khi ch∩ c≤ 128 mπ  s»  c≥n  tr»ng  mα  th⌠i.
  426. Cßch giΣi quy¬t th⌠ng th▀╢ng lα t∞m cßch thay th¬ 6 mπ-t± ASCII nαo ≡≤ bóng  6
  427. mτu t± Vi«t.   C≤ rñt nhi½u cßch nh▀ng cßch nαo c√ng vñp phΣi  m╡t  s»  khuy¬t
  428. ≡i¼m riΩng.
  429.  
  430.     Sau khi phΓn tφch k█ cαng vñn ≡½ vα c╤u xΘt  cΣ  chi½u  h▀╛ng  phßt  tri¼n
  431. c▀╜ng li«u vα nhu li«u trong t▀╜ng lai,  nh≤m Viet-Std ≡π giΣi quy¬t bαi  toßn
  432. nαy d±a trΩn cσn bΣn tri«t ≡¼ bΣo toαn 96 k² t± ASCII trong v∙ng G0  (mang  mπ
  433. s» 32 ≡¬n 127).   Quy¬t ≡╕nh nαy ≡▀■c tr∞nh bαy k█ cαng trong bαi Anh  Ngµ  in
  434. l╒i trong tºp nαy [xem tr. 6--22],  nh▀ng trong ph╒m vi lß th╜ nαy c≤ th¼ ≡▀■c
  435. t≤m tít nh▀ sau: bóng cßch bΣo toαn 96 k² t± ASCII ch·ng ta c≤ th¼ s╪ d°ng hÑu
  436. h¬t nhu li«u vα c▀╜ng li«u sΣn xuñt khíp n╜i trΩn th¬ gi╛i mα kh⌠ng  phΣi  ≡Ñu
  437. t▀ nhΓn l±c vα tαi nguyΩn vαo vi«c ≡i½u ch∩nh hoúc bi¬n ≡▒i cho thφch h■p  v╛i
  438. chµ Vi«t Nam,  c° th¼ nh▀ b╡ d╕ch (compiler),  khi¼n  h«  (operating  system),
  439. khung X (X windows),  v.v...   Ch∩ c≤ cßch giΣi quy¬t nαy m╛i gi·p ch·ng ta s╪
  440. d°ng ≡▀■c nhµng thαnh quΣ k█ thuºt m╛i mδ nhñt trΩn th¬ gi╛i.
  441.  
  442.     V╛i ph▀╜ng chΓm trΩn,  ch·ng t⌠i ≡π thay th¬ 6 ki¼m-t± ASCII trong v∙ng C0
  443. bóng 6 mτu t± Vi«t Nam , , , ,  vα .   Ngoαi ra,  d±a trΩn b╡ t±-mπ tiΩu
  444. chuªn 8859/Latin-1 dαnh cho cßc n▀╛c TΓy ┬u, ch·ng t⌠i c√ng quy¬t ≡╕nh duy tr∞
  445. mπ s» cⁿa tñt cΣ chµ Vi«t ≡π c≤ s╟n trong tiΩu chuªn nαy.   Tñt cΣ chi ti¬t v½
  446. b╡ t±-mπ 8-bit VISCII ≡▀■c tr∞nh bαy r⌡ rαng trong ch▀╜ng 3 cⁿa  bαi  Anh  ngµ
  447. [xem tr. 8-11] vα bΣn d╕ch Vi«t ngµ [xem tr. 26--29].
  448.  
  449.     Sau ≡Γy ch·ng t⌠i xin s╜ l▀■c v½ Quy-≡╕nh ╨≈c-╨▀■c-Trong-Ngoúc,  VIQR. ╨Γy
  450. lα quy luºt vi¬t chµ Vi«t Nam bóng b╡ t±-mπ 7-bit ASCII cⁿa Hoa-K╧. ╨π t╫  lΓu
  451. c╡ng ≡░ng ng▀╢i Vi«t ╖ hΣi ngo╒i th▀╢ng hay s╪ d°ng h∞nh th╤c nαy ≡¼ trao  ≡▒i
  452. ≡i«n th▀ bóng ti¬ng Vi«t trΩn cßc mßy vi tφnh kh⌠ng c≤ chµ Vi«t Nam.  Theo quy
  453. ≡╕nh nαy, cßc dñu ≡▀■c ≡ßnh sau cßc nguyΩn Γm; dñu síc, huy½n, h÷i, ngπ,  núng
  454. ≡▀■c thay th¬ bóng cßc k² hi«u ASCII Hoa-K╧ c≤ d╒ng t▀╜ng t± lα "'", "`", "?",
  455. "~", ".", dñu trσng (dñu ß) ≡▀■c thay bóng "(", dñu m√ bóng "^",  dñu m≤c (nh▀
  456.                                                                          5
  457. trong chµ ┤, ┐) bóng "+",  vα chµ ≡ ≡▀■c thay th¬ bóng "dd".   Ch╞ng h╒n,  hai
  458. cΓu th╜ Ki½u cⁿa c° Nguy¡n Du:
  459.  
  460.            Trσm nσm trong c⌡i ng▀╢i ta
  461.            Chµ tαi chµ m«nh khΘo lα ghΘt nhau
  462.  
  463. s¿ hi«n ra nh▀ sau khi vi¬t theo quy ≡╕nh VIQR:
  464.  
  465.            Tra(m na(m trong co~i ngu+o+`i ta
  466.            Chu+~ ta`i chu+~ me^.nh khe'o la` ghe't nhau
  467.  
  468.     Tuy nhiΩn m╡t s» ng▀╢i l╒i thφch d∙ng cßc k² hi«u khßc,  ch╞ng h╒n nh▀ "*"
  469. t▀■ng tr▀ng cho dñu m≤c,  "<" thay cho dñu trσng,  "\"  thay  cho  dñu  huy½n,
  470. v.v...   Nh▀ng v╛i vai tr≥ lα m╡t tiΩu chuªn,  VIQR phΣi ñn ≡╕nh m╡t quy  luºt
  471. duy nhñt vα t»i thi¼u ≡¼ lαm c╜ s╖ th»ng nhñt cho  vi«c  trao  ≡▒i  nhu  li«u,
  472. nghεa lα m▓i dñu Vi«t Nam phΣi ≡▀■c t▀■ng tr▀ng bóng m╡t  vα  ch∩  m╡t  k²  t±
  473. ASCII mα th⌠i.   V╛i s± s╪ d°ng r╡ng rπi bαn ≡ßnh chµ ASCII  trong  gi╛i  ≡i«n
  474. toßn Vi«t Nam,  ch·ng t⌠i quy¬t ≡╕nh ch≈n quy ≡╕nh VIQR d±a  trΩn  nguyΩn  tíc
  475. th±c d°ng lα d¡ ≡≈c vα d¡ nh╛ cho tuy«t ≡╒i ≡a s» ng▀╢i d∙ng.   Quy luºt  VIQR
  476. ≡▀■c m⌠ tΣ chi ti¬t trong ch▀╜ng 4 cⁿa tαi li«u Anh Ngµ vα Vi«t ngµ ≡φnh kΦm.
  477.  
  478.     Ti«n ≡Γy ch·ng t⌠i c√ng xin nhñn m╒nh lα b╡ Vi«t-t±-mπ 8-bit VISCII vα quy
  479. ≡╕nh 7-bit VIQR ≡π ≡▀■c ph▒ bi¬n r╡ng rπi trΩn cßc m╒ng th⌠ng  tin  ≡i«n  toßn
  480. (computer network) ╖ Hoa K╧ vα cßc qu»c gia tiΩn ti¬n khßc trΩn toαn th¬ gi╛i.
  481. Cßc chuyΩn viΩn ≡i«n toßn Vi«t Nam ╖ hΣi ngo╒i ≡π d∙ng nhµng  tiΩu  chuªn  nαy
  482. ≡¼ vi¬t  nhu  li«u  ╤ng-d°ng  (software  application)  hoúc  nhu-li«u  d°ng-c°
  483. (software tool) cho khi¼n h« DOS vα Unix.  Nhµng nhu li«u nαy ≡π ≡▀■c cΣ ng▀╢i
  484. vi¬t lτn ng▀╢i d∙ng tríc nghi«m trΩn cßc mßy nh▀ PC, AT, 386/486, workstation,
  485. mainframe,  v.v... trong m╡t th╢i gian khß lΓu dαi vα th±c t¬ cho thñy tñt  cΣ
  486. ≡½u vºn hαnh t»t ≡⌐p v╛i dµ li«u Vi«t ngµ. Trong ph╒m vi lß th╜ nαy, ch·ng t⌠i
  487. xin t≤m tít nhµng sΣn phªm sau ≡Γy:
  488.  
  489.     * ch▀╜ng tr∞nh bi¬n ≡▒i dµ li«u ╖ d╒ng 7-bit VIQR sang d╒ng  8-bit  VISCII
  490.       vα ng▀■c l╒i.
  491.  
  492.     * ╤ng d°ng ≡i½u khi¼n bαn chµ Vi«t trong m⌠i tr▀╢ng Unix, DOS,  MS-Windows
  493.       3.1.   ║ng d°ng nαy cho phΘp ng▀╢i d∙ng ≡ßnh chµ Vi«t trΩn bαn chµ ASCII
  494.       Hoa K╧ nh▀ng mαn Σnh s¿ hi«n ra chµ Vi«t Nam.
  495.  
  496.     * ╤ng d°ng mαn Σnh Vi«t ch╒y trong khung X (X windows) hoúc  khung  MS-DOS
  497.       (MS-DOS windows).
  498.  
  499.     * ╤ng d°ng th▀ tφn cho phΘp ≡≈c vα vi¬t th▀ bóng 8-bit VISCII nh▀ng s¿  t±
  500.       ≡╡ng bi¬n ≡▒i th▀ thαnh d╒ng 7-bit VIQR khi l▀u trµ hoúc g╪i ≡i.
  501.  
  502.     * ╤ng d°ng in dµ li«u 8-bit VISCII trΩn cßc  mßy  in  Laser,  ma-trºn-≡i¼m
  503.       (dot matrix), hoúc PostScript.
  504.  
  505.     * ╤ng d°ng vi¬t bαi (editor) d∙ng 8-bit VISCII.
  506.  
  507.     * cßc nhu-li«u d°ng-c° vα nhu li«u th▀ vi«n  (library)  th▀╢ng  d∙ng  trΩn
  508.       khi¼n h« Unix, DOS.
  509.                                                                          6
  510.     * ╤ng d°ng bΣng tφnh (speadsheet) ch╒y trΩn Unix.
  511.  
  512.     * ╤ng d°ng s▀ ph╒m d∙ng ≡¼ ra cΓu ≡» hoúc ≡½ thi tríc nghi«m ti¬ng Vi«t.
  513.  
  514.     * ╤ng d°ng ki¼m soßt l▓i chφnh tΣ.
  515.  
  516.     * ╤ng d°ng tr≥ ch╜i.
  517.  
  518.     * cßc b╡ ph⌠ng chµ ╖ d╒ng ≡i¼m (bitmap fonts), TrueType, PostScript.
  519.  
  520.     Ngoαi ra c≥n nhi½u sΣn phªm nµa kh⌠ng ti«n k¼ ra ≡Γy.   Mu»n bi¬t chi ti¬t
  521. xin xem th⌠ng-bßo v½ vi«c phßt hαnh nhu-li«u Vi«t Nam ≡■t  3  [tr. 41].   Hi«n
  522. ch·ng t⌠i ≡ang phΓn c⌠ng thi¬t k¬ thΩm cßc b╡ ph⌠ng chµ (fonts) VISCII  ≡¼  s╪
  523. d°ng trΩn cßc mßy in laser.  V∞ Viet-Std kh⌠ng c≤ tφnh cßch th▀╜ng m╒i, tñt cΣ
  524. cßc c⌠ng tr∞nh nghiΩn c╤u vα sΣn phªm nhu li«u cⁿa nh≤m ≡½u ≡▀■c ph▒ bi¬n mi¡n
  525. phφ.  M╡t s» c⌠ng ty nhu li«u vα t▒ ch╤c chuyΩn gia Vi«t Nam ╖ Hoa K╧ ≡π tuyΩn
  526. b» ⁿng h╡ b╡ t±-mπ 8-bit VISCII vα quy-≡╕nh 7-bit  VIQR  nh▀  VNU,  TIèN,  H╡i
  527. ChuyΩn Gia Vi«t Nam, v.v...
  528.  
  529.     B╡ t±-mπ VISCII vα quy ≡╕nh VIQR lα c⌠ng tr∞nh nghiΩn  c╤u  cⁿa  ≡⌠ng  ≡Σo
  530. chuyΩn viΩn Vi«t Nam ╖ hΣi ngo╒i thu╡c nhi½u lπnh v±c khßc nhau vα ≡π trΣi qua
  531. quß tr∞nh th╪ nghi«m khß lΓu dαi.   Ch·ng t⌠i s╟n sαng g╪i ≡¬n quφ v╕  m╡t  s»
  532. nhu li«u cÑn thi¬t ≡¼ quφ v╕ c≤ th¼ t± m∞nh ch╒y  vα  quan  sßt  ▀u  ≡i¼m  cⁿa
  533. VISCII vα VIQR m╡t cßch c° th¼.   Xin quφ v╕ nghiΩn c╤u k█ l▀▐ng tαi li«u ≡φnh
  534. kΦm vα dαnh cho ch·ng t⌠i s± ⁿng h╡ cÑn thi¬t ≡¼ b╡ Vi«t-t±-mπ 8-bit VISCII vα
  535. Quy ≡╕nh 7-bit VIQR tr╖ thαnh tiΩu chuªn chφnh th╤c cho chµ Vi«t Nam.
  536.  
  537.     TrΓn tr≈ng kφnh chαo quφ v╕ vα mong nhºn ≡▀■c ² ki¬n cⁿa quφ v╕ trong th╢i
  538. gian ngín nhñt.
  539.  
  540.  
  541.  
  542.  
  543. Nh≤m NghiΩn C╤u TiΩu Chuªn Ti¬ng Vi«t
  544. California, USA
  545. September 1992
  546.  
  547.  
  548.  
  549.  
  550.           A UNIFIED FRAMEWORK FOR VIETNAMESE INFORMATION PROCESSING
  551.  
  552.  
  553.                  Vietnamese Standardization Working Group {1}
  554.                               September 1992 {2}
  555.  
  556.  
  557.  
  558.                                    Abstract
  559.  
  560. Increasing demand for Vietnamese electronic information  processing  has  seen
  561. answer in a wide array of  Vietnamese-capable  applications.   The  inevitable
  562. need for integration of Vietnamese into existing environments and the exchange
  563. of data among them point to the  necessity  of  standardization.   This  paper
  564. presents the strategic and pragmatic technical  considerations  that  must  go
  565. into such a standard,  and reviews  existing  conventions/proposals  in  these
  566. important contexts.  A full description of the Viet-Std proposal is presented,
  567. including 1)  an  8-bit,  fully  precomposed  encoding  table  for  Vietnamese
  568. Standard Code for Information  Interchange  (known  as  VISCII),  2)  a  7-bit
  569. Vietnamese Quoted-Readable (known as VIQR) standard for data interchange  over
  570. 7-bit channels,  with a seamless interface to the 8-bit  encoding,  and  3)  a
  571. keyboard user-interface specification that works transparently with both 1 and
  572. 2.   Together,  these provide a  truly  unified  framework  for  a  Vietnamese
  573. information  processing   environment   with   simplicity,   efficiency,   and
  574. straightforward integration.   The real-world construction of  this  framework
  575. has proven quite successful in an  array  of  compliant  applications  from  a
  576. number of group and  individual  developers  across  a  number  of  platforms,
  577. including Unix and its variants,  the X window system,  MS-DOS,  Windows,  and
  578. with ongoing work elsewhere.
  579.  
  580.  
  581. 1. INTRODUCTION
  582. ~~~~~~~~~~~~~~~
  583.  
  584. With the  growing  Vietnamese  population  abroad  and  the  proliferation  of
  585. computer usage within Viet Nam,  the  Vietnamese  language  has  seen  rapidly
  586. increasing  representation  in   electronic   information   processing.    The
  587. concomitant growth in demand for Vietnamese-capable software has  resulted  in
  588. successful launches of myriad vendors in the U.S. and elsewhere, mainly in the
  589. area of Vietnamese word processing.  In addition, individual and group efforts
  590. have also been productive in providing Vietnamese-language  users  with  high-
  591. quality  public-domain  applications.   In  Viet  Nam,  centers  such  as  the
  592. Institute of Informatics [1] have reported impressive progress on many fronts,
  593. among which is the Vietnamization of standard software packages.
  594.  
  595. ------------------------------------------------------------------------------
  596.     {1} Postal address: Viet-Std,  1212 Somerset  Dr.,  San  Jose,  California
  597. 95132, USA. E-mail address:  Viet-Std@Haydn.Stanford.EDU
  598.  
  599.     {2} Reprinted December 3, 1992. This version 1.1 supersedes version 1.0 of
  600. January 1992.   The  only  significant  difference  is  the  exchange  of  the
  601. positions of ╒ (a dot-below) and á (O tilde) in the 8-bit table.
  602.  
  603.                                          7
  604.                                                                          8
  605.     All of the above illustrate two important points:  1)  There  are  growing
  606. market demands for Vietnamese-capable processing engines,  and 2) There is  no
  607. shortage of technical talent to fulfill those demands.  Unfortunately, therein
  608. lies a large problem: most existing Vietnamese applications have been designed
  609. to operate in the exclusive framework or environment of the developer, and all
  610. are incompatible with one another.   As long  as  this  trend  continues,  the
  611. application base for Vietnamese can never keep reasonable  pace  with  demand.
  612. Users want to do more with Vietnamese than mere word processing, and to expect
  613. one single vendor to provide all potential applications across  all  platforms
  614. is to dream  the  impossible. Technicians  providing  these  applications  are
  615. limited to the Vietnamese tools they must themselves learn  and  develop  from
  616. the ground up.  Standardization is necessary.  Anyone who has had to deal with
  617. the incompatibility between ASCII and EBCDIC can try to imagine a world  where
  618. every machine is using a different character set,  and appreciate how  limited
  619. that world would be in its application base and how  cumbersome  in  its  data
  620. interchange.   A uniform framework will greatly benefit both the user and  the
  621. technician alike.
  622.  
  623.     The proposal for any Vietnamese data  standardization  must  take  several
  624. important points in the proper  contexts.   First  and  foremost,  since  this
  625. discussion is geared toward existing 7- and 8-bit environments, the prime goal
  626. is  straightforward  and  direct  integration  onto  current  platforms.   The
  627. standard must work  here  and  now.   This  implies  the  use  of  precomposed
  628. Vietnamese characters,  because the handling of floating diacritics will never
  629. see full or simple support outside of specific contexts.  The standard must be
  630. designed so as to take advantage of existing applications as much as possible.
  631. The familiar "don't reinvent the wheel" rule is not only an advantage---but  a
  632. necessity---if a meaningful application base  is  to  be  established  in  any
  633. reasonable length of time.   Furthermore,  it is known that overall efficiency
  634. both in time and space is greater in processing  precomposed  character  units
  635. when compared with the floating-diacritic approach [2].   Floating  diacritics
  636. therefore must be limited to only where they  are  necessary  and  inevitable,
  637. such as in keyboard entry or 7-bit data transmission.   There is no reason  to
  638. require  that  all  applications  must  deal   with   the   complexities   and
  639. inefficiencies of floating diacritics, for example,  in 8-bit data processing,
  640. storage, transmission, screen rendering, or printing.
  641.  
  642.     The second major context points to the pragmatic and  vital  consideration
  643. of existing precedents set in the Vietnamese software  base.   Standardization
  644. necessarily requires adaptation,  but it makes  little  sense  to  propose  to
  645. change the world so significantly  that  the  inertia  against  large  changes
  646. greatly delays adoption of the standard.   The trend towards 16-bit and  wider
  647. data standards for multinational character sets has gained momentum  with  the
  648. recent works of Unicode [3] and ISO 10646 [4].  However, the need for an 8-bit
  649. Vietnamese standard is irreplaceable  until  these  new  standards  are  fully
  650. supported and completely dominate the computing world.   An  8-bit  Vietnamese
  651. standard must not ignore existing software precedents  so  that  it  can  gain
  652. speedy acceptance before it becomes obsolete.
  653.  
  654.     Thirdly,  the standard must address the issue of user  interface;  if  not
  655. defining it,  then at least consider its possible  effects  on  the  end-user.
  656. This  relates  primarily  to  the  7-bit  keyboarding  and  representation  of
  657. Vietnamese---in  both  instances  diacritics  are  necessarily  floating,  and
  658.                                                                          9
  659. represented mnemonically by existing 7-bit characters with similar appearance.
  660. With keyboarding,  one must preserve where possible existing practices such as
  661. that  defined  for  the  Viet-Net  mailing  list  and  the  Usenet   newsgroup
  662. Soc.Culture.Vietnamese,  both with  members  worldwide.   For  7-bit  readable
  663. representation,  the keyword is "readable."  The goals here are to maintain  a
  664. short learning time and to promote a uniform  interface  so  that  it  is  not
  665. necessary  for  a  user  to  re-learn  the  particulars  of   every   software
  666. installation before being able to use it effectively.
  667.  
  668.     Finally,  to every extent possible,  the standard  must  stay  within  the
  669. framework of international standards, e.g., ISO-8859/x [5], in order to ensure
  670. compatibility with  existing  environments.   For  example,  this  goal  means
  671. preservation of the ASCII encoding.   It should extend also  to  the  encoding
  672. into the same 8859/Latin-1 slots those Vietnamese characters that are  already
  673. defined, thus ensuring that 8859/Latin-1 keyboards will work transparently for
  674. those Vietnamese characters.   However,  there are many standards requirements
  675. that are  obsolete  from  a  practical  viewpoint.   For  example,  in  recent
  676. Unicode/ISO-10646 decisions, the prohibition from use of the available control
  677. character space---those with encodings between xx00h and xx1Fh,  except for C0
  678. itself---was discarded on the grounds that it was a waste of  encoding  space.
  679. As will be discussed later, the encoding of Vietnamese into the existing 8-bit
  680. space presents some well-known trade-offs.   Where trade-offs are  made,  they
  681. must be justified with good reason---pragmatic preferred over theoretical.
  682.  
  683.     These primary requirements are summarized as follows:
  684.  
  685.     R1. Straightforward and direct integration into existing platforms.
  686.  
  687.     R2. Ease of adaptation for existing software.
  688.  
  689.     R3. User-friendly mnemonic encoding scheme and interface.
  690.  
  691.     R4. Adherence to international standards.
  692.  
  693.     R5. Trade-offs made only on practical usage considerations and  with  good
  694.         reason.
  695.  
  696.     In the following section we present a brief review of  the  strengths  and
  697. weaknesses of different approaches to Vietnamese  encoding.   Section  3  will
  698. describe the proposed 8-bit  encoding  table  in  detail.   A  quoted-readable
  699. encoding scheme encompassing 7-bit data streams, including electronic mail and
  700. keyboard input,  is presented in Section 4.   Finally,  Section 5 outlines the
  701. particular  rules  and  conventions  relevant  in  some   application-specific
  702. contexts.
  703.  
  704.  
  705. 2. REVIEW OF CURRENT CONVENTIONS
  706. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  707.  
  708. A review of current conventions used by software vendors reveals one  distinct
  709. feature: virtually all realize the strengths of  a  precomposed  encoding  and
  710. adopt it as a primary requirement.   The complications arise from  a  familiar
  711. fact: apart from the alphabetics already  available  in  the  ASCII  standard,
  712.                                                                         10
  713. Vietnamese requires an additional 134 unique characters.  Of these, 128 can be
  714. coded in the C1 and G1 areas.  The allocation of the remaining 6 characters in
  715. the lower C0 and G0 space is handled with differing approaches:
  716.  
  717.     A1. Encode into 6 of the "least-used" G0  characters  in  the  context  of
  718.         Vietnamese data processing.
  719.  
  720.     A2. Encode into 6 slots of the National Replacement  Character  {3}  (NRC)
  721.         set.
  722.  
  723.     A3. Drop 6  of  the  "least-used"  {4}  Vietnamese  characters,  typically
  724.         accented capitals such as , , , , , and .
  725.  
  726.     A4. Map accented "y" combinations  into  corresponding  "i"  combinations,
  727.         e.g., "k█ s▀" is replaced with "kε s▀."
  728.  
  729.     A5. Encode into the ASCII control space C0.
  730.  
  731.     Approaches A1 and A2 both satisfy the typical needs of the word processing
  732. environments in which rarely used ASCII characters can be avoided, or employed
  733. by font shifting.   However they both eliminate prospects for  integration  of
  734. Vietnamese into existing ASCII environments where all graphic characters in G0
  735. are needed.  A character that already serves one purpose cannot be re-used for
  736. another.   First, it makes rendering of the needed G0 character incorrect,  as
  737. it would now look like a Vietnamese character.   The frequency of  use  of  G0
  738. characters in an integrated environment is far too high for this  conflict  to
  739. be tolerable. Second,  while font shifting may be employed to remedy  this  in
  740. some situations,  a more serious problem occurs when the Vietnamese  character
  741. is needed.   The environment  would  typically  have  assigned  some  specific
  742. meaning to  the  G0  character,  particularly  with  those  in  the  NRC  set.
  743. Consider,  for example,  using the backslash character "\"  for  a  Vietnamese
  744. character under Unix.   The backslash is used for many escape mechanisms under
  745. Unix so that the Vietnamese character  cannot  simply  be  used  but  must  be
  746. escaped in one way or another.   This is more than just an  inconvenience;  it
  747. means data interchange is complicated by the fact that  the  escape  mechanism
  748. will not be understood on another platform,  and data integrity has  thus  not
  749. been preserved.   A standard  employing  this  approach  fails  at  its  basic
  750. mission: to provide cross-platform transparency.   A similar case can be  made
  751. for the other G0 characters.
  752.  
  753.     Both A3 and A4 propose to limit Vietnamese language data  in  one  way  or
  754. another.  Most agree that elimination of some Vietnamese characters are simply
  755. unacceptable;  indeed,  this point is so  fundamental  that  we  have  in  the
  756. foregoing chosen to assume it as a technical requirement without  elaboration.
  757. However,  it must be said that A4 is not  a  proposal  without  rationale.   A
  758. school of thought exists that believes y's existing in words as a single vowel
  759.  
  760. ------------------------------------------------------------------------------
  761.     {3} This set contains 12 country-specific  characters  at  code  positions
  762. corresponding to ASCII characters #, $, @, [, \, ], ^, `, {, |, }, ~.
  763.  
  764.     {4} Least-used because they (a) rarely begin words and  therefore  do  not
  765. often get capitalized, and (b) appear in fewer words.
  766.                                                                         11
  767. should be mapped to corresponding i's,  as  their  pronunciations  are  indeed
  768. identical.  The concept dates as far back as 1948 [6, 7].   However, it is not
  769. the function of an encoding standard to settle a linguistic issue,  and  hence
  770. A4 is also a bad choice.
  771.  
  772.     The immediate objection to A5 is primarily in data communication  channels
  773. where many C0 characters are used as  data  control.   In  addition,  it  also
  774. presents problems for integration into environments where some  C0  characters
  775. are used in the keyboard interface and in data format controls, similar to the
  776. problem facing A1 and A2. However,  as will be  discussed  further,  judicious
  777. choice of the  6  C0  characters  to  be  used  has  in  practice  been  shown
  778. successfully to avoid characters that are significant in  data  communication.
  779. Furthermore, most data channels provide for clean transfer of binary data, and
  780. there is no reason to worry that arbitrary data bits cannot be  employed  over
  781. these binary routes.
  782.  
  783.     With those particular cases where C0 is used in  the  keyboard  interface,
  784. judicious choice as well as remapping of keys  can  minimize  conflict.   Data
  785. format control is application-specific but is typically scattered  in  C0  and
  786. C1.   It is therefore a  universal  problem  for  integration  because  C1  is
  787. necessarily densely encoded, but,  again,  conflict can be avoided by studying
  788. significant applications.   Finally,  the choice can be made for 6  least-used
  789. Vietnamese characters so that the probability of conflict is greatly reduced.
  790.  
  791.     It should be noted here that the foregoing discussion  has  subjected  the
  792. alternatives to the requirements of integration into existing applications and
  793. platforms,  as outlined in Section 1.   The importance of this goal cannot  be
  794. overstated,  and it does present complications that result  in  the  following
  795. Pragmatism Principle: it is obviously impossible to  define  a  standard  that
  796. would operate seamlessly with all existing applications,  therefore  pragmatic
  797. considerations must be made to make a standard workable in as  many  important
  798. applications and on as many platforms as possible,  with emphasis on the  word
  799. "workable."
  800.  
  801.  
  802. 3. VISCII: 8-BIT ENCODING SPECIFICATION FOR VIETNAMESE
  803. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  804.  
  805. 3.1. MOTIVATION
  806. ~~~~~~~~~~~~~~~
  807.  
  808. The available body of evidence shows that  alternative  A5  described  in  the
  809. previous section,  encoding into 6 of the  C0  characters,  has  the  greatest
  810. chance of success in fulfilling the requirements outlined in Section  1.   The
  811. choice of the 6 C0 codes and the 6 least-used Vietnamese  capital  letters  to
  812. encode,  when made carefully,  greatly reduces the probability of conflict for
  813. all  practical  purposes. Concerns  regarding  data  communications  are  well
  814. addressed by avoiding C0 codes that are in fact often used for  data  control.
  815. Indeed, data communication concerns are more applicable to C1 and G1 encoding;
  816. a prominent example is electronic mail transfer  through  7-bit  gateways  and
  817. mail agents.  Communication failure here has in most cases been due to the use
  818. of the eighth bit and not because of C0 encoding.   In any event,  the  option
  819. exists for data to be sent in some "binary" mode,  or to employ the Vietnamese
  820.                                                                         12
  821.    Table 1:  A sampler of possible C0 usage conflicts.  Codes selected
  822.              for this standard proposal are noted with a "+".
  823.   ======================================================================
  824.   CODE  COMM. CTRL-  GENERAL  PRINTER(PC)   PC        Unix     vi (Unix)
  825.   ----------------------------------------------------------------------
  826.     0    NUL   @     C string                       strings
  827.     1    SOH   A
  828.    +2    STX   B                                             back screen
  829.     3    ETX   C     INTR                  INTR      INTR      INTR
  830.     4    EOT   D     EOF                              EOF    back tab
  831.    +5    ENQ   E
  832.    +6    ACK   F                                             forw.screen
  833.     7    BEL   G     BEL         BEL        BEL       BEL
  834.     8    BS    H     BS          BS         BS        BS        BS
  835.     9    HT    I     HT          HT         HT        HT        HT
  836.    10    LF    J     LF          LF         LF        LF        LF
  837.    11    VT    K                 VT
  838.    12    FF    L     FF          FF         FF                 redraw
  839.    13    CR    M     CR          CR         CR        CR        CR
  840.    14    SO    N             wide on(IBM)
  841.    15    SI    O             comp.on(IBM)
  842.    16    DLE   P                          Prt.on/off
  843.    17    DC1   Q     XOFF      XOFF         XOFF      XOFF
  844.    18    DC2   R             comp.off(IBM)            retype
  845.    19    DC3   S     XON       XON          XON       XON
  846.   +20    DC4   T             wide off(IBM)                     forw.tab
  847.    21    NAK   U             clr buf(IBM)             kill     kill
  848.    22    SYN   V                                      literal  literal
  849.    23    ETB   W                                      werase   werase
  850.    24    CAN   X                                      kill
  851.   +25    EM    Y                                      suspend
  852.    26    SUB   Z                            EOF       suspend
  853.    27    ESC   [     ESC     ESC sequence   ESC       ESC        ESC
  854.    28    FS    \                                      quit
  855.    29    GS    ]  Telnet ESC
  856.   +30    RS    ^
  857.    31    US    _                           Windows
  858.   =====================================================================
  859.  
  860.  
  861.  
  862.   Table 2:  Vietnamese-specific characters already present in 8859/Latin-1.
  863.         +===============================================================+
  864.         | 0 : 1 : 2 : 3 : 4 : 5 : 6 : 7 : 8 : 9 : A : B : C : D : E : F |
  865.    +----+---------------------------------------------------------------+
  866.    | Cx | └ : ┴ : ┬ : ├ :   :   :   :   : ╚ : ╔ : ╩ :   : ╠ : ═ :  :  : |
  867.    | Dx | ╨ :   : ╥ : ╙ : ╘ : á :   :   :   : ┘ : ┌ :   :   : ▌ :  :  : |
  868.    | Ex | α : ß : Γ : π :   :   :   :   : Φ : Θ : Ω :   : ∞ : φ :  :  : |
  869.    | Fx | ≡ :   : ≥ : ≤ : ⌠ : ⌡ :   :   :   : ∙ : · :   :   : ² :  :  : |
  870.    +====================================================================+
  871.  
  872.  
  873.                                                                         13
  874. Quoted-Readable format to be described in Section 4.
  875.  
  876.     The overwhelming advantage of this approach is  that  it  is  readily  and
  877. easily integrated into existing environments  without  many  of  the  problems
  878. plaguing the other alternatives,  if they can at  all  be  integrated.   As  a
  879. testimony to the approach's successful application,  this document itself  was
  880. prepared using the TeX system under Unix.   The text source was edited  in  an
  881. 8-bit X terminal window using a minimally modified version  of  Elvis  {5},  a
  882. public-domain 8-bit version of Unix's Vi text editor.   Both TeX  (a  document
  883. preparation system) and Dvi2ps (a PostScript generator) readily  accepted  and
  884. processed Vietnamese (8-bit) data transparently.
  885.  
  886.     Many other applications including a  spreadsheet,  various  text  viewers,
  887. PostScript and dot-matrix printing, DOS's WordPerfect, Word,  PC Tools,  etc.,
  888. have  been  tested  and  seen  to   operate   well   with   Vietnamese   text.
  889. Modifications,  if any,  were primarily in making  these  applications  accept
  890. 8-bit data.   An educational  teaching  tool  for  Vietnamese  has  also  been
  891. produced using the  C  programming  language  with  8-bit  Vietnamese  strings
  892. embedded in the  source  code. With  increasing  system  internationalization,
  893. applications and tools are being  made  8-bit  "clean,"  further  facilitating
  894. integration of this Vietnamese encoding.
  895.  
  896. 3.2. ENCODING RATIONALE
  897. ~~~~~~~~~~~~~~~~~~~~~~~
  898.  
  899. A basic requirement is to preserve the 7-bit  ASCII  graphic  characters  (G0)
  900. layout,  since  the  emphasis  is  on  integration.   G0  was  therefore  left
  901. unchanged.   For the 6 C0 characters,  we first lay out  the  code  space  and
  902. consider typical usage, a sampler of which is in Table 1.  The codes selected,
  903. STX (2), ENQ (5), ACK (6),  DC4 (20),  EM (25),  and RS (30) present the least
  904. possible  problems  with  data  communication  and  significant   applications
  905. considered.   The use of ACK,  for example,  is actually context-dependent. In
  906. those protocols we have reviewed,  it is only considered a "control" character
  907. outside of a data frame;  within a data frame it is transfered without special
  908. interpretation.   To reduce the probability of conflict even  further,  the  6
  909. least-often used Vietnamese capital letters, , , , , , and , are encoded
  910. into these slots.
  911.  
  912.     The remaining task is to encode the other 128 Vietnamese  characters  into
  913. the extended ASCII space (C1 and G1).   Since no unique international encoding
  914. standard exists in this region,  the philosophy is to be as much  conservative
  915. as possible so that in the worst case the user can still use all of the  lower
  916. case Vietnamese letters.
  917.  
  918.     The encoding of C1 is less troublesome,  although in  application-specific
  919. contexts it has been found that some C1 characters are employed  with  special
  920. meanings.   A review of ongoing work on 8-bit mail  transport  standardization
  921. indicates that C1 characters will be fully  supported  as  graphic  characters
  922. without special interpretation.   Nevertheless it is prudent  to  encode  only
  923.  
  924. ------------------------------------------------------------------------------
  925.     {5} The modifications provided the keyboard interface described  in  later
  926. sections.
  927.                                                                         14
  928. upper-case characters into the C1 space.
  929.  
  930.     For G1,  the aim is to accommodate the popular PC character set (code page
  931. 850) and to adhere, if possible, to the 8859/Latin-1 mapping where Vietnamese-
  932. specific characters are already encoded.
  933.  
  934.     Experience  in  development  of  this  encoding  on  the  MS-DOS  platform
  935. motivates the consideration of line-drawing glyphs in the  PC  character  set.
  936. In many situations where  both  Vietnamese  and  line-drawing  characters  are
  937. desirable but font switching is impossible,  the best we can do is to preserve
  938. all the lower case Vietnamese characters and all the single-  and  double-line
  939. drawing characters.   This means that code positions occupied by  single-  and
  940. double-line drawing characters must be  populated  with  upper  case  letters.
  941. With this provision,  the MS-DOS user can be supplied with either  code  pages
  942. containing all Vietnamese glyphs or code pages where a number  of  upper  case
  943. Vietnamese  characters  are  replaced  by  PC  line-drawing  characters.   For
  944. existing applications,  the user can choose the code page most appropriate for
  945. her purpose.   Where the code page with line-drawing characters must be  used,
  946. the penalty from missing Vietnamese  characters  has  been  minimized  by  the
  947. choice of the  infrequently  used  ones.   For  new  applications,  code  page
  948. switching can easily be done on the fly, if it is desired.
  949.  
  950.     Compatibility  with  the  8859/Latin-1  standard  is   merely   for   user
  951. friendliness and is not mandatory.  It is natural and reasonable for a user in
  952. France to expect that the same keystrokes producing Θ on the screen for French
  953. will do the same for Vietnamese.  The motivation for this compatibility is the
  954. predominant and increasing availability of  8859/Latin-1  keyboards  and  font
  955. sets,  e.g.,  Digital's VT-terminal series,  Xterm  keymaps,  and  Microsoft's
  956. Windows.   Table 2 lists the subset of 8859/Latin-1 characters in G1 that  are
  957. also Vietnamese {6}.   It can be concluded that  all  8859/Latin-1  text  that
  958. contains characters mostly from G0 (ASCII) and this  table,  French  text  for
  959. example, is highly readable in the Vietnamese environment.
  960.  
  961.     Finally,  certain characters in G1 are  not  renderable  in  a  number  of
  962. applications such as character codes  160  (non-breaking  space  character  in
  963. 8859/Latin-1), 202 (non-breaking space character on Macintosh),  or 255.   The
  964. list of potentially non-graphic characters in C1 and G1 can  be  quite  large:
  965. nearly 30 characters in MS Windows 3.0 and roughly 25 characters in MS Windows
  966. 3.1.   These positions  must  be  populated  with  upper  case  characters  in
  967. consistence with the above philosophy.   In applications where font  switching
  968. is allowed and upper case characters are blocked out,  a solution is to supply
  969. fonts in pair: a normal font and a capital font.   In the capital font all the
  970. positions that should be filled with lower case characters are actually filled
  971. with the corresponding upper case.   When a capital letter in the normal  font
  972. cannot be rendered, the user simply switches to the corresponding capital font
  973. and types in the corresponding lower case character.
  974.  
  975.     With the above guidelines,  the task is then  to  lay  out  the  remaining
  976.  
  977. ------------------------------------------------------------------------------
  978.     {6} Note that the <≡> in Table 2 is actually a  similar-looking  Icelandic
  979. "edh" in 8859/Latin-1;  the Vietnamese rendering form is better  reflected  in
  980. 8859/Latin-2.
  981.                                                                         15
  982.         Table 3: VISCII 8-bit Encoding Standard Proposal for Vietnamese
  983.  
  984.     +======================================================================+
  985.     |    ||  0 : 1 : 2 : 3 : 4 : 5 : 6 : 7 : 8 : 9 : A : B : C : D : E : F |
  986.     +======================================================================+
  987.     | 0x || NUL:SOH:  :ETX:EOT:  :  :BEL:BS :HT :LF :VT :FF :CR :SO :SI |
  988.     |----||----:---:---:---:---:---:---:---:---:---:---:---:---:---:---:---|
  989.     | 1x || DLE:DC1:DC2:DC3:  :NAK:SYN:ETB:CAN:  :SUB:ESC:FS :GS :  :US |
  990.     |----||----:---:---:---:---:---:---:---:---:---:---:---:---:---:---:---|
  991.     | 2x || SP : ! : " : # : $ : % : & : ' : ( : ) : * : + : , : - : . : / |
  992.     |----||----:---:---:---:---:---:---:---:---:---:---:---:---:---:---:---|
  993.     | 3x ||  0 : 1 : 2 : 3 : 4 : 5 : 6 : 7 : 8 : 9 : : : ; : < : = : > : ? |
  994.     |----||----:---:---:---:---:---:---:---:---:---:---:---:---:---:---:---|
  995.     | 4x ||  @ : A : B : C : D : E : F : G : H : I : J : K : L : M : N : O |
  996.     |----||----:---:---:---:---:---:---:---:---:---:---:---:---:---:---:---|
  997.     | 5x ||  P : Q : R : S : T : U : V : W : X : Y : Z : [ : \ : ] : ^ : _ |
  998.     |----||----:---:---:---:---:---:---:---:---:---:---:---:---:---:---:---|
  999.     | 6x ||  ` : a : b : c : d : e : f : g : h : i : j : k : l : m : n : o |
  1000.     |----||----:---:---:---:---:---:---:---:---:---:---:---:---:---:---:---|
  1001.     | 7x ||  p : q : r : s : t : u : v : w : x : y : z : { : | : } : ~ :DEL|
  1002.     |----||----:---:---:---:---:---:---:---:---:---:---:---:---:---:---:---|
  1003.     | 8x ||  Ç : ü : é : â : ä : à : å : ç : ê : ë : è : ï : î : ì : Ä : Å |
  1004.     |----||----:---:---:---:---:---:---:---:---:---:---:---:---:---:---:---|
  1005.     | 9x ||  É : æ : Æ : ô : ö : ò : û : ù : ÿ : Ö : Ü : ¢ : £ : ¥ : ₧ : ƒ |
  1006.     |----||----:---:---:---:---:---:---:---:---:---:---:---:---:---:---:---|
  1007.     | Ax ||  á : í : ó : ú : ñ : Ñ : ª : º : ¿ : ⌐ : ¬ : ½ : ¼ : ¡ : « : » |
  1008.     |----||----:---:---:---:---:---:---:---:---:---:---:---:---:---:---:---|
  1009.     | Bx ||  ░ : ▒ : ▓ : │ : ┤ : ╡ : ╢ : ╖ : ╕ : ╣ : ║ : ╗ : ╝ : ╜ : ╛ : ┐ |
  1010.     |----||----:---:---:---:---:---:---:---:---:---:---:---:---:---:---:---|
  1011.     | Cx ||  └ : ┴ : ┬ : ├ : ─ : ┼ : ╞ : ╟ : ╚ : ╔ : ╩ : ╦ : ╠ : ═ : ╬ : ╧ |
  1012.     |----||----:---:---:---:---:---:---:---:---:---:---:---:---:---:---:---|
  1013.     | Dx ||  ╨ : ╤ : ╥ : ╙ : ╘ : ╒ : ╓ : ╫ : ╪ : ┘ : ┌ : █ : ▄ : ▌ : ▐ : ▀ |
  1014.     |----||----:---:---:---:---:---:---:---:---:---:---:---:---:---:---:---|
  1015.     | Ex ||  α : ß : Γ : π : Σ : σ : µ : τ : Φ : Θ : Ω : δ : ∞ : φ : ε : ∩ |
  1016.     |----||----:---:---:---:---:---:---:---:---:---:---:---:---:---:---:---|
  1017.     | Fx ||  ≡ : ± : ≥ : ≤ : ⌠ : ⌡ : ÷ : ≈ : ° : ∙ : · : √ : ⁿ : ² : ■ :   |
  1018.     +======================================================================+
  1019.  
  1020.  
  1021. Vietnamese characters in some fashion, perhaps even arbitrary.   This has been
  1022. done in such a way so as  to  provide  some  degree  of  symmetry  simply  for
  1023. aesthetics.   It turns out that all the above guidelines  can  be  adhered  to
  1024. except for compatibility with the letter á (O tilde)  in  8859/Latin-1.   Note
  1025. that the Vietnamese collating order cannot in any case be preserved,  but this
  1026. is not a major issue since collation for non-ASCII characters is well accepted
  1027. to be a table-lookup problem.
  1028.  
  1029.     The preceding guidelines have resulted  in  the  VISCII  8-bit  Vietnamese
  1030. encoding proposal listed in Table 3.  It is intended to be a single table that
  1031. applies  to  Vietnamese   data   handling   including   storage,   processing,
  1032. transmission,  and font encoding.   This greatly simplifies  the  integration,
  1033. implementation,  and usage processes and is indeed one of the major  strengths
  1034. of the proposal.
  1035.                                                                         16
  1036.  
  1037. 4. VIQR: MNEMONIC ENCODING SPECIFICATION FOR VIETNAMESE
  1038. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1039.  
  1040. 4.1  MOTIVATION
  1041. ~~~~~~~~~~~~~~~
  1042.  
  1043. While the 8-bit specification attempts to standardize Vietnamese  encoding  in
  1044. 8-bit  environments,   much  remains  to  be  addressed  in  important   7-bit
  1045. environments such as electronic mail transport and other 7-bit data lines,  as
  1046. well as in keyboard entry applications  where  the  interface  for  generating
  1047. Vietnamese characters needs to be standardized.
  1048.  
  1049.     Transporting more than 128 unique symbols over 7-bit data channels is  not
  1050. a problem specific to the Vietnamese language.   Since its proposal  in  1982,
  1051. the Internet Simple Mail Transfer Protocol ("SMTP",  [8]) has seen unrelenting
  1052. efforts to extend it to accommodate 8-bit  and  wider-word  data  in  European
  1053. Latin scripts and Oriental ideographic characters  (see,  e.g.,  [9]).   While
  1054. clean 8-bit transport is highly desirable,  all mail gateways are not going to
  1055. be converted overnight.   For the foreseeable  future  there  is  a  need  for
  1056. unambiguous transport of Vietnamese text over existing 7-bit channels.
  1057.  
  1058.     Indeed there is an ad-hoc standard in use on the Viet-Net mailing list and
  1059. the Usenet newsgroup Soc.Culture.Vietnamese, where mnemonic use of appropriate
  1060. characters to follow a vowel proves to be quite readable;  for example,  "Vi«t
  1061. Nam" would be written as "Vie^.t   Nam". However,  this  is  troubled  by  the
  1062. ambiguity in the multiple roles played by the mnemonic diacritical marks;  for
  1063. example, does "tha?" mean "tha?" or "thΣ"?
  1064.  
  1065.     The Viet-Net convention is not  far  in  concept  from  a  quoted-readable
  1066. format proposed by K. Simonsen [10,  11] which  disambiguates  such  texts  by
  1067. specifying text states  at  both  the  character  and  character  set  levels.
  1068. Unfortunately,  in its attempt to provide a  universal  solution  to  mnemonic
  1069. encoding,  the proposal does not provide a good answer  for  Vietnamese  text.
  1070. First,  it restricts the use of mnemonics to the  83  invariant  ISO-646  [12]
  1071. graphic characters,  which  is  a  good  idea  in  principle,  but  sacrifices
  1072. readability in the process.   For example, the counter-intuitive mnemonics for
  1073. hook-above (dau hoi) and tilde (dau nga) are "2"  and  "?",  respectively,  in
  1074. order to avoid "~" itself,  which is not an invariant.   The wide availability
  1075. of ASCII keyboards to the great majority of Vietnamese users  makes  this  too
  1076. unreasonable a limitation in the context of Vietnamese processing.   It should
  1077. be noted that we are in fact  arguing  in  favor  of  "readability  for  most"
  1078. against "illegibility for all."  Furthermore,  with on  progress  on  keyboard
  1079. and display internationalization, e.g., in graphical window environments where
  1080. keyboard mapping and font switching are easily implemented,  this availability
  1081. is on the increase, further obsoleting the restriction.
  1082.  
  1083.     The greater difficulty is that the two-character fixed-length encoding {7}
  1084. cannot provide  a  readable  or  mnemonic  representation  of  all  Vietnamese
  1085.  
  1086. ------------------------------------------------------------------------------
  1087.     {7} The convention  is  "&xy"  where  x  is  a  literal  character  and  y
  1088. represents some combining form.
  1089.                                                                         17
  1090. characters, in particular those with 2 diacritical marks.  The variable-length
  1091. mnemonics {8} have been extended to include  all  Vietnamese  characters,  but
  1092. this scheme is so cluttered with announcers and  delimiters  that  readability
  1093. and efficiency are near nil,  keeping in mind that diacritics are heavily used
  1094. in Vietnamese.   While machine data translators will have little trouble  with
  1095. any "mnemonic" scheme, one that is directly accessible to human users, who are
  1096. in many cases typing mail messages using 7-bit editors, needs to be more user-
  1097. friendly.   A Vietnamese user will not want to learn  or  remember  among  all
  1098. possible combinations that, say, "a5" stands for "í", nor will she like typing
  1099. sequences as long as "&_a('_"  for some letter in every word.
  1100.  
  1101.     To satisfy  the  readability  and  flexibility  requirements,  a  separate
  1102. specification is necessary.   It is better to adopt an approach like code-page
  1103. switching under ISO-2022 [13] to switch the text into  "Vietnamese"  mode  and
  1104. optimize encoding according to the language state.  Recently, van der Poel put
  1105. forth a mnemonic proposal [14] which emphasizes language-specific  conventions
  1106. for these rea This proposal provides a means to specify  the  language  state,
  1107. each with its own (efficient) encoding  method.   Its  strength  lies  in  the
  1108. flexible specification that conformant implementations "need not  be  able  to
  1109. display all of the character sets specified";  they have the option of stating
  1110. messages such as "undisplayable Greek appeared here" for unsupported languages
  1111. (for  a  more  precise  specification,  see  [14]).   This  allows  networking
  1112. communities to determine the best approach for encoding their  own  languages.
  1113. The VIQR convention is compatible with this  approach  and  should  easily  be
  1114. incorporated into this framework.
  1115.  
  1116.     The  specification  here  encompasses  all  data  streams  including  text
  1117. transfer,  file I/O,  and keyboard entry.   This principle has been the  major
  1118. reason for success in operating systems such as Unix, in which device-specific
  1119. details are hidden as much  as  possible  from  the  applications  programmer,
  1120. leaving a uniform interface above which tools such as common library  routines
  1121. can be shared.   Indeed  as  the  keyboard  example  above  has  implied,  the
  1122. characters actually typed by the user are often not different  from  the  text
  1123. data that is eventually stored or transmitted.   It is therefore desirable  to
  1124. provide a common base on  which  to  build  data  interpreters  for  all  data
  1125. streams, independent of the input source.   In actual implementation, this has
  1126. greatly facilitated development of the Vietnamese-capable software base.
  1127.  
  1128.     In addition,  the user stands to benefit tremendously from standardization
  1129. of keyboard entry.   One does not need to learn  a  different  keyboard  entry
  1130. technique for each different Vietnamese application.  If one standard keyboard
  1131. model is fully supported by all Vietnamese software,  a user familiar with the
  1132. standard can sit down and start typing Vietnamese immediately.   This standard
  1133. defines the minimum expected behavior from compliant software;  any additional
  1134. input techniques can of course be incorporated as a superset of  the  standard
  1135. behavior.  This is discussed further in Section 5.2 on Vietnamese keyboarding.
  1136.  
  1137.  
  1138. ------------------------------------------------------------------------------
  1139.     {8} The convention is "&_xxxx_" where xxxx can be  an  arbitrary  mnemonic
  1140. sequence.
  1141.                                                                         18
  1142. 4.2. QUOTED-READABLE SPECIFICATION (VIQR)
  1143. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1144.  
  1145. The mnemonic model from Viet-Net is fully employed in the specification.   The
  1146. Vietnamese QR comprises three major states: Literal, English,  and Vietnamese.
  1147. The Literal state is intended for completely transparent handling  of  literal
  1148. data (except of course for the  escape  sequences  into  and  out  of  Literal
  1149. state).   The English and Vietnamese states are  designed  for  mixed  use  of
  1150. English and Vietnamese, with each optimized in appearance as well as data size
  1151. for texts containing mostly English and Vietnamese,  respectively.   In either
  1152. state there exist methods for composing Vietnamese-specific characters,  using
  1153. a base vowel followed by one or two diacritics.
  1154.  
  1155.     We first introduce the concept of implicit and explicit composition,  then
  1156. discuss how they are used in each of the states.
  1157.  
  1158. 4.2.1. Implicit Composition
  1159. ~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1160.  
  1161. Implicit composition is useful for  data  containing  a  large  percentage  of
  1162. Vietnamese characters.
  1163.  
  1164.     With implicit composition,  a sequence of a base vowel followed by one  or
  1165. two diacritical marks is combined into one Vietnamese letter as long as it  is
  1166. grammatically legal.  This is best illustrated by examples:
  1167.  
  1168.                         a^      --->      Γ
  1169.                         o+?     --->      ╖
  1170.                         ╜?      --->      ╖
  1171.                         Vie^.t  --->      Vi«t
  1172.                         ViΩ.t   --->      Vi«t
  1173.                         la'^n   --->      lß^n (kh⌠ng phΣi lñn)
  1174.                         lß^n    --->      lß^n (kh⌠ng phΣi lñn)
  1175.  
  1176.     Note in the last two example that the sequence "a^'" is not  grammatically
  1177. equivalent to "a'^" or "ß^".   In general a  modifier  ("(",  "^",  "+")  must
  1178. immediately follow the appropriate vowel in order to be combined.
  1179.  
  1180.     The special sequence dd is composed into ≡ ; DD, dD,  and Dd all represent
  1181. ╨.
  1182.  
  1183.     The base vowels are: a, σ, Γ, e, Ω,  i,  o,  ⌠,  ╜,  u,  ▀,  y,  and their
  1184. corresponding capitals.   The encoding values are those listed in Table 3, the
  1185. 8-bit VISCII proposed standard.
  1186.  
  1187.     The  diacritical  marks  are  represented  by  ASCII   characters   having
  1188. correspondingly similar appearances.   Table 4 lists the  7  ASCII  characters
  1189. used as mnemonic replacements for the Vietnamese diacritics;  the first  three
  1190. are modifiers, and the remaining five are tone marks.
  1191.  
  1192.                                                                         19
  1193.            Table 4:  ASCII Mnemonics for Vietnamese Diacritics
  1194.  
  1195.     ================================================================
  1196.     Diacritic   Char  ASCII Code          Dñu        Example
  1197.     ----------------------------------------------------------------
  1198.     breve        (    0x28, left paren    trσng      ba(n khoa(n
  1199.     circumflex   ^    0x5E, caret         m√         ho^m nay
  1200.     horn         +    0x2B, plus sign     m≤c        Qui Nho+n
  1201.  
  1202.     acute        '    0x27, apostrophe    síc        La'i Thie^u
  1203.     grave        `    0x60, backquote     huy½n      Bi`nh Du+o+ng
  1204.     hook above   ?    0x3F, question      h÷i        Thu?  DDu+'c
  1205.     tilde        ~    0x7E, tilde         ngπ        di~ va~ng
  1206.     dot below    .    0x2E, period        núng       ho.c ta^.p
  1207.     ================================================================
  1208.  
  1209.  
  1210. 4.2.2. Explicit Composition
  1211. ~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1212.  
  1213. Explicit composition is associated with the concept  of  a  leading  character
  1214. which explicitly announces the composition.   The announcer character  is  the
  1215. backslash ("\", ASCII 0x5C), known here as <COM> {*}. The subsequent combining
  1216. characters are defined in the same way as those in implicit composition.  Thus
  1217. the examples given above would appear in explicit composition mode as:
  1218.  
  1219.              a^         --->    Γ 
  1220.              o+?        --->    ╖ 
  1221.              Vie^.t     --->    Vi«t 
  1222.  
  1223.     Explicit composition is useful for data containing mainly English text, as
  1224. well as  for  maintaining  real-time  compatibility  with  keyboard  character
  1225. events, as will be discussed in Section 5.2 on Vietnamese keyboarding.
  1226.  
  1227.     With the composition methods described,  we are now ready to  discuss  how
  1228. they are employed in each of the three states.   The state of the data  stream
  1229. is specified by the two character sequence <COM>x ,  where  "x"  is  specified
  1230. below.
  1231.  
  1232. 4.2.3. Literal State
  1233. ~~~~~~~~~~~~~~~~~~~~
  1234.  
  1235. The appearance of <COM>L or <COM>l in the data stream  initiates  the  Literal
  1236. state.   This state is intended  for  near-perfect  transparent  literal  data
  1237. transfer.  Neither implicit nor explicit composition is available here, nor is
  1238. the <COM> character special,  except when it is followed by  one  of  the  six
  1239.  
  1240. ------------------------------------------------------------------------------
  1241.     {*} In cases of ambiguity the notation <...> will be used to indicate that
  1242. the whole sequence <...> represents a byte in  memory  or  storage;  i.e.,  it
  1243. corresponds to one and only one character.   For instance,  the word  TÅT  can
  1244. also be written as <T><Å><T>.
  1245.                                                                         20
  1246. characters l, L, v, V, m or M which initiates one of the three states {9}.
  1247.  
  1248. 4.2.4. English State
  1249. ~~~~~~~~~~~~~~~~~~~~
  1250.  
  1251. The sequence <COM>M or <COM>m  sets  the  data  stream  state  to  English. In
  1252. English state,  only explicit composition is supported.   This means  that  in
  1253. order to generate a Vietnamese letter,  the announcer character <COM> must  be
  1254. used.    A  "composition"  sequence  not  preceded  by  <COM>  will  be   left
  1255. uninterpreted.  Examples:
  1256.  
  1257.         \mD\u~ng, how are you?  --->    D√ng, how are you?
  1258.         \mKho\e? kh\o^ng?       --->    Khoδ kh⌠ng?
  1259.  
  1260.     As noted,  the sequence "you?" above was not converted into "yoⁿ"  because
  1261. no composition was specified.
  1262.  
  1263. 4.2.5. Vietnamese State
  1264. ~~~~~~~~~~~~~~~~~~~~~~~
  1265.  
  1266. The data stream state is set to Vietnamese when the sequence <COM>V or  <COM>v
  1267. is encountered.   In Vietnamese mode,  both explicit and implicit compositions
  1268. are in effect.   The  following  examples  assume  that  the  data  stream  is
  1269. initially in English state:
  1270.  
  1271.         \vChu+~ Vie^.t          --->    Chµ Vi«t 
  1272.         \vCh\u+~ Vi\e^.t        --->    Chµ Vi«t 
  1273.         Chu+~ \vVie^.t          --->    Chu+~ Vi«t 
  1274.  
  1275.     The availability of implicit composition in Vietnamese state ensures  that
  1276. the text is not cluttered with unnecessary <COM>s,  as would be  the  case  in
  1277. Vietnamese text using explicit composition. Explicit composition  is  included
  1278. to maintain compatibility with the English state so that there is no  need  to
  1279. define additional meanings for  the  <COM>  sequences.   Also,  the  real-time
  1280. keyboard compatibility mentioned previously is also  available  in  Vietnamese
  1281. state through explicit composition.
  1282.  
  1283. 4.2.6. Character Literals in English and Vietnamese States
  1284. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1285.  
  1286. Consider the following example:
  1287.  
  1288.       \vDu~ng, how are you?    --->    D√ng, how are yoⁿ
  1289.  
  1290.     In this example,  the sequence "you?" was interpreted as "yoⁿ" because the
  1291. data stream was still in Vietnamese state.   Thus it is sometimes desirable to
  1292. suppress composition altogether without having to switch states.   The literal
  1293. property of the <COM> character conveniently  accomplishes  this.   In  either
  1294.  
  1295. ------------------------------------------------------------------------------
  1296.     {9} To effect <COM>L,  <COM>M,  and <COM>V themselves,  it is necessary to
  1297. switch to either English or Vietnamese state and  use  the  Character  Literal
  1298. feature available there.
  1299.                                                                         21
  1300. Vietnamese or English state,  whenever <COM> is followed  by  a  non-combining
  1301. character c the result is the  literal  character  c  itself.   The  <COM>  is
  1302. discarded from the data stream.   To get the <COM>  character  literally,  use
  1303. <COM><COM>.  Consider the following examples:
  1304.  
  1305.                 \vddi dda^u?       --->        ≡i ≡Γⁿ
  1306.                 \vddi dda^u\?      --->        ≡i ≡Γu?
  1307.                 \m\ddi v\o^?       --->        ≡i v▒
  1308.                 \m\ddi v\o^\?      --->        ≡i v⌠?
  1309.                 \\                 --->        \
  1310.                 \\V                --->        \V
  1311.                 \\M                --->        \M
  1312.                 \\L                --->        \L
  1313.  
  1314. 4.2.7. Closure
  1315. ~~~~~~~~~~~~~~
  1316.  
  1317. The data stream supports another special character used to  generate  explicit
  1318. closure.   The closure character is CTRL-A (ASCII 0x01),  known here as <CLS>.
  1319. When <CLS> is encountered in the data stream,  it immediately  terminates  any
  1320. ongoing composition sequence.  The <CLS> itself is always discarded, unless it
  1321. appears in the literal sequence <COM><CLS>.
  1322.  
  1323.     Explicit closure is useful in real-time  character  applications  such  as
  1324. keyboard entry,  when it is necessary to specify that a  composition  sequence
  1325. has in fact ended and the input engine should not stay hanging  and  wait  for
  1326. more data.
  1327.  
  1328.  
  1329. 5. SPECIFIC APPLICATIONS
  1330. ~~~~~~~~~~~~~~~~~~~~~~~~
  1331.  
  1332. This section outlines application-specific  guidelines  and  conventions  that
  1333. have evolved in the software development community.   It is intended to  be  a
  1334. live and growing documentation of  such  discussions  as  more  experience  is
  1335. gathered.   Readers are  welcome  to  participate  in  these  discussions  and
  1336. contribute to the development of these guidelines in particular,  and  to  the
  1337. standards in general.
  1338.  
  1339. 5.1  ELECTRONIC MAIL OVER 7-BIT CHANNELS
  1340. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1341.  
  1342. Many of the available channels for electronic mail currently still enforce the
  1343. 7-bit limitation.   The 8-bit character set defined in  Section  3  cannot  be
  1344. transported verbatim over these channels.   VIQR plays an important role here,
  1345. as it provides for 7-bit transport of Vietnamese text  without  the  ambiguity
  1346. problem of deciding what to do with the double usage of a
  1347. diacritical/punctuation mark,  e.g.,  the hook-above or  question  mark,  "?".
  1348. Because of the 7-bit nature of these communications channels, mail agents will
  1349. typically not encounter those Vietnamese-specific base vowels that are encoded
  1350. in the G1 area, namely: σ, ┼, Γ, ┬, Ω, ╩, ⌠, ╘, ╜, ┤, ▀, and ┐. However,  mail
  1351. agents designed to work with 8-bit channels are still expected to  handle  the
  1352. occurrence of these characters according  to  the  complete  VIQR,  namely  to
  1353.                                                                         22
  1354. combine base vowels and diacritical marks as appropriate, for example:
  1355.  
  1356.                     σ'     --->      í
  1357.  
  1358.     In order to  be  correctly  interpreted,  electronic  mail  messages  must
  1359. explicitly set the language state either in the headers  or  text  body.   One
  1360. cannot assume what state the receiving input engine is in at the start of  the
  1361. message,  since messages are not always read in message units,  e.g.,  when  a
  1362. file containing multiple mail messages is scanned.
  1363.  
  1364.     Furthermore,  if a language state specification (\L,  \V or \M) is present
  1365. in a mail message,  it is highly recommended  that  the  message  end  in  the
  1366. Literal state.   This helps applications reading multiple mail messages in one
  1367. data stream,  such as a terminal  application.   It  is  useful  because  mail
  1368. headers do not adhere to the VIQR,  and they are more adversely affected  when
  1369. interpreted in non-Literal states.
  1370.  
  1371. 5.2. VIETNAMESE KEYBOARDING
  1372. ~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1373.  
  1374. Keyboards are becoming increasingly internationalized.   As mentioned  in  the
  1375. 8-bit specification,  this is  the  major  reason  for  using  the  same  code
  1376. positions for those Vietnamese characters already present in ISO 8859/Latin-1.
  1377. A Vietnamese keyboard driver designed to work in  the  7-bit-only  environment
  1378. can assume that it will not encounter Vietnamese base vowels residing  in  G1.
  1379. Keyboard drivers for the 8-bit environments, like 8-bit electronic mail agents
  1380. (Section 5.1),  must be prepared to accept any  base  vowel,  including  those
  1381. encoded in G1.
  1382.  
  1383.     The real-time  echoing  behavior  of  keyboard  input  during  composition
  1384. requires further specification.   The options are to report the character only
  1385. after the composition sequence has finished,  or to  report  all  intermediate
  1386. forms and backspacing over them.  Each has its own useful context as described
  1387. below.
  1388.  
  1389. 5.2.1.  Immediate Echo for Implicit Composition
  1390. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1391.  
  1392. Implicit composition is designed to be convenient for a user  processing  data
  1393. that is mostly Vietnamese.   As such it is desirable for the keyboarding  user
  1394. to get immediate  feedback  on  typed  keys. With  implicit  composition,  the
  1395. keyboard works in immediate-echo mode.   Keypresses immediately  generate  key
  1396. events.   If a character is subsequently composed with a diacritical  mark,  a
  1397. backspace (typically BS,  ASCII 0x08) is sent followed  by  the  new  composed
  1398. character.   This cycle continues as  long  as  composition  is  possible. The
  1399. sequence of events for the key sequence "a^'n" under immediate echo is:
  1400.  
  1401.        1. user types a, a is sent to the application
  1402.        2. user types ^, BS and Γ are sent
  1403.        3. user types ', BS and ñ are sent
  1404.        4. user types n, the single key n is sent
  1405.  
  1406.     The actual backspace character code may  vary  depending  on  the  system,
  1407.                                                                         23
  1408. application,  and user  settings.   The  keyboard  interface  should  use  the
  1409. appropriate code,  and/or allow the user to specify  the  preferred  backspace
  1410. character.
  1411.  
  1412. 5.2.2. Delayed Echo for Explicit Composition
  1413. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1414.  
  1415. When a composition sequence is started,  the keyboard interface must not  send
  1416. any key events to the application expecting keyboard input until the  sequence
  1417. is terminated.   Composition may  end  either  naturally  when  the  interface
  1418. receives a character that cannot be composed into the sequence,  or  when  the
  1419. closure character <CLS> is received.   A single key  event  for  the  composed
  1420. character is then sent to the application above.   Subsequent  processing  can
  1421. proceed naturally.   Consider what happens when the user  types  the  sequence
  1422. "\a^'n"  under delayed echo:
  1423.  
  1424.        1. user types \, no key is sent to the application
  1425.        2. user types a, no key is sent
  1426.        3. user types ^, no key is sent
  1427.        4. user types ', the single key ñ is sent
  1428.        5. user types n, the single key n is sent
  1429.  
  1430.     Or an example involving closure, t\o+<CLS>:
  1431.  
  1432.        1. user types t, the key t  is sent
  1433.        2. user types \, no key is sent
  1434.        3. user types o, no key is sent
  1435.        4. user types +, no key is sent
  1436.        5. user types CTRL-A, the single key ╜ is sent
  1437.  
  1438.     Note that without the closure key the keyboard interface  would  still  be
  1439. left hanging after the "+" key has been pressed,  because the user  can  still
  1440. enter a tone mark as part of the composition sequence.
  1441.  
  1442.     This delayed-echo behavior for explicit composition is designed to  ensure
  1443. compatibility  with  applications  expecting  single  key  events   for   each
  1444. character,  particularly in the English state where only explicit  composition
  1445. is available.
  1446.  
  1447.     While  it  is  certainly  possible  to  have  immediate-echo  in  explicit
  1448. composition or delayed-echo in implicit composition,  these  options  are  not
  1449. useful and serve only to confuse the user learning how  to  use  a  Vietnamese
  1450. keyboard.   It is therefore simplest to associate delayed-echo  with  explicit
  1451. composition, and immediate-echo with implicit composition.  These options make
  1452. natural sense.
  1453.  
  1454.     This standard defines the minimal  "look-and-feel"  behavior  a  user  can
  1455. expect from a compliant Vietnamese software package.  A standardized interface
  1456. decreases the required learning time for each new application.   This standard
  1457. does not preclude other input mechanisms to improve  user-friendliness,  e.g.,
  1458. intelligent menu-driven diacritics,  or  to  assist  in  speed  typing,  e.g.,
  1459. through the use of CONTROL or FUNCTION keys.   Any  enhancement  in  compliant
  1460. applications is a bonus for the user,  so long as  such  enhancements  do  not
  1461.                                                                         24
  1462. adversely conflict with the minimum expected behavior described here.
  1463.  
  1464. 5.3. ADAPTING EXISTING VIETNAMESE APPLICATIONS
  1465. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1466.  
  1467. A realistic approach to  standardization  provides  for  the  inertia  against
  1468. change in existing software applications.   While it  is  desirable  that  the
  1469. standard 8-bit encoding described here  be  fully  supported,  an  alternative
  1470. exists which is more amenable to  rapid  adoption.   All  applications  should
  1471. provide a means for importing and exporting  data  encoded  using  the  VISCII
  1472. 8-bit encoding table.  At the same time, the VIQR keyboard interface should be
  1473. implemented,  at least as an optional entry method.   Such  moves  are  highly
  1474. desirable both for the user and the vendor alike.   The user will be  able  to
  1475. use the software immediately because of the  uniform  keyboard  interface,  as
  1476. well as process the same data  in  different  applications  and  on  different
  1477. platforms,  with increased productivity and interactivity among  users.   This
  1478. ease of use means greater acceptance and  a  correspondingly  larger  customer
  1479. base for the vendor.
  1480.  
  1481.  
  1482. 6. SUMMARY & CONCLUSIONS
  1483. ~~~~~~~~~~~~~~~~~~~~~~~~
  1484.  
  1485. This  paper  has  presented  a  proposal  for  standardization  of  Vietnamese
  1486. information  processing.    A  case  has  been  made  for  the  necessity   of
  1487. standardization;  we hope to have encouraged vendors and users  of  Vietnamese
  1488. alike to work together toward this goal to benefit everyone involved.  Various
  1489. encoding approaches were discussed,  leading to the choice of the VISCII 8-bit
  1490. encoding proposal.   A single encoding table was presented that has been shown
  1491. in actual practice to work well for Vietnamese including editing,  processing,
  1492. storage, transfer, font encoding, and printing.  Where 8-bit data handling was
  1493. not available or reliable,  e.g.,  electronic mail transport,  the  Vietnamese
  1494. Quote-Readable specification (VIQR)  was  introduced  to  provide  a  seamless
  1495. filtering gateway.   VIQR was defined to be input-source-independent and hence
  1496. has been designed to be applicable to Vietnamese keyboard  input  as  well  as
  1497. machine data filters.   All of this was shown to  have  been  integrated  into
  1498. existing  environments  facilitating   the   use   of   existing   tools   and
  1499. applications---a   major   strength   of   the   encoding.    Finally,   these
  1500. specifications have been linked together seamlessly to include every point  in
  1501. the input-process/transfer-output cycle of data handling  and  provide  for  a
  1502. truly unified framework for Vietnamese information processing.
  1503.  
  1504.  
  1505. References
  1506. ~~~~~~~~~~
  1507.  
  1508. [1]  B╒ch H▀ng Khang.  "Institute of Informatics."  Hα N╡i,
  1509.      Vi«t Nam, Feb. 1991.
  1510.  
  1511. [2]  B. Jerman-Blazic, "Will the Multi-octet Standard Character Set
  1512.      Code Solve the World Coding Problems for Information Interchange?"
  1513.      Computer Standards & Interfaces, vol. 8, pages 127-136, 1988.
  1514.  
  1515.                                                                         25
  1516. [3]  The Unicode Consortium.  The Unicode Standard: Worldwide
  1517.      Character Encoding Version 1.0.  Addison-Wesley, Reading, MA,
  1518.      first edition, Oct. 1991.
  1519.  
  1520. [4]  ISO Technical Committee, "Universal Multiple-Octet Coded
  1521.      Character Set (UCS), ISO/IEC DIS 10646-1.2," Draft standard,
  1522.      International Organization for Standardization, 1992.
  1523.  
  1524. [5]  International Organization for Standardization, ISO 8859/x:
  1525.      8-bit Internatonal Code Sets.  ISO, 1977.
  1526.  
  1527. [6]  Famjxuaen Thais.  Vi«t Ngµ CΣi Cßch.  T╤ HΣi, Hα N╡i,
  1528.      Vi«t Nam, Mar. 1948.
  1529.  
  1530. [7]  Ph╒m XuΓn Thßi.  Chµ Vi«t H■p Lφ, Tφn-╨╤c Th▀ Xπ,
  1531.      Sαi G≥n, Vi«t Nam, Apr. 1958.
  1532.  
  1533. [8]  J. Postel, "Simple Mail Transfer Protocol," RFC 822, USC
  1534.      Information Sciences Institute, Aug. 1982.
  1535.  
  1536. [9]  J. C. Klensin et al., "SMTP Extensions for Transport of
  1537.      Text-Based Messages Containing 8-bit Characters," Internet draft,
  1538.      Massachusetts Institute of Technology, July 1991.
  1539.  
  1540. [10] K. Simonsen, "Character Mnemonics & Character Sets," Internet
  1541.      Draft, Danish Unix Users Group, Jan. 1992.
  1542.  
  1543. [11] K. Simonsen, "Mnemonic Text Format," Internet draft, Danish
  1544.      Unix Users Group, Aug. 1991.
  1545.  
  1546. [12] International Organization for Standardization.  ISO 646:
  1547.      7-bit Coded Character Set for Information Interchange.  ISO,
  1548.      third edition, 1991.
  1549.  
  1550. [13] International Organization for Standardization.  ISO 2022:
  1551.      7-bit and 8-bit Coded Character Sets--Code Extension Techniques.
  1552.      ISO, third edition, 1986.
  1553.  
  1554. [14] E. M. van der Poel, "Multilingual Character Encoding for Internet
  1555.      Messages," Internet draft, Software Research Associates,
  1556.      Japan, Jan. 1992.
  1557.  
  1558. [15] IBM.  System/370 Reference Summary-GX20-1850-5, sixth edition, 1984.
  1559.  
  1560. [16] C.E. Mackenzie.  Coded-Character Sets: History and Development.
  1561.      Addison-Wesley, Reading, MA, 1980.
  1562.  
  1563. [17] D.E. Knuth.  The TeXbook.  Addison-Wesley, Reading, MA, 1984.
  1564.  
  1565.  
  1566.                                                                         26
  1567. Glossary of Terms
  1568. ~~~~~~~~~~~~~~~~~
  1569.  
  1570. Announcer: A character or sequence of characters appearing in  the  data  that
  1571.     signifies the start of some special sequence.   In this text, it announces
  1572.     a Vietnamese composition sequence.
  1573.  
  1574. ASCII:  American Standard Code for Information  Interchange,  a  128-character
  1575.     code  used  almost  universally  by   computers   for   representing   and
  1576.     transmitting characters data,  in which each character  corresponds  to  a
  1577.     decimal number between 0 and 127. Eight- or nine-bit codes  of  which  the
  1578.     first 128 characters correspond to ASCII are called  Extended  ASCII;  the
  1579.     additional characters are used to provide  graphic  characters  for  roman
  1580.     alphabets with diacritics,  non-roman alphabets,  special screen  effects,
  1581.     etc.
  1582.  
  1583. Base Vowel: In this text, the unaccented Vietnamese vowels: a, σ, Γ, e, Ω,  i,
  1584.     o, ⌠, ╜, u, ▀, y (and their capitals).  Contrast this with Vowel.
  1585.  
  1586. C0 Space: "Control characters" at code positions with hex  values  00  through
  1587.     1F.
  1588.  
  1589. C1 Space: "Control characters" at code positions with hex  values  80  through
  1590.     9F.
  1591.  
  1592. Code: In data communication,  the numeric or  internal  representation  for  a
  1593.     character, e.g., in ASCII.
  1594.  
  1595. Code Page: Name used to denote glyph sets on the IBM PC. Abbreviated as CP. CP
  1596.     850 is the multilingual code page,  CP860 is for Portugal,  CP863  is  for
  1597.     French Canada, CP865 is for Norway.
  1598.  
  1599. Control Character: An ASCII character  in  the  range  0  to  31,  plus  ASCII
  1600.     character 127,  contrasted with the printable,  or graphic,  characters in
  1601.     the range 32 to 126. It is produced on an ASCII terminal by  holding  down
  1602.     the CTRL key and typing the desired character.
  1603.  
  1604. EBCDIC: Extended Binary Coded Decimal  Interchange  Code. The  character  code
  1605.     used on IBM mainframes.  Not covered by any formal standards but described
  1606.     definitively in [15] and discussed at length in [16].
  1607.  
  1608. Floating Diacritics: A multiple-unit encoding  approach  for  Vietnamese  that
  1609.     treats the vowel and its diacritics as separate units. The diacritics  may
  1610.     either precede or follow the vowel,  or even the word. Contrast this  with
  1611.     Precomposed Character.
  1612.  
  1613. Glyph: The physical appearance of a character as displayed on  the  screen  or
  1614.     printed on paper.
  1615.  
  1616. G0 Space: "Graphic characters" at code positions with hex  values  20  through
  1617.     7F.
  1618.  
  1619. G1 Space: "Graphic characters" at code positions with hex  values  A0  through
  1620.                                                                         27
  1621.     FF.
  1622.  
  1623. ISO:   International   Organization   for   Standardization.     A   voluntary
  1624.     international  group  of  national  standards  organizations  that  issues
  1625.     standards in all areas, including computers,  information processing,  and
  1626.     character sets.
  1627.  
  1628. ISO 646: The standard 7-bit code set, equivalent to ASCII [12].
  1629.  
  1630. ISO Standard 8859: An ISO standard  specifying  a  series  of  8-bit  computer
  1631.     character sets that include characters from many languages. These  include
  1632.     ISO Latin Alphabets 1-9,  which cover most of the written languages  based
  1633.     on Roman letters, plus special character sets for Cyrillic, Greek, Arabic,
  1634.     and Hebrew [5].
  1635.  
  1636. ISO 8859/1: ISO Standard 8859 Latin Alphabet Number 1. Supports at  least  the
  1637.     following languages: Latin, Danish,  Dutch,  English,  Faeroese,  Finnish,
  1638.     French, German, Icelandic, Irish, Italian, Norwegian, Portuguese, Spanish,
  1639.     and Swedish [5].
  1640.  
  1641. ISO 2022 and ISO 4873: ISO standards for switching code pages [13].
  1642.  
  1643. ISO DIS 10646: The prospective 16- and  32-bit  Universal  Coded  Set,  (Draft
  1644.     International Standard) [4].
  1645.  
  1646. Latin: Referring to the Latin, or Roman, alphabet,  comprised of the letters A
  1647.     through Z, or to any alphabet based upon it.
  1648.  
  1649. MS-DOS: Microsoft's Disk Operating System  for  microcomputers  based  on  the
  1650.     Intel 80x86 family of CPU chips.
  1651.  
  1652. Modifier: A phonetic diacritical mark.   The Vietnamese modifiers  are:  breve
  1653.     (dñu trσng or dñu ß), circumflex (dñu m√, ^),  horn (dñu m≤c).
  1654.  
  1655. PC: Personal Computer.   In this text, the term PC refers to the entire IBM PC
  1656.     and PS/2 families and compatibles, which includes the AT,  286,  386,  and
  1657.     486 PC's.
  1658.  
  1659. PostScript: A page description language with  graphics  capabilities  designed
  1660.     for  electronic  printing. The  description  is  high-level  and   device-
  1661.     independent. PostScript is a trademark of Adobe Systems Incorporated.
  1662.  
  1663. Precomposed Characters: An encoding approach for Vietnamese  that  treats  all
  1664.     vowel  combinations  as  single   units. Contrast   this   with   Floating
  1665.     Diacritics.
  1666.  
  1667. TeX:  A computerized  typesetting  system  developed  by  Donald  Knuth  [17],
  1668.     providing  nearly  everything  needed  for  high-quality  typesetting   of
  1669.     mathematical notations as well as of ordinary text. TeX is a trademark  of
  1670.     the American Mathematical Society.
  1671.  
  1672. Tone Mark: A tonal diacritical  mark  that  indicates  the  tone/accent.   The
  1673.     Vietnamese tone marks are: acute (síc),  grave (huy½n),  hook above (h÷i),
  1674.                                                                         28
  1675.     tilde (ngπ), dot below (núng).
  1676.  
  1677. Unicode:  A  16-bit  multilingual  character  code  proposed  by  the  Unicode
  1678.     Consortium [3].
  1679.  
  1680. Unix: A popular operating system developed at AT&T Bell Laboratories and noted
  1681.     for its portability.
  1682.  
  1683. Usenet: A worldwide network available to users for sending messages (or  "news
  1684.     articles") that can be read and responded to by other users. Participating
  1685.     in Usenet is like subscribing to a  collection  of  electronic  magazines.
  1686.     These "magazines," called newsgroups,  are devoted to  particular  topics.
  1687.     The  "Soc.Culture.Vietnamese"  newsgroup  is  very  popular   among   both
  1688.     Vietnamese and non-Vietnamese worldwide.
  1689.  
  1690. Viet-Std: A non-profit group of overseas Vietnamese  and  other  professionals
  1691.     working on software & hardware  standards  for  the  Vietnamese  language.
  1692.     Members of the group exchange ideas via electronic mail and meetings.
  1693.  
  1694. Vowel: In this text,  a generic term applying to  all  Vietnamese  vowels  and
  1695.     their various combining forms, e.g., a, σ, and í. See Base Vowel.
  1696.  
  1697.                                                                         29
  1698.   Appendix A: Vietnamese Characters under VISCII and VIQR by Collating Order
  1699. +=================++==================++==================++=================+
  1700. |Chr: VIQR:VISCII || Chr: VIQR:VISCII || Chr: VIQR:VISCII || Chr: VIQR:VISCII|
  1701. +---:-----:-------++----:-----:-------++----:-----:-------++----:-----:------+
  1702. | A : A   :  065  ||  N : N   :  078  ||  a : a   :  097  ||  n : n   :  110 |
  1703. | ┴ : A'  :  193  ||  O : O   :  079  ||  ß : a'  :  225  ||  o : o   :  111 |
  1704. | └ : A`  :  192  ||  ╙ : O'  :  211  ||  α : a`  :  224  ||  ≤ : o'  :  243 |
  1705. | ─ : A?  :  196  ||  ╥ : O`  :  210  ||  Σ : a?  :  228  ||  ≥ : o`  :  242 |
  1706. | ├ : A~  :  195  ||  Ö : O?  :  153  ||  π : a~  :  227  ||  ÷ : o?  :  246 |
  1707. | Ç : A.  :  128  ||  ╒ : O~  :  213  ||  á : a.  :  160  ||  ⌡ : o~  :  245 |
  1708. | ┼ : A(  :  197  ||  Ü : O.  :  154  ||  σ : a(  :  229  ||  ≈ : o.  :  247 |
  1709. | ü : A(' :  129  ||  ╘ : O^  :  212  ||  í : a(' :  161  ||  ⌠ : o^  :  244 |
  1710. | é : A(` :  130  ||  Å : O^' :  143  ||  ó : a(` :  162  ||  » : o^' :  175 |
  1711. |  : A(? :  002  ||  É : O^` :  144  ||  ╞ : a(? :  198  ||  ░ : o^` :  176 |
  1712. |  : A(~ :  005  ||  æ : O^? :  145  ||  ╟ : a(~ :  199  ||  ▒ : o^? :  177 |
  1713. | â : A(. :  131  ||  Æ : O^~ :  146  ||  ú : a(. :  163  ||  ▓ : o^~ :  178 |
  1714. | ┬ : A^  :  194  ||  ô : O^. :  147  ||  Γ : a^  :  226  ||  ╡ : o^. :  181 |
  1715. | ä : A^' :  132  ||  ┤ : O+  :  180  ||  ñ : a^' :  164  ||  ╜ : o+  :  189 |
  1716. | à : A^` :  133  ||  ò : O+' :  149  ||  Ñ : a^` :  165  ||  ╛ : o+' :  190 |
  1717. | å : A^? :  134  ||  û : O+` :  150  ||  ª : a^? :  166  ||  ╢ : o+` :  182 |
  1718. |  : A^~ :  006  ||  ù : O+? :  151  ||  τ : a^~ :  231  ||  ╖ : o+? :  183 |
  1719. | ç : A^. :  135  ||  │ : O+~ :  179  ||  º : a^. :  167  ||  ▐ : o+~ :  222 |
  1720. | B : B   :  066  ||  ö : O+. :  148  ||  b : b   :  098  ||  ■ : o+. :  254 |
  1721. | C : C   :  067  ||  P : P   :  080  ||  c : c   :  099  ||  p : p   :  112 |
  1722. | D : D   :  068  ||  Q : Q   :  081  ||  d : d   :  100  ||  q : q   :  113 |
  1723. | ╨ : DD  :  208* ||  R : R   :  082  ||  ≡ : dd  :  240  ||  r : r   :  114 |
  1724. | E : E   :  069  ||  S : S   :  083  ||  e : e   :  101  ||  s : s   :  115 |
  1725. | ╔ : E'  :  201  ||  T : T   :  084  ||  Θ : e'  :  233  ||  t : t   :  116 |
  1726. | ╚ : E`  :  200  ||  U : U   :  085  ||  Φ : e`  :  232  ||  u : u   :  117 |
  1727. | ╦ : E?  :  203  ||  ┌ : U'  :  218  ||  δ : e?  :  235  ||  · : u'  :  250 |
  1728. | ê : E~  :  136  ||  ┘ : U`  :  217  ||  ¿ : e~  :  168  ||  ∙ : u`  :  249 |
  1729. | ë : E.  :  137  ||  £ : U?  :  156  ||  ⌐ : e.  :  169  ||  ⁿ : u?  :  252 |
  1730. | ╩ : E^  :  202  ||  ¥ : U~  :  157  ||  Ω : e^  :  234  ||  √ : u~  :  251 |
  1731. | è : E^' :  138  ||  ₧ : U.  :  158  ||  ¬ : e^' :  170  ||  ° : u.  :  248 |
  1732. | ï : E^` :  139  ||  ┐ : U+  :  191  ||  ½ : e^` :  171  ||  ▀ : u+  :  223 |
  1733. | î : E^? :  140  ||  ║ : U+' :  186  ||  ¼ : e^? :  172  ||  ╤ : u+' :  209 |
  1734. | ì : E^~ :  141  ||  ╗ : U+` :  187  ||  ¡ : e^~ :  173  ||  ╫ : u+` :  215 |
  1735. | Ä : E^. :  142  ||  ╝ : U+? :  188  ||  « : e^. :  174  ||  ╪ : u+? :  216 |
  1736. | F : F   :  070  ||    : U+~ :  255  ||  f : f   :  102  ||  µ : u+~ :  230 |
  1737. | G : G   :  071  ||  ╣ : U+. :  185  ||  g : g   :  103  ||  ± : u+. :  241 |
  1738. | H : H   :  072  ||  V : V   :  086  ||  h : h   :  104  ||  v : v   :  118 |
  1739. | I : I   :  073  ||  W : W   :  087  ||  i : i   :  105  ||  w : w   :  119 |
  1740. | ═ : I'  :  205  ||  X : X   :  088  ||  φ : i'  :  237  ||  x : x   :  120 |
  1741. | ╠ : I`  :  204  ||  Y : Y   :  089  ||  ∞ : i`  :  236  ||  y : y   :  121 |
  1742. | ¢ : I?  :  155  ||  ▌ : Y'  :  221  ||  ∩ : i?  :  239  ||  ² : y'  :  253 |
  1743. | ╬ : I~  :  206  ||  ƒ : Y`  :  159  ||  ε : i~  :  238  ||  ╧ : y`  :  207 |
  1744. | ÿ : I.  :  152  ||   : Y?  :  020  ||  ╕ : i.  :  184  ||  ╓ : y?  :  214 |
  1745. | J : J   :  074  ||   : Y~  :  025  ||  j : j   :  106  ||  █ : y~  :  219 |
  1746. | K : K   :  075  ||   : Y.  :  030  ||  k : k   :  107  ||  ▄ : y.  :  220 |
  1747. | L : L   :  076  ||  Z : Z   :  090  ||  l : l   :  108  ||  z : z   :  122 |
  1748. | M : M   :  077  ||    :     :       ||  m : m   :  109  ||    :     :      |
  1749. +=================++==================++==================++=================+
  1750.  
  1751.          * VIQR also allows "╨" to be represented by "Dd" or "dD".
  1752.                                                                         30
  1753.   Appendix B: Vietnamese Characters under VISCII and VIQR by Encoding Order
  1754. +===================================+========================================+
  1755. |VISCII:Chr:VIQR : Descriptive Name |VISCII:Chr:VIQR : Descriptive Name      |
  1756. +------:---:-----:------------------+------:---:-----:-----------------------+
  1757. |  002 :  : A(? :A breve hook-above|  112 : p : p   : p                     |
  1758. |  005 :  : A(~ :A breve tilde     |  113 : q : q   : q                     |
  1759. |  006 :  : A^~ :A circumflex tilde|  114 : r : r   : r                     |
  1760. |  020 :  : Y?  :Y hook-above      |  115 : s : s   : s                     |
  1761. |  025 :  : Y~  :Y tilde           |  116 : t : t   : t                     |
  1762. |  030 :  : Y.  :Y dot-below       |  117 : u : u   : u                     |
  1763. |  065 : A : A   : A                |  118 : v : v   : v                     |
  1764. |  066 : B : B   : B                |  119 : w : w   : w                     |
  1765. |  067 : C : C   : C                |  120 : x : x   : x                     |
  1766. |  068 : D : D   : D                |  121 : y : y   : y                     |
  1767. |  069 : E : E   : E                |  122 : z : z   : z                     |
  1768. |  070 : F : F   : F                |  128 : Ç : A.  : A dot-below           |
  1769. |  071 : G : G   : G                |  129 : ü : A(' : A breve acute         |
  1770. |  072 : H : H   : H                |  130 : é : A(` : A breve grave         |
  1771. |  073 : I : I   : I                |  131 : â : A(. : A breve dot-below     |
  1772. |  074 : J : J   : J                |  132 : ä : A^' : A circumflex acute    |
  1773. |  075 : K : K   : K                |  133 : à : A^` : A circumflex grave    |
  1774. |  076 : L : L   : L                |  134 : å : A^? :A circumflex hook-above|
  1775. |  077 : M : M   : M                |  135 : ç : A^. :A circumflex dot-below |
  1776. |  078 : N : N   : N                |  136 : ê : E~  :E tilde                |
  1777. |  079 : O : O   : O                |  137 : ë : E.  :E dot-below            |
  1778. |  080 : P : P   : P                |  138 : è : E^' :E circumflex acute     |
  1779. |  081 : Q : Q   : Q                |  139 : ï : E^` :E circumflex grave     |
  1780. |  082 : R : R   : R                |  140 : î : E^? :E circumflex hook-above|
  1781. |  083 : S : S   : S                |  141 : ì : E^~ :E circumflex tilde     |
  1782. |  084 : T : T   : T                |  142 : Ä : E^. :E circumflex dot-below |
  1783. |  085 : U : U   : U                |  143 : Å : O^' :O circumflex acute     |
  1784. |  086 : V : V   : V                |  144 : É : O^` :O circumflex grave     |
  1785. |  087 : W : W   : W                |  145 : æ : O^? :O circumflex hook-above|
  1786. |  088 : X : X   : X                |  146 : Æ : O^~ :O circumflex tilde     |
  1787. |  089 : Y : Y   : Y                |  147 : ô : O^. :O circumflex dot-below |
  1788. |  090 : Z : Z   : Z                |  148 : ö : O+. : O horn dot-below      |
  1789. |  097 : a : a   : a                |  149 : ò : O+' : O horn acute          |
  1790. |  098 : b : b   : b                |  150 : û : O+` : O horn grave          |
  1791. |  099 : c : c   : c                |  151 : ù : O+? : O horn hook-above     |
  1792. |  100 : d : d   : d                |  152 : ÿ : I.  : I dot-below           |
  1793. |  101 : e : e   : e                |  153 : Ö : O?  : O hook-above          |
  1794. |  102 : f : f   : f                |  154 : Ü : O.  : O dot-below           |
  1795. |  103 : g : g   : g                |  155 : ¢ : I?  : I hook-above          |
  1796. |  104 : h : h   : h                |  156 : £ : U?  : U hook-above          |
  1797. |  105 : i : i   : i                |  157 : ¥ : U~  : U tilde               |
  1798. |  106 : j : j   : j                |  158 : ₧ : U.  : U dot-below           |
  1799. |  107 : k : k   : k                |  159 : ƒ : Y`  : Y grave               |
  1800. |  108 : l : l   : l                |  160 : á : a.  : a dot-below           |
  1801. |  109 : m : m   : m                |  161 : í : a(' : a breve acute         |
  1802. |  110 : n : n   : n                |  162 : ó : a(` : a breve grave         |
  1803. |  111 : o : o   : o                |  163 : ú : a(. : a breve dot-below     |
  1804. +===================================+========================================+
  1805.                                                                         31
  1806.         Appendix B: Vietnamese Characters under VISCII and VIQR by
  1807.                     Encoding Order (continued)
  1808. +========================================+===================================+
  1809. |VISCII:Chr:VIQR : Descriptive Name      |VISCII:Chr:VIQR : Descriptive Name |
  1810. +------:---:-----:-----------------------+------:---:-----:------------------+
  1811. |  164 : ñ : a^' : a circumflex acute    |  210 : ╥ : O`  : O grave          |
  1812. |  165 : Ñ : a^` : a circumflex grave    |  211 : ╙ : O'  : O acute          |
  1813. |  166 : ª : a^? :a circumflex hook-above|  212 : ╘ : O^  : O circumflex     |
  1814. |  167 : º : a^. :a circumflex dot-below |  213 : ╒ : O~  : O tilde          |
  1815. |  168 : ¿ : e~  :e tilde                |  214 : ╓ : y?  : y hook-above     |
  1816. |  169 : ⌐ : e.  :e dot-below            |  215 : ╫ : u+` : u horn grave     |
  1817. |  170 : ¬ : e^' :e circumflex acute     |  216 : ╪ : u+? : u horn hook-above|
  1818. |  171 : ½ : e^` :e circumflex grave     |  217 : ┘ : U`  : U grave          |
  1819. |  172 : ¼ : e^? :e circumflex hook-above|  218 : ┌ : U'  : U acute          |
  1820. |  173 : ¡ : e^~ :e circumflex tilde     |  219 : █ : y~  : y tilde          |
  1821. |  174 : « : e^. :e circumflex dot-below |  220 : ▄ : y.  : y dot-below      |
  1822. |  175 : » : o^' :o circumflex acute     |  221 : ▌ : Y'  : Y acute          |
  1823. |  176 : ░ : o^` :o circumflex grave     |  222 : ▐ : o+~ : o horn tilde     |
  1824. |  177 : ▒ : o^? :o circumflex hook-above|  223 : ▀ : u+  : u horn           |
  1825. |  178 : ▓ : o^~ :o circumflex tilde     |  224 : α : a`  : a grave          |
  1826. |  179 : │ : O+~ :O horn tilde           |  225 : ß : a'  : a acute          |
  1827. |  180 : ┤ : O+  :O horn                 |  226 : Γ : a^  : a circumflex     |
  1828. |  181 : ╡ : o^. :o circumflex dot-below |  227 : π : a~  : a tilde          |
  1829. |  182 : ╢ : o+` : o horn grave          |  228 : Σ : a?  : a hook-above     |
  1830. |  183 : ╖ : o+? : o horn hook-above     |  229 : σ : a(  : a breve          |
  1831. |  184 : ╕ : i.  : i dot-below           |  230 : µ : u+~ : u horn tilde     |
  1832. |  185 : ╣ : U+. : U horn dot-below      |  231 : τ : a^~ :a circumflex tilde|
  1833. |  186 : ║ : U+' : U horn acute          |  232 : Φ : e`  : e grave          |
  1834. |  187 : ╗ : U+` : U horn grave          |  233 : Θ : e'  : e acute          |
  1835. |  188 : ╝ : U+? : U horn hook-above     |  234 : Ω : e^  : e circumflex     |
  1836. |  189 : ╜ : o+  : o horn                |  235 : δ : e?  : e hook-above     |
  1837. |  190 : ╛ : o+' : o horn acute          |  236 : ∞ : i`  : i grave          |
  1838. |  191 : ┐ : U+  : U horn                |  237 : φ : i'  : i acute          |
  1839. |  192 : └ : A`  : A grave               |  238 : ε : i~  : i tilde          |
  1840. |  193 : ┴ : A'  : A acute               |  239 : ∩ : i?  : i hook-above     |
  1841. |  194 : ┬ : A^  : A circumflex          |  240 : ≡ : dd  : d bar            |
  1842. |  195 : ├ : A~  : A tilde               |  241 : ± : u+. : u horn dot-below |
  1843. |  196 : ─ : A?  : A hook-above          |  242 : ≥ : o`  : o grave          |
  1844. |  197 : ┼ : A(  : A breve               |  243 : ≤ : o'  : o acute          |
  1845. |  198 : ╞ : a(? : a breve hook-above    |  244 : ⌠ : o^  : o circumflex     |
  1846. |  199 : ╟ : a(~ : a breve tilde         |  245 : ⌡ : o~  : o tilde          |
  1847. |  200 : ╚ : E`  : E grave               |  246 : ÷ : o?  : o hook-above     |
  1848. |  201 : ╔ : E'  : E acute               |  247 : ≈ : o.  : o dot-below      |
  1849. |  202 : ╩ : E^  : E circumflex          |  248 : ° : u.  : u dot-below      |
  1850. |  203 : ╦ : E?  : E hook-above          |  249 : ∙ : u`  : u grave          |
  1851. |  204 : ╠ : I`  : I grave               |  250 : · : u'  : u acute          |
  1852. |  205 : ═ : I'  : I acute               |  251 : √ : u~  : u tilde          |
  1853. |  206 : ╬ : I~  : I tilde               |  252 : ⁿ : u?  : u hook-above     |
  1854. |  207 : ╧ : y`  : y grave               |  253 : ² : y'  : y acute          |
  1855. | *208 : ╨ : DD  : D bar                 |  254 : ■ : o+. : o horn dot-below |
  1856. |  209 : ╤ : u+' : u horn acute          |  255 :   : U+~ : U horn tilde     |
  1857. +========================================+===================================+
  1858.          * VIQR also allows "╨" to be represented by "Dd" or "dD".
  1859.  
  1860.            MôT KHU╘N KHæ THÅNG NHäT CHO VIÄC X╝ L▌ D  KIÄN VIÄT NG 
  1861.  
  1862.  
  1863.                   Nh≤m NghiΩn C╤u TiΩu Chuªn Ti¬ng Vi«t {1}
  1864.                              Thßng Chφn 1992 {2}
  1865.  
  1866.  
  1867.  
  1868.                                    Toßt Y¬u
  1869.  
  1870. Nhi½u lo╒i nhu li«u ╤ng d°ng c≤ th¼ d∙ng Vi«t ngµ  ≡π xuñt hi«n nhóm  ≡ßp  ╤ng
  1871. nhu cÑu x╪ l² dµ ki«n Vi«t ngµ bóng ≡i«n toßn ngαy cαng gia tσng.  Nhu cÑu tñt
  1872. y¬u cⁿa vi«c tφch h■p ti¬ng Vi«t vαo m⌠i tr▀╢ng ≡i«n toßn hi«n th╢i,  c√ng nh▀
  1873. vi«c trao ≡▒i dµ ki«n giµa cßc m⌠i tr▀╢ng nαy ≡½u cho thñy s± cÑn  thi¬t  phΣi
  1874. c≤ m╡t tiΩu chuªn chung.   Vσn ki«n nαy tr∞nh bαy nhµng cΓn nhíc k█  thuºt  c≤
  1875. tφnh cßch th±c ti¡n vα quan tr≈ng mα m╡t tiΩu chuªn nh▀ trΩn cÑn phΣi c≤, ≡░ng
  1876. th╢i c√ng duy«t l╒i m╡t s» quy ▀╛c vα ≡½ ßn hi«n hµu trong nhµng lπnh v±c quan
  1877. tr≈ng nαy.   Vσn ki«n c√ng tr∞nh bαy tr≈n v⌐n ≡½ ßn  cⁿa  nh≤m  Viet-Std,  g░m
  1878. nhµng ≡i¼m sau: 1) BΣng mπ s» 8-bit cho tñt cΣ mτu t± Vi«t nguyΩn v⌐n (tΩn Anh
  1879. ngµ lα Vietnamese Standard  Code  for  Information  Interchange,  g≈i  tít  lα
  1880. VISCII),   2) M╡t tiΩu chuªn 7-bit ≡≈c-≡▀■c-trong-ngoúc (c≤  tΩn  Anh  ngµ  lα
  1881. Vietnamese Quoted-Readable, g≈i tít lα VIQR), d∙ng ≡¼ trao ≡▒i dµ ki«n qua cßc
  1882. m╒ch 7-bit, c≤ giao di«n su⌠ng sδ v╛i h« mπ t± 8-bit nΩu trΩn, 3) M╡t quy ≡╕nh
  1883. giao di«n ≡ßnh chµ cho ng▀╢i d∙ng c≤ th¼ vºn hαnh d¡ dαng v╛i cΣ 1  vα  2. Tñt
  1884. cΣ nhµng ≡i¼m trΩn t╒o thαnh m╡t khu⌠n kh▒ th»ng nhñt cho  m⌠i  tr▀╢ng  x╪  l²
  1885. Vi«t ngµ,  v╫a ≡╜n giΣn,  v╫a c≤ hi«u nσng vα tφch h■p d¡ dαng. Vi«c xΓy  d±ng
  1886. khu⌠n kh▒ nαy trΩn th±c t¬ ≡π thαnh c⌠ng xuyΩn qua nhµng ╤ng d°ng h■p th╤c sΣn
  1887. xuñt b╖i m╡t s» tºp th¼ vα cß nhΓn trΩn m╡t s» h« th»ng mßy khßc nhau,  g░m cΣ
  1888. khi¼n h« Unix vα nhµng bi¬n th¼ t▀╜ng t±, h« th»ng khung X (X-window), MS-DOS,
  1889. Windows, vα xuyΩn qua cßc c⌠ng tr∞nh ≡ang ≡▀■c th±c hi«n ╖ cßc n╜i khßc.
  1890.  
  1891.  
  1892. 1. LûI GIòI THIÄU
  1893. ~~~~~~~~~~~~~~~~~
  1894.  
  1895. V╛i s» l▀■ng ng▀╢i Vi«t t╒i hΣi ngo╒i ngαy cαng gia tσng vα vi«c s╪  d°ng  mßy
  1896. vi tφnh ngαy cαng lan r╡ng t╒i Vi«t Nam,  vi«c s╪ d°ng chµ Vi«t trong lπnh v±c
  1897. x╪ l² tin t╤c ≡π tσng tr▀╖ng nhanh ch≤ng.  ╨░ng th╢i nhu cÑu v½ nhu li«u ti¬ng
  1898. Vi«t c√ng gia tσng khi¬n cho nhi½u c⌠ng ty ≡π ≡▀■c thαnh lºp vα thαnh c⌠ng t╒i
  1899. Hoa K╧ vα cßc n╜i khßc, phÑn l╛n chuyΩn v½ nhu li«u x╪ l² chµ Vi«t (Vietnamese
  1900. word processing).  Ngoαi ra, nhi½u t▒ ch╤c c√ng nh▀ cß nhΓn ≡π n▓ l±c cung cñp
  1901. nhi½u ╤ng d°ng c⌠ng c╡ng mi¡n phφ v╛i phªm chñt cao cho c╡ng  ≡░ng  Vi«t  Nam.
  1902. T╒i Vi«t Nam, cßc trung tΓm nh▀ Vi«n Tin H≈c [1] ch╞ng h╒n ≡π ghi nhºn s± ti¬n
  1903. b╡ khΣ quan v½ nhi½u mút,  trong ≡≤ c≤ vi«c Vi«t Nam h≤a nhµng b╡ nhu li«u ph▒
  1904.  
  1905. ------------------------------------------------------------------------------
  1906.     {1} ╨╕a ch∩: Viet-Std, 1212 Somerset Dr., San Jose, California 95132, USA.
  1907. ╨╕a ch∩ ≡i«n th▀: Viet-Std@Haydn.Stanford.EDU
  1908.  
  1909.     {2} Tßi bΣn ngαy 3 thßng 12 nσm 1992. än bΣn 1.1 nαy thay th¬ ñn  bΣn  1.0
  1910. xuñt bΣn vαo thßng giΩng 1992. S± khßc bi«t chⁿ y¬u giµa hai ñn bΣn lα s± hoßn
  1911. ≡▒i v╕ trφ cⁿa hai mτu t± ╒ vα á trong bΣng mπ 8-bit.
  1912.  
  1913.                                          32
  1914.                                                                         33
  1915. th⌠ng.
  1916.  
  1917.     Tñt cΣ nhµng ≡i½u trΩn cho thñy r⌡ hai ≡i¼m quan tr≈ng:  1) Nhu cÑu v½ nhu
  1918. li«u d∙ng ≡▀■c v╛i chµ Vi«t cαng ngαy cαng tσng, vα 2) Kh⌠ng thi¬u tαi nσng ≡¼
  1919. ph°c v° nhµng nhu cÑu trΩn.   Ti¬c thay,  ch·ng ta vñp phΣi m╡t tr╖  ng╒i  rñt
  1920. l╛n:  hÑu h¬t cßc ╤ng d°ng d∙ng chµ Vi«t hi«n th╢i ch∩ ho╒t  ≡╡ng  ≡▀■c  trong
  1921. m╡t khu⌠n kh▒ hay m╡t m⌠i tr▀╢ng duy nhñt cⁿa ng▀╢i sΣn xuñt vα cßc  ╤ng  d°ng
  1922. do cßc nhα sΣn xuñt khßc nhau kh⌠ng t▀╜ng h■p v╛i nhau.   Kh»i ╤ng  d°ng  d∙ng
  1923. chµ Vi«t s¿ kh⌠ng bao gi╢ theo k╕p ≡α ≡≥i h÷i cⁿa th╕ tr▀╢ng  m╡t  khi  khuynh
  1924. h▀╛ng nΩu trΩn vτn c≥n t░n t╒i.   Ng▀╢i d∙ng mu»n s╪  d°ng  ti¬ng  Vi«t  trong
  1925. nhi½u lπnh v±c khßc nµa ch╤ kh⌠ng ch∩ gi╛i h╒n trong lπnh v±c  x╪  l²  chµ  mα
  1926. th⌠i,  vα vi«c mong ≡■i m╡t c⌠ng ty cung cñp m≈i ╤ng d°ng cho m≈i lπnh v±c cho
  1927. m≈i giαn mßy khßc nhau lα m╡t vi«c v⌠ t▀╖ng.  Ngoαi ra, nhµng chuyΩn viΩn vi¬t
  1928. cßc ╤ng d°ng nαy l╒i b╕ gi╛i h╒n vαo cßc nhu li«u  d°ng  c°  (software  tools)
  1929. ti¬ng Vi«t mα chφnh h≈ phΣi h≈c vα t± phßt tri¼n lñy.   Do ≡≤, vi«c ≡╕nh chuªn
  1930. lα m╡t ≡i½u bít bu╡c.   Bñt c╤ ai ≡π gúp phΣi t∞nh tr╒ng bñt  t▀╜ng  h■p  giµa
  1931. ASCII vα EBCDIC ≡½u c≤ th¼ m▀╢ng t▀■ng ra m╡t m⌠i tr▀╢ng mα m▓i mßy  d∙ng  m╡t
  1932. b╡ mπ t± khßc nhau,  l·c ≡≤ m╛i nhºn ra róng s» l▀■ng ╤ng d°ng cho m⌠i  tr▀╢ng
  1933. ≡≤ rñt lα gi╛i h╒n vα vi«c trao ≡▒i dµ ki«n rñt phi½n  toßi.   M╡t  khu⌠n  kh▒
  1934. th»ng nhñt s¿ t╒o rñt nhi½u thuºn l■i cho cΣ ng▀╢i d∙ng  lτn  ng▀╢i  vi¬t  nhu
  1935. li«u.
  1936.  
  1937.     Bñt c╤ d± thΣo tiΩu chuªn ti¬ng Vi«t nαo c√ng phΣi c╤u  xΘt  m╡t  s»  ≡i¼m
  1938. tr≈ng y¬u trong ≡·ng ph╒m vi cⁿa n≤.   ╨i¼m ≡Ñu tiΩn vα quan tr≈ng nhñt lα vñn
  1939. ≡½ tφch h■p.   V∞ vσn ki«n nαy ch· tr≈ng v½ m⌠i tr▀╢ng  7-bit  vα  8-bit  hi«n
  1940. th╢i,  m°c ≡φch chφnh y¬u phΣi lα s± tφch h■p (h╡i nhºp) ti¬ng Vi«t tr±c  ti¬p
  1941. vα d¡ dαng vαo cßc h« th»ng mßy hi«n th╢i.   TiΩu chuªn phΣi s╪ d°ng ≡▀■c ngay
  1942. lºp t╤c.   ╨i½u nαy ng° ² vi«c s╪ d°ng cßc mτu t± Vi«t nguyΩn v⌐n (precomposed
  1943. character), thay v∞ d∙ng cßc dñu r╢i (diacritic) ≡i kΦm v╛i cßc nguyΩn Γm,  v∞
  1944. ngoαi cßc nhu li«u ≡úc bi«t kh⌠ng c≤ ╤ng d°ng t▒ng qußt nαo c≤ th¼  d∙ng  ≡▀■c
  1945. cßc dñu r╢i.   TiΩu chuªn ≡½ ra phΣi ≡▀■c thi¬t k¬ khΘo lΘo ≡¼ tºn d°ng t»i ≡a
  1946. cßc nhu li«u hi«n th╢i.   Quy luºt quen thu╡c "╨╫ng phßt minh bßnh xe lÑn nµa"
  1947. kh⌠ng nhµng ch∩ lα ▀u th¬ mα c≥n lα bít bu╡c n¬u ch·ng ta mu»n xΓy d±ng m╡t s»
  1948. ╤ng d°ng c╜ bΣn cÑn thi¬t trong m╡t th╢i gian v╫a phΣi.   Ngoαi ra,  n≤i chung
  1949. v½ th╢i-gian x╪-l² (time) c√ng nh▀ ch▓ ch╤a (space),  m≈i ng▀╢i ≡½u r⌡ lα vi«c
  1950. x╪ l² cßc mπ t± nguyΩn v⌐n c≤ hi«u nσng cao h╜n lα x╪ l² cßc mπ  t±  d∙ng  dñu
  1951. r╢i [2].   Do ≡≤ vi«c d∙ng dñu r╢i phΣi ≡▀■c gi╛i h╒n vαo nhµng tr▀╢ng h■p cÑn
  1952. thi¬t bñt khΣ khßng, nh▀ khi ≡ßnh bαn chµ hay khi truy½n dµ ki«n 7-bit.  Ngoαi
  1953. ra kh⌠ng c≤ l² do g∞ ≡¼ bít bu╡c m≈i ╤ng d°ng phΣi ≡▀╜ng ≡Ñu v╛i s±  ph╤c  t╒p
  1954. vα kΘm hi«u nσng cⁿa dñu r╢i trong vi«c x╪ l², l▀u trµ,  truy½n tin,  t╒o h∞nh
  1955. trΩn mαn Σnh vα in dµ ki«n 8-bit.
  1956.  
  1957.     ╨i¼m quan tr≈ng th╤ nh∞ lα phΣi c╤u xΘt nhµng ti½n l« ≡π c≤ s╟n trong kh»i
  1958. nhu li«u ti¬ng Vi«t. Bñt c╤ vi«c tiΩu chuªn h≤a nαo c√ng ≡≥i h÷i th╢i gian  ≡¼
  1959. thφch nghi,  n¬u tiΩu chuªn ≡≥i h÷i quß nhi½u thay ≡▒i th∞ s¿ gúp  nhi½u  phΣn
  1960. khßng cⁿa ng▀╢i d∙ng,  vα ch∩ lαm chºm tr¡ vi«c ßp d°ng tiΩu  chuªn  mα  th⌠i.
  1961. Cßc tiΩu chuªn dµ ki«n kh▒ 16-bit hoúc r╡ng h╜n nµa ≡π dÑn dÑn xuñt  hi«n  nh▀
  1962. Unicode [3] vα ISO 10646 [4].   Trong khi ch╢ ≡■i cßc tiΩu chuªn kh▒ r╡ng  nαy
  1963. tr╖ thαnh ph▒ th⌠ng,  ch·ng ta cÑn phΣi c≤ m╡t tiΩu chuªn ti¬ng Vi«t 8-bit  vα
  1964. tiΩu chuªn nαy phΣi ≡▀■c chñp nhºn mau ch≤ng ≡¼ kh÷i tr╖ thαnh l▓i th╢i.   M╡t
  1965. tiΩu chuªn 8-bit mu»n ≡▀■c chñp nhºn mau ch≤ng kh⌠ng th¼ b÷ qua nhµng ti½n  l«
  1966. trong kh»i nhu li«u hi«n th╢i.
  1967.  
  1968.                                                                         34
  1969.     ╨i¼m quan tr≈ng th╤ ba lα phΣi giΣi quy¬t vñn ≡½ giao di«n v╛i ng▀╢i d∙ng;
  1970. n¬u kh⌠ng ≡út ra th∞ t»i thi¼u phΣi suy xΘt Σnh h▀╖ng cⁿa  n≤  ≡»i  v╛i  ng▀╢i
  1971. d∙ng.   ╨i¼m nαy phÑn l╛n liΩn quan t╛i bαn ≡ßnh chµ 7-bit vα cßch t▀■ng tr▀ng
  1972. ti¬ng Vi«t bóng cßc k² t± 7-bit --- trong cΣ hai tr▀╢ng h■p nαy,  cßc dñu  ph°
  1973. phΣi lα dñu r╢i vα ≡▀■c t▀■ng tr▀ng b╖i cßc k² t± 7-bit v╛i h∞nh th∙ gÑn gi»ng
  1974. nh▀ dñu thºt.   ╨»i v╛i cßch ≡ßnh chµ Vi«t,  ch·ng ta phΣi duy tr∞,  n¬u ≡▀■c,
  1975. nhµng th≤i quen ≡ßnh chµ ≡π ≡▀■c quy ≡╕nh trΩn di¡n  ≡αn  Viet-Net  (m╡t  m╒ng
  1976. l▀╛i ≡i«n th▀ cⁿa ng▀╢i Vi«t) vα di¡n ≡αn Soc.Culture.Vietnamese  (nh≤m  th⌠ng
  1977. tin Vi«t Nam trΩn m╒ng l▀╛i Usenet) v╛i thαnh viΩn trΩn toαn  th¬  gi╛i.   ╨»i
  1978. v╛i cßch t▀■ng tr▀ng chµ Vi«t bóng 7-bit,  ≡i½u quan tr≈ng lα phΣi "≡≈c ≡▀■c."
  1979. M°c ≡φch ╖ ≡Γy lα r·t ngín th╢i gian h≈c vα c▒ v⌡ m╡t giao di«n thuÑn nhñt  ≡¼
  1980. ng▀╢i d∙ng kh⌠ng phΣi t»n th╢i gian h≈c cßch d∙ng cho m▓i  b╡  nhu  li«u  khßc
  1981. nhau.
  1982.  
  1983.     Cu»i c∙ng,  tiΩu chuªn phΣi c» gíng bóng m≈i cßch tuΓn theo khu⌠n kh▒  cⁿa
  1984. cßc tiΩu chuªn qu»c t¬, nh▀ ISO-8859/x [5],  ≡¼ ≡Σm bΣo s± t▀╜ng h■p v╛i nhµng
  1985. m⌠i tr▀╢ng hi«n hµu.   Ch╞ng h╒n,  ≡i½u nαy ≡≥i h÷i tiΩu chuªn ti¬ng Vi«t phΣi
  1986. duy tr∞ bΣng mπ s» ASCII cⁿa Hoa K╧,  c√ng nh▀ phΣi duy tr∞ v╕ trφ cⁿa tñt  cΣ
  1987. nhµng mτu t± Vi«t nαo ≡π c≤ s╟n trong bΣng 8859/Latin-1 ≡¼  bΣo  ≡Σm  cho  bαn
  1988. ≡ßnh chµ 8859/Latin-1 c≤ th¼ ho╒t ≡╡ng b∞nh th▀╢ng cho cßc  mτu  t±  ≡≤.   Tuy
  1989. nhiΩn, v½ mút th±c t¬ c≤ m╡t s» yΩu cÑu ≡π l▓i th╢i.   Thφ d° nh▀ gÑn ≡Γy,  ⁿy
  1990. ban Unicode/ISO-10646 ≡π quy¬t ≡╕nh bπi b÷ vi«c cñm d∙ng v∙ng ki¼m t± (control
  1991. characters) --- mπ s» t╫ xx00h cho ≡¬n xx1Fh,  ngo╒i tr╫ C0 --- v╛i l²  do  lα
  1992. ≡i½u nαy ch∩ lαm phφ ph╒m mπ s» v⌠ φch.  Nh▀ ta s¿ thñy d▀╛i ≡Γy, vi«c ñn ≡╕nh
  1993. cßc mτu t± Vi«t vαo nhµng khoΣng tr»ng nαy c≤ nhµng ≡i¼m l■i h╒i cⁿa n≤.  Vi«c
  1994. ch≈n l±a l■i h╒i phΣi ≡▀■c bi«n minh bóng nhµng l²  do  chφnh  ≡ßng,  vα  phΣi
  1995. nghiΩng v½ th±c ti¡n h╜n lα l² thuy¬t.
  1996.  
  1997.     Nhµng yΩu cÑu chⁿ y¬u trΩn ≡Γy cⁿa m╡t tiΩu chuªn ≡▀■c t≤m tít nh▀ sau:
  1998.  
  1999.     R1. Tφch h■p d¡ dαng vα tr±c ti¬p vαo cßc h« th»ng mßy hi«n th╢i.
  2000.  
  2001.     R2. Lαm cho cßc nhu li«u hi«n th╢i thφch nghi d¡ dαng v╛i tiΩu chuªn m╛i.
  2002.  
  2003.     R3. Ph▀╜ng phßp mπ h≤a vα giao di«n phΣi d¡ nh╛ vα d¡ s╪ d°ng.
  2004.  
  2005.     R4. TuΓn theo cßc tiΩu chuªn qu»c t¬.
  2006.  
  2007.     R5. Vi«c ch≈n l■i h╒i phΣi ≡▀■c cΓn nhíc d±a trΩn th±c ti¡n vα  c≤  l²  do
  2008.         chφnh ≡ßng.
  2009.  
  2010.     Trong cßc phÑn sau ≡Γy,  ch·ng t⌠i s¿ duy«t l╒i ▀u khuy¬t ≡i¼m  cⁿa  nhµng
  2011. cßch mπ h≤a ti¬ng Vi«t.   PhÑn 3 s¿ m⌠ tΣ chi ti¬t bΣng mπ s» Vi«t  ngµ  8-bit
  2012. cⁿa Viet-Std.   PhÑn 4 s¿ tr∞nh bαy m╡t ph▀╜ng phßp  mπ  h≤a  "≡≈c-≡▀■c-trong-
  2013. ngoúc" ßp d°ng cho d≥ng dµ ki«n 7-bit trong ≡≤ c≤ ≡i«n th▀ vα cßch  ≡ßnh  chµ.
  2014. Cu»i c∙ng, PhÑn 5 phßc h≈a m╡t s» luºt l« vα quy ▀╛c riΩng bi«t thφch nghi cho
  2015. m╡t vαi ╤ng d°ng c° th¼.
  2016.  
  2017.  
  2018. 2. DUYÄT LÇI NH NG QUY ┐òC HIÄN THûI
  2019. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  2020.  
  2021. Khi duy«t qua nhµng quy ▀╛c d∙ng b╖i cßc nh≤m phßt tri¼n nhu li«u  hi«n  th╢i,
  2022.                                                                         35
  2023. ta thñy m╡t ≡úc ≡i¼m n▒i bºt: hÑu h¬t m≈i ng▀╢i ≡½u  c⌠ng  nhºn  ▀u  ≡i¼m  cⁿa
  2024. ph▀╜ng phßp mπ h≤a mτu t± nguyΩn v⌐n vα ch≈n ≡≤ lαm ≡i½u ki«n tiΩn  quy¬t. Tuy
  2025. nhiΩn,  khi ch≈n ph▀╜ng phßp nαy ta gúp phΣi nhµng kh≤ khσn quen thu╡c:  ngoαi
  2026. nhµng mτu t± ≡π c≤ s╟n trong bΣng ASCII,  ti¬ng Vi«t Nam c≥n cÑn thΩm 134  mτu
  2027. t± nµa. Trong s» nαy, 128 mτu t± c≤ th¼ ≡▀■c ≡út trong v∙ng C1 vα G1.  Sßu mτu
  2028. t± Vi«t c≥n l╒i c≤ th¼ ≡▀■c ≡út trong v∙ng C0 vα G0  bóng  nhµng  ph▀╜ng  phßp
  2029. khßc nhau:
  2030.  
  2031.     A1. X¬p vαo ch▓ cⁿa 6 mτu t± t▀╜ng ≡»i "φt ≡▀■c d∙ng nhñt" trong  v∙ng  G0
  2032.         khi x╪ l² ti¬ng Vi«t.
  2033.  
  2034.     A2. X¬p vαo ch▓ cⁿa 6 k² t± trong tºp k² t± khΣ  hoßn  NRC  {3}  (National
  2035.         Replacement Character set).
  2036.  
  2037.     A3. B÷ h╞n 6 mτu t± t▀╜ng ≡»i "φt d∙ng nhñt" {4} trong ti¬ng Vi«t,  nh▀ ,
  2038.         , , , , vα .
  2039.  
  2040.     A4. Thay th¬ cßc mτu t± v╛i g»c "y" bóng "i," thφ d° nh▀ "k█  s▀"  s¿  tr╖
  2041.         thαnh "kε s▀."
  2042.  
  2043.     A5. ╨út 6 mτu t± nαy vαo v∙ng ki¼m t± C0 cⁿa ASCII.
  2044.  
  2045.     GiΣi phßp A1 vα A2 th÷a mπn cßc nhu cÑu tiΩu bi¼u cⁿa nhµng m⌠i-tr▀╢ng x╪-
  2046. l²-chµ mα trong ≡≤ ta c≤ th¼ trßnh s╪ d°ng nhµng k² t± ASCII φt d∙ng  hoúc  s╪
  2047. d°ng ch·ng bóng cßch chuy¼n ph⌠ng (font shifting).  Tuy nhiΩn cΣ hai giΣi phßp
  2048. nαy ≡½u phß tan vi¡n t▀■ng tφch h■p ti¬ng Vi«t vαo cßc m⌠i tr▀╢ng  ASCII  hi«n
  2049. th╢i mα trong ≡≤ tñt cΣ cßc k² t± trong v∙ng G0 ≡½u phΣi ≡▀■c duy tr∞.  M▓i k²
  2050. t± G0 ch∩ c≤ m╡t nhi«m v° riΩng vα kh⌠ng th¼ ≡▀■c d∙ng l╒i vαo  m╡t  nhi«m  v°
  2051. khßc ≡▀■c.   L² do th╤ nhñt lα vi«c t╒o h∞nh cⁿa k² t± G0 ≡≤ s¿ b╕ sai v∞ h∞nh
  2052. t╒o ra s¿ lα m╡t mτu t± Vi«t.   V∞ cßc k² t± G0 ≡▀■c s╪ d°ng rñt th▀╢ng xuyΩn,
  2053. vi«c xung ≡╡t giµa mτu t± Vi«t vα k² t± G0 trong m╡t m⌠i tr▀╢ng  tφch  h■p  lα
  2054. vi«c kh⌠ng th¼ chñp nhºn ≡▀■c.   L² do th╤ hai lα trong khi ph▀╜ng phßp chuy¼n
  2055. ph⌠ng c≤ th¼ cΣi thi«n t∞nh tr╒ng xung ≡╡t nαy trong vαi tr▀╢ng h■p,  ch·ng ta
  2056. s¿ gúp kh≤ khσn trÑm tr≈ng h╜n.  M⌠i tr▀╢ng nhu li«u th▀╢ng th▀╢ng ñn ≡╕nh cho
  2057. m▓i k² t± trong G0 m╡t ² nghεa riΩng,  ≡úc bi«t lα cßc k²  t±  NRC.   Hπy  xΘt
  2058. tr▀╢ng h■p ch·ng ta thay th¬ k² t± g╒ch-chΘo-ng▀■c "\" bóng m╡t  mτu  t±  Vi«t
  2059. (nh▀ mτu t± ▒ ch╞ng h╒n) trong m⌠i tr▀╢ng Unix.   K² t±  g╒ch-chΘo-ng▀■c  ≡▀■c
  2060. d∙ng trong nhi½u c╜ ch¬ thoßt (escape mechanism) cⁿa Unix thαnh th╪ ra mτu  t±
  2061. "▒" kh⌠ng th¼ ≡▀■c d∙ng m╡t cßch b∞nh th▀╢ng mα phΣi  ≡▀■c  "thoßt"  ≡úc  bi«t
  2062. bóng cßch nαy hay cßch khßc.   ╨Γy kh⌠ng phΣi ch∩ lα m╡t s± bñt ti«n nh÷; vi«c
  2063. trao ≡▒i dµ ki«n s¿ gúp ríc r»i nhi½u v∞ cßc h« th»ng mßy khßc s¿  kh⌠ng  hi¼u
  2064. c╜ ch¬ thoßt ≡úc bi«t nαy, do ≡≤ dµ ki«n s¿ kh⌠ng ≡▀■c bΣo toαn.   Bñt c╤ tiΩu
  2065. chuªn nαo ßp d°ng giΣi phßp nαy s¿ kh⌠ng lαm tr≥n ch╤c nσng cσn bΣn cⁿa n≤  lα
  2066. cung cñp s± thuÑn nhñt trΩn cßc h« th»ng mßy khßc nhau.  TrΩn ≡Γy lα n≤i v½ k²
  2067. t± g╒ch-chΘo-ng▀■c nh▀ng cßc k² t± G0 khßc c√ng c≤ nhµng kh≤ khσn t▀╜ng t±.
  2068.  
  2069. ------------------------------------------------------------------------------
  2070.     {3} Tºp NRC g░m c≤ 12 k² t± ASCII ╖ v∙ng G0 lα #, $, @, [, \, ], ^, `,  {,
  2071. |, },  vα ~.   Nhµng k² t± nαy c≤ th¼ ≡▀■c thay th¬ bóng cßc chµ khßc t∙y theo
  2072. nhu cÑu cⁿa m▓i qu»c gia.
  2073.  
  2074.     {4} ═t d∙ng b╖i v∞ nhµng mτu t± nαy (a) φt khi bít ≡Ñu m╡t chµ vα  v∞  th¬
  2075. φt khi cÑn mút hoa, vα (b) φt xuñt hi«n trong cßc chµ Vi«t.
  2076.                                                                         36
  2077.     Cßc ≡½ ngh╕ A3 vα A4 h╒n ch¬ dµ ki«n Vi«t ngµ  bóng  cßch  nαy  hoúc  cßch
  2078. khßc.   HÑu h¬t m≈i ng▀╢i ≡░ng ² róng vi«c lo╒i b÷ m╡t s» mτu t± Vi«t lα  vi«c
  2079. kh⌠ng th¼ chñp nhºn ≡▀■c; thºt vºy,  trong phÑn thΣo luºn ╖ trΩn,  ch·ng ta ≡π
  2080. coi vi«c bΣo toαn tñt cΣ mτu t± Vi«t lα m╡t yΩu cÑu ≡▀╜ng nhiΩn.  Tuy th¬, cÑn
  2081. phΣi n≤i thΩm n╜i ≡Γy lα ≡½ ngh╕ A4 kh⌠ng phΣi lα kh⌠ng c≤ l² do  chφnh  ≡ßng.
  2082. ╨π c≤ m╡t tr▀╢ng phßi t▀ t▀╖ng nghε róng trong cßc chµ ch∩ ch╤a  "y"  (vα  dñu
  2083. gi≈ng n¬u c≤) lα nguyΩn Γm duy nhñt,  chµ "y" c≤ th¼ ≡▀■c thay th¬ bóng mτu t±
  2084. "i" v∞ cßch phßt Γm cⁿa cΣ hai chµ t▀╜ng ≡▀╜ng v╛i nhau.   Khßi ni«m nαy ≡π c≤
  2085. t╫ nσm 1948 [6,7]. Tuy nhiΩn, nhi«m v° cⁿa m╡t tiΩu chuªn mπ h≤a kh⌠ng phΣi lα
  2086. giΣi quy¬t cßc vñn ≡½ liΩn h« t╛i ng⌠n ngµ.  Do ≡≤ vi«c ch≈n ≡½ ngh╕ A4 lα m╡t
  2087. ≡i½u kh⌠ng t»t.
  2088.  
  2089.     L² do ≡Ñu tiΩn ≡¼ bßc b÷ ≡½ ngh╕ A5 chⁿ y¬u phßt xuñt t╫ lπnh  v±c  truy½n
  2090. tin v∞ cßc m╒ch chuy¼n tin (data communication channel) d∙ng nhi½u  mπ  t±  C0
  2091. trong vi«c ki¼m soßt dµ ki«n.   Ngoαi ra, ≡½ ngh╕ nαy t╒o thΩm m╡t s» kh≤ khσn
  2092. khi tφch h■p ti¬ng Vi«t vαo nhµng m⌠i tr▀╢ng mα trong ≡≤ m╡t s» mπ t± C0  ≡▀■c
  2093. d∙ng trong giao di«n bαn ≡ßnh chµ (keyboard  interface)  vα  trong  vi«c  ≡i½u
  2094. khi¼n khu⌠n th╤c dµ ki«n (data format control),  t▀╜ng t± nh▀ nhµng  kh≤  khσn
  2095. gúp phΣi trong ≡½ ngh╕ A1 vα A2.   Tuy th¬,  nh▀ s¿ ≡▀■c tr∞nh bαy  trong  cßc
  2096. phÑn k¬ ti¬p, vi«c ch≈n l±a thºn tr≈ng 6 mπ t± C0 trong th±c t¬ ≡π cho thñy c≤
  2097. k¬t quΣ t»t ≡⌐p mα vτn trßnh ≡▀■c cßc mπ t± quan tr≈ng d∙ng trong  vi«c  th⌠ng
  2098. tin dµ ki«n.  H╜n nµa, hÑu h¬t cßc m╒ch chuy¼n tin cho phΘp chuy¼n ≡╒t dµ ki«n
  2099. 8-bit m╡t cßch minh b╒ch,  trung th±c,  vα kh⌠ng c≤ l² do g∞ ≡¼  e  ng╒i  róng
  2100. ch·ng ta kh⌠ng th¼ chuy¼n bñt c╤ mπ s» nαo qua cßc m╒ch chuy¼n tin nαy.
  2101.  
  2102.     Trong nhµng tr▀╢ng h■p cß bi«t mα C0 ≡▀■c d∙ng trong giao  di«n  bαn  ≡ßnh
  2103. chµ,  vi«c ch≈n l±a kh⌠n khΘo c√ng nh▀ vi«c ñn ≡╕nh l╒i nhi«m v° cⁿa cßc  phφm
  2104. chµ s¿ lαm giΣm thi¼u nhµng xung khíc.   Cßc mπ t± d∙ng trong vi«c ≡i½u  khi¼n
  2105. khu⌠n th╤c dµ ki«n th▀╢ng thay ≡▒i theo t╫ng nhu li«u  ╤ng  d°ng  nh▀ng  th⌠ng
  2106. th▀╢ng ch·ng nóm rΣi rßc trong v∙ng C0 vα C1.   Do ≡≤ ≡Γy lα m╡t kh≤ khσn  ph▒
  2107. th⌠ng cho vi«c tφch h■p b╖i v∞ ch·ng ta cÑn phΣi d∙ng tñt cΣ cßc mπ  s»  trong
  2108. C1 cho chµ Vi«t.   Tuy nhiΩn,  m╡t lÑn nµa,  vi«c xung khíc c≤ th¼  ≡▀■c  giΣm
  2109. thi¼u bóng cßch nghiΩn c╤u cßc ╤ng d°ng quan tr≈ng.   Cu»i c∙ng,  ch·ng ta  c≤
  2110. th¼ ch≈n 6 mτu t± Vi«t φt d∙ng nhñt ≡¼ lαm giΣm t»i ≡a xßc suñt xung khíc.
  2111.  
  2112.     Xin ch· ² lα phÑn tr∞nh bαy trΩn ≡Γy ≡π phΓn tφch t╫ng ≡½ ngh╕ m╡t ≡¼  xem
  2113. ch·ng c≤ th÷a mπn cßc ≡i½u ki«n cho vi«c tφch h■p chµ Vi«t  Nam  vαo  cßc  ╤ng
  2114. d°ng vα cßc h« th»ng mßy hi«n th╢i,  nh▀ ≡π nΩu ra trong  PhÑn  1.   Ch·ng  ta
  2115. kh⌠ng th¼ kh⌠ng nhñn m╒nh tÑm m╤c quan tr≈ng l╛n lao cⁿa  m°c  tiΩu  tφch  h■p
  2116. nαy.   M°c tiΩu nαy ≡π nΣy sinh nhi½u kh≤ khσn vα khi¬n cho ch·ng ta phΣi chñp
  2117. nhºn NguyΩn Tíc Th±c D°ng sau ≡Γy: Kh⌠ng c≤ cßch nαo t╒o ra m╡t tiΩu chuªn vºn
  2118. hαnh hoαn hΣo v╛i tñt cΣ m≈i ╤ng d°ng hi«n th╢i, do ≡≤,  phΣi cΓn nhíc th±c t¬
  2119. ≡¼ ≡½ ra m╡t tiΩu chuªn c≤ th¼ s╪ d°ng ≡▀■c trong cαng  nhi½u  ╤ng  d°ng  quan
  2120. tr≈ng vα cαng nhi½u h« th»ng mßy cαng t»t.  Ch·ng t⌠i xin nhñn m╒nh ╖ ≡i¼m "c≤
  2121. th¼ s╪ d°ng ≡▀■c."
  2122.  
  2123.  
  2124.                                                                         37
  2125. 3. VISCII: QUY ╨ÿNH M├ 8-BIT CHO VIÄT NG 
  2126. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  2127.  
  2128. 3.1 ╨ôNG L╣C
  2129. ~~~~~~~~~~~~
  2130.  
  2131. Nhµng bóng ch╤ng c° th¼ cho thñy h▀╛ng giΣi quy¬t A5 m⌠ tΣ ╖ phÑn trΩn,  ≡út 6
  2132. mτu t± Vi«t vαo v∙ng C0,  lα h▀╛ng c≤ nhi½u khΣ nσng nhñt ≡¼  th÷a  mπn  nhµng
  2133. ≡i½u ki«n ≡út ra trong PhÑn 1.   Vi«c l±a ch≈n 6 mπ t± C0 vα 6 mτu t± Vi«t  φt
  2134. d∙ng nhñt,  n¬u ≡▀■c cΓn nhíc k█ cαng,  trΩn th±c t¬ s¿ lαm giΣm rñt nhi½u xßc
  2135. suñt xung khíc.   Nhµng ▀u t▀ trong lπnh v±c th⌠ng tin dµ ki«n ≡▀■c giΣi quy¬t
  2136. bóng cßch trßnh cßc mπ t± C0 th▀╢ng d∙ng ≡¼ ≡i½u khi¼n  khu⌠n  th╤c  dµ  ki«n.
  2137. Thºt ra, m»i quan tΓm trong lπnh v±c th⌠ng tin dµ ki«n nΩn h▀╛ng vαo cßc k² t±
  2138. trong v∙ng C1 vα G1;  m╡t thφ d° n▒i bºt lα vi«c truy½n ≡i«n th▀ qua cßc  c▒ng
  2139. 7-bit vα cßc b╡ chuy¼n ≡i«n th▀.   Nhµng thñt b╒i trong vi«c chuy¼n tin ╖  ≡Γy
  2140. th▀╢ng lα do vi«c d∙ng bit th╤ tßm ch╤ kh⌠ng phΣi v∞ cßc mπ t±  C0.   DÑu  th¬
  2141. nαo ≡i nµa,  ta vτn c≤ nhµng ph▀╜ng th╤c ≡¼ truy½n dµ ki«n  trong  tr╒ng  thßi
  2142. "8-bit" nαo ≡≤,  hoúc d∙ng d╒ng "ti¬ng Vi«t ≡≈c-≡▀■c-trong-ngoúc" nh▀ ≡▀■c  m⌠
  2143. tΣ trong PhÑn 4.
  2144.  
  2145.     ┐u ≡i¼m chφnh cⁿa ph▀╜ng phßp nαy lα s± s╟n sαng vα d¡ dαng tφch  h■p  vαo
  2146. m⌠i tr▀╢ng hi«n th╢i mα kh⌠ng gúp phΣi nhµng tríc tr╖ nh▀ cßc h▀╛ng giΣi quy¬t
  2147. khßc, giΣ s╪ róng cßc h▀╛ng giΣi quy¬t kia c≤ th¼ tφch h■p ≡▀■c.   S± ki«n bΣn
  2148. vσn ki«n nαy ≡▀■c so╒n bóng h« th»ng TeX ch╒y trΩn Unix lα m╡t bóng ch╤ng h∙ng
  2149. h░n cho thñy s± thαnh c⌠ng cⁿa h▀╛ng giΣi quy¬t nαy.   BΣn vσn ≡▀■c so╒n trong
  2150. m╡t khung-X 8-bit, d∙ng m╡t ñn bΣn Elvis ≡▀■c bi¬n ≡▒i {5} ch·t φt.  (Elvis lα
  2151. m╡t ñn bΣn 8-bit c⌠ng c╡ng d∙ng gi»ng nh▀ b╡ so╒n vσn Vi cⁿa  Unix.)   CΣ  TeX
  2152. (m╡t h« th»ng so╒n tαi li«u) vα Dvi2ps (m╡t ╤ng d°ng t╒o ra  d╒ng  PostScript)
  2153. ≡½u nhºn vα x╪ l² dµ ki«n ti¬ng Vi«t (8-bit) m╡t cßch d¡ dαng vα  th⌠ng  su»t.
  2154. Cßc ╤ng d°ng khßc g░m c≤ bΣng tφnh (spreadsheet),  ╤ng  d°ng  nh∞n  chµ  (text
  2155. viewer),  in PostScript vα ma trºn ≡i¼m (dot-matrix),  WordPerfect,  Word,  PC
  2156. Tools cⁿa DOS,  v.v... ≡π ≡▀■c th╪ nghi«m qua vα ch╒y t»t  ≡⌐p  v╛i  vσn  ki«n
  2157. ti¬ng Vi«t.   Tñt cΣ cßc bi¬n ≡▒i, n¬u c≤, chⁿ y¬u lα ≡¼ cßc ╤ng d°ng nαy chñp
  2158. nhºn dµ ki«n 8-bit.   M╡t ╤ng d°ng gißo khoa ti¬ng Vi«t ≡π ≡▀■c vi¬t bóng ng⌠n
  2159. ngµ thΣo ch▀╜ng C v╛i cßc cΓu vσn ti¬ng Vi«t 8-bit ≡φnh  kΦm  trong  bΣn  thΣo
  2160. ch▀╜ng. V╛i ≡α gia tσng qu»c t¬ h≤a nhu li«u hi«n nay,  cßc ╤ng  d°ng  vα  nhu
  2161. li«u d°ng c° ≡ang ≡▀■c s╪a ≡▒i ≡¼ nhºn dµ ki«n 8-bit,  vα do d≤ vi«c tφch  h■p
  2162. cⁿa b╡ mπ t± Vi«t nαy l╒i cαng d¡ dαng h╜n.
  2163.  
  2164. 3.2 C┴C L▌ DO BIÄN MINH VIÄC M├ H╙A
  2165. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  2166.  
  2167. M╡t ≡i½u ki«n cσn bΣn lα phΣi bΣo toαn bΣng k²  t±  h∞nh  (graphic  character)
  2168. ASCII 7-bit (G0) v∞ m°c tiΩu lα tφch h■p v╛i cßc m⌠i tr▀╢ng hi«n th╢i.  Do ≡≤,
  2169. v∙ng G0 ≡▀■c giµ nguyΩn v⌐n.   ╨»i v╛i 6 mπ t± C0, ≡Ñu tiΩn ch·ng t⌠i phßc h≈a
  2170. ra v∙ng C0 vα xem xΘt cßc cßch d∙ng tiΩu bi¼u vα li«t kΩ trong BΣng 1. Cßc  mπ
  2171. t± ≡▀■c ch≈n, STX (2),  ENQ (5),  ACK (6),  DC4 (20),  EM (25),  vα RS (30) lα
  2172. nhµng mπ t± φt gΓy tr╖ ng╒i nhñt cho vi«c truy½n tin c√ng nh▀ cho cßc ╤ng d°ng
  2173. quan tr≈ng ≡π ≡▀■c c╤u xΘt.  Ch╞ng h╒n nh▀ cßch d∙ng cⁿa mπ t± ACK thºt s± t∙y
  2174. thu╡c vαo ngµ cΣnh cⁿa n≤.   Trong nhµng biΩn bΣn (protocol) mα ch·ng  t⌠i  ≡π
  2175.  
  2176. ------------------------------------------------------------------------------
  2177.     {5} S╪a ≡¼ c≤ th¼ ≡ßnh chµ Vi«t nh▀ s¿ ≡▀■c m⌠ tΣ trong cßc phÑn sau.
  2178.                                                                         38
  2179.    BΣng 1: Nhµng xung ≡╡t c≤ th¼ xΣy ra khi d∙ng C0.  Cßc mπ s» d∙ng
  2180.    trong tiΩu chuªn 8-bit VISCII ≡▀■c nΩu ra v╛i dñu "+" bΩn c╒nh.
  2181.  
  2182.    =====================================================================
  2183.    M├ SÅ  T╩N  CTRL-  CHUNG   M┴Y IN(PC)    PC        Unix     vi (Unix)
  2184.    ---------------------------------------------------------------------
  2185.      0    NUL   @    C string                       strings
  2186.      1    SOH   A
  2187.     +2    STX   B                                            back screen
  2188.      3    ETX   C    INTR                  INTR      INTR      INTR
  2189.      4    EOT   D    EOF                              EOF    back tab
  2190.     +5    ENQ   E
  2191.     +6    ACK   F                                            forw.screen
  2192.      7    BEL   G    BEL         BEL        BEL       BEL
  2193.      8    BS    H    BS          BS         BS        BS        BS
  2194.      9    HT    I    HT          HT         HT        HT        HT
  2195.     10    LF    J    LF          LF         LF        LF        LF
  2196.     11    VT    K                VT
  2197.     12    FF    L    FF          FF         FF                redraw
  2198.     13    CR    M    CR          CR         CR        CR        CR
  2199.     14    SO    N            wide on(IBM)
  2200.     15    SI    O            comp.on(IBM)
  2201.     16    DLE   P                          Prt.on/off
  2202.     17    DC1   Q    XOFF      XOFF         XOFF      XOFF
  2203.     18    DC2   R            comp.off(IBM)            retype
  2204.     19    DC3   S    XON       XON          XON       XON
  2205.    +20    DC4   T            wide off(IBM)                     forw.tab
  2206.     21    NAK   U            clr buf(IBM)             kill     kill
  2207.     22    SYN   V                                     literal  literal
  2208.     23    ETB   W                                     werase   werase
  2209.     24    CAN   X                                     kill
  2210.    +25    EM    Y                                     suspend
  2211.     26    SUB   Z                           EOF       suspend
  2212.     27    ESC   [    ESC     chu▓i ESC      ESC       ESC       ESC
  2213.     28    FS    \                                     quit
  2214.     29    GS    ] Telnet ESC
  2215.    +30    RS    ^
  2216.     31    US    _                          Windows
  2217.   =====================================================================
  2218.  
  2219.  
  2220.  
  2221.  
  2222.    BΣng 2:  Nhµng mτu t± Vi«t Nam ≡π c≤ s╟n trong tiΩu chuªn  8859/Latin-1.
  2223.  
  2224.         +===============================================================+
  2225.         | 0 : 1 : 2 : 3 : 4 : 5 : 6 : 7 : 8 : 9 : A : B : C : D : E : F |
  2226.    +----+---------------------------------------------------------------+
  2227.    | Cx | └ : ┴ : ┬ : ├ :   :   :   :   : ╚ : ╔ : ╩ :   : ╠ : ═ :  :  : |
  2228.    | Dx | ╨ :   : ╥ : ╙ : ╘ : á :   :   :   : ┘ : ┌ :   :   : ▌ :  :  : |
  2229.    | Ex | α : ß : Γ : π :   :   :   :   : Φ : Θ : Ω :   : ∞ : φ :  :  : |
  2230.    | Fx | ≡ :   : ≥ : ≤ : ⌠ : ⌡ :   :   :   : ∙ : · :   :   : ² :  :  : |
  2231.    +====================================================================+
  2232.                                                                         39
  2233.  
  2234.  
  2235. duy«t qua,  ACK ch∩ ≡▀■c coi lα m╡t mπ t± "≡i½u khi¼n" khi nóm bΩn ngoαi khung
  2236. dµ ki«n;  bΩn trong khung dµ ki«n n≤ ≡▀■c coi nh▀ m╡t mπ t± b∞nh  th▀╢ng.   ╨¼
  2237. lαm giΣm xßc suñt xung khíc h╜n nµa,  6 mτu t± chµ hoa ti¬ng Vi«t t▀╜ng ≡»i φt
  2238. d∙ng nhñt, , , , , , vα , ≡▀■c ≡út vαo ch▓ cⁿa 6 mπ t± C0 nαy.
  2239.  
  2240.     Vñn ≡½ ti¬p theo lα mπ h≤a 128 chµ Vi«t c≥n l╒i trong v∙ng ASCII-r╡ng  (C1
  2241. vα G1).   V∞ kh⌠ng c≤ m╡t tiΩu chuªn qu»c t¬ duy nhñt trong v∙ng  nαy  ≡¼  d±a
  2242. theo,  ph▀╜ng chΓm t»t nhñt lα cªn thºn t»i ≡a ≡¼ khi gúp tr▀╢ng h■p xñu  nhñt
  2243. th∞ ng▀╢i d∙ng vτn c≥n c≤ th¼ s╪ d°ng tñt cΣ mτu t± con.
  2244.  
  2245.     Vi«c mπ h≤a cßc k² t± trong v∙ng C1 gúp φt ríc r»i h╜n, múc dÑu m╡t vαi k²
  2246. t± C1 ≡▀■c s╪ d°ng v╛i ² nghεa ≡úc bi«t trong m╡t s» ╤ng d°ng.   Duy«t qua cßc
  2247. c⌠ng tr∞nh hi«n th╢i ≡¼ tiΩu chuªn h≤a vi«c chuy¼n ≡i«n th▀  8-bit,  ch·ng  ta
  2248. thñy cßc k² t± C1 ≡▀■c coi lα cßc k² t± h∞nh vα kh⌠ng b╕ gßn cho m╡t  ²  nghεa
  2249. ≡úc bi«t g∞ cΣ.  Tuy nhiΩn, ≡▀╢ng l»i thºn tr≈ng lα ch∩ nΩn ≡út cßc mτu t± chµ
  2250. hoa vαo trong v∙ng C1.
  2251.  
  2252.     ╨»i v╛i v∙ng G1, ch·ng t⌠i nhím vαo vi«c ≡ßp ╤ng nhu cÑu cⁿa b╡ mπ t± d∙ng
  2253. trΩn mßy vi tφnh PC (code page 850) vα tuΓn theo,  n¬u c≤ th¼ ≡▀■c,  tºp k² t±
  2254. 8859/Latin-1 mα trong ≡≤ m╡t s» mτu t± Vi«t ≡π c≤ s╟n.
  2255.  
  2256.     Kinh nghi«m trong vi«c thi¬t k¬ b╡ mπ t± cho h« th»ng MS-DOS  ≡π  ≡▀a  ≡¬n
  2257. vi«c c╤u xΘt cßc k² t± v¿ ≡▀╢ng th╞ng trong b╡ mπ t± PC.   N¬u mu»n  cho  phΘp
  2258. m╡t s» ╤ng d°ng v╫a d∙ng chµ Vi«t v╫a d∙ng k² t± v¿ ≡▀╢ng th╞ng mα kh⌠ng  phΣi
  2259. chuy¼n ph⌠ng,  ch·ng ta ch∩ c≤ th¼ bΣo toαn t»i ≡a lα cßc mτu t± con vα cßc k²
  2260. t± v¿ ≡▀╢ng ≡╜n vα ≡⌠i (single- and double-line drawing characters)  mα  th⌠i.
  2261. ╨i½u nαy c≤ nghεa lα phΣi ≡út cßc mτu t± chµ hoa vαo v╕ trφ cⁿa cßc k²  t±  v¿
  2262. ≡▀╢ng ≡╜n vα ≡⌠i.  V╛i cßch nαy, ng▀╢i d∙ng MS-DOS c≤ th¼ ≡▀■c cung cñp tºp mπ
  2263. t± c≤ tñt cΣ cßc mτu t± Vi«t hoúc tºp mπ t± trong ≡≤ m╡t s» chµ  hoa  b╕  thay
  2264. th¬ bóng cßc k² t± v¿ ≡▀╢ng ≡╜n vα ≡⌠i.   ╨»i v╛i cßc ╤ng d°ng c≤  s╟n,  ng▀╢i
  2265. d∙ng c≤ th¼ ch≈n tºp mπ t± nαo thφch h■p nhñt cho m°c ≡φch cⁿa  h≈.   Khi  bít
  2266. bu╡c phΣi s╪ d°ng tºp mπ t± v¿ ≡▀╢ng th╞ng,  nhµng thi«t h╒i v∞ thi¬u cßc  mτu
  2267. t± Vi«t c√ng giΣm thi¼u v∞ cßc mτu t± thi¬u lα mτu t± chµ  hoa  t▀╜ng  ≡»i  φt
  2268. ≡▀■c d∙ng.  ╨»i v╛i cßc ╤ng d°ng m╛i, ph▀╜ng th╤c "thay tºp mπ t±" c≤ th¼ ≡▀■c
  2269. s╪ d°ng, n¬u mu»n.
  2270.  
  2271.     Nhu cÑu t▀╜ng h■p v╛i tiΩu chuªn 8859/Latin-1 ch∩ lα m╡t y¬u t»  ph°  nhóm
  2272. thuºn ti«n cho ng▀╢i d∙ng ch╤ kh⌠ng phΣi lα ≡i½u bít bu╡c.   M╡t thφ d° c° th¼
  2273. lα ng▀╢i d∙ng ╖ Phßp nghε róng h≈ ch∩ cÑn nhñn c∙ng nhµng phφm chµ nh▀ nhau ≡¼
  2274. t╒o ra nhµng mτu t± Vi«t vα mτu t± Phßp gi»ng nhau,  nh▀ chµ Θ ch╟ng h╒n.   ╨≤
  2275. c√ng lα ≡i½u t± nhiΩn vα h■p l².   Vi«c ch≈n t▀╜ng h■p v╛i  8859/Latin-1  xuñt
  2276. phßt t╫ s± ph▒ th⌠ng vα th╕nh hαnh cⁿa bαn ≡ßnh chµ vα ph⌠ng chµ 8859/Latin-1,
  2277. nh▀ lo╒t thi¬t b╕ ≡Ñu cu»i VT (VT-terminal series) cⁿa hπng Digital, bΣng phφm
  2278. chµ Xterm,  vα ╤ng d°ng khung cⁿa Microsoft (MS Windows).   BΣng 2 li«t kΩ  ra
  2279. cßc mτu t± 8859/Latin-1 trong v∙ng G1 tr∙ng h■p v╛i mτu t±  Vi«t  {6}. C≤  th¼
  2280. k¬t luºn róng tñt cΣ vσn bΣn ch╤a chµ 8859/Latin-1 mα  phÑn  l╛n  cßc  chµ  lα
  2281. ASCII vα nhµng mτu t± thu╡c BΣng 2,  ch╞ng h╒n nh▀ vσn bΣn ti¬ng Phßp,  ≡½u c≤
  2282.  
  2283. ------------------------------------------------------------------------------
  2284.     {6} L▀u ² róng chµ ≡ trong BΣng 2 thºt ra lα chµ "edh" cⁿa ti¬ng Bσng  ╨Σo
  2285. theo 8859/Latin-1; d╒ng ≡ cⁿa Vi«t Nam ≡·ng theo bΣng 8859/Latin-2 h╜n.
  2286.                                                                         40
  2287.             BΣng 3: VISCII -- D± thΣo tiΩu chuªn 8-bit cho chµ Vi«t.
  2288.     +======================================================================+
  2289.     |    ||  0 : 1 : 2 : 3 : 4 : 5 : 6 : 7 : 8 : 9 : A : B : C : D : E : F |
  2290.     +======================================================================+
  2291.     | 0x || NUL:SOH:  :ETX:EOT:  :  :BEL:BS :HT :LF :VT :FF :CR :SO :SI |
  2292.     |----||----:---:---:---:---:---:---:---:---:---:---:---:---:---:---:---|
  2293.     | 1x || DLE:DC1:DC2:DC3:  :NAK:SYN:ETB:CAN:  :SUB:ESC:FS :GS :  :US |
  2294.     |----||----:---:---:---:---:---:---:---:---:---:---:---:---:---:---:---|
  2295.     | 2x || SP : ! : " : # : $ : % : & : ' : ( : ) : * : + : , : - : . : / |
  2296.     |----||----:---:---:---:---:---:---:---:---:---:---:---:---:---:---:---|
  2297.     | 3x ||  0 : 1 : 2 : 3 : 4 : 5 : 6 : 7 : 8 : 9 : : : ; : < : = : > : ? |
  2298.     |----||----:---:---:---:---:---:---:---:---:---:---:---:---:---:---:---|
  2299.     | 4x ||  @ : A : B : C : D : E : F : G : H : I : J : K : L : M : N : O |
  2300.     |----||----:---:---:---:---:---:---:---:---:---:---:---:---:---:---:---|
  2301.     | 5x ||  P : Q : R : S : T : U : V : W : X : Y : Z : [ : \ : ] : ^ : _ |
  2302.     |----||----:---:---:---:---:---:---:---:---:---:---:---:---:---:---:---|
  2303.     | 6x ||  ` : a : b : c : d : e : f : g : h : i : j : k : l : m : n : o |
  2304.     |----||----:---:---:---:---:---:---:---:---:---:---:---:---:---:---:---|
  2305.     | 7x ||  p : q : r : s : t : u : v : w : x : y : z : { : | : } : ~ :DEL|
  2306.     |----||----:---:---:---:---:---:---:---:---:---:---:---:---:---:---:---|
  2307.     | 8x ||  Ç : ü : é : â : ä : à : å : ç : ê : ë : è : ï : î : ì : Ä : Å |
  2308.     |----||----:---:---:---:---:---:---:---:---:---:---:---:---:---:---:---|
  2309.     | 9x ||  É : æ : Æ : ô : ö : ò : û : ù : ÿ : Ö : Ü : ¢ : £ : ¥ : ₧ : ƒ |
  2310.     |----||----:---:---:---:---:---:---:---:---:---:---:---:---:---:---:---|
  2311.     | Ax ||  á : í : ó : ú : ñ : Ñ : ª : º : ¿ : ⌐ : ¬ : ½ : ¼ : ¡ : « : » |
  2312.     |----||----:---:---:---:---:---:---:---:---:---:---:---:---:---:---:---|
  2313.     | Bx ||  ░ : ▒ : ▓ : │ : ┤ : ╡ : ╢ : ╖ : ╕ : ╣ : ║ : ╗ : ╝ : ╜ : ╛ : ┐ |
  2314.     |----||----:---:---:---:---:---:---:---:---:---:---:---:---:---:---:---|
  2315.     | Cx ||  └ : ┴ : ┬ : ├ : ─ : ┼ : ╞ : ╟ : ╚ : ╔ : ╩ : ╦ : ╠ : ═ : ╬ : ╧ |
  2316.     |----||----:---:---:---:---:---:---:---:---:---:---:---:---:---:---:---|
  2317.     | Dx ||  ╨ : ╤ : ╥ : ╙ : ╘ : ╒ : ╓ : ╫ : ╪ : ┘ : ┌ : █ : ▄ : ▌ : ▐ : ▀ |
  2318.     |----||----:---:---:---:---:---:---:---:---:---:---:---:---:---:---:---|
  2319.     | Ex ||  α : ß : Γ : π : Σ : σ : µ : τ : Φ : Θ : Ω : δ : ∞ : φ : ε : ∩ |
  2320.     |----||----:---:---:---:---:---:---:---:---:---:---:---:---:---:---:---|
  2321.     | Fx ||  ≡ : ± : ≥ : ≤ : ⌠ : ⌡ : ÷ : ≈ : ° : ∙ : · : √ : ⁿ : ² : ■ :   |
  2322.     +======================================================================+
  2323.  
  2324.  
  2325. th¼ ≡≈c ≡▀■c, v╛i t∩ l« cao, trong m⌠i tr▀╢ng Vi«t ngµ.
  2326.  
  2327.     Cu»i c∙ng, m╡t s» ╤ng d°ng kh⌠ng hi¼n th╕ (render) ≡▀■c m╡t s» mπ t± trong
  2328. v∙ng G1 nh▀ nhµng chµ c≤ mπ  s»  160  (mπ  t±  cßch-dφnh  (non-breaking  space
  2329. character) trong 8859/Latin-1), 202 (mπ t± cßch-dφnh d∙ng trΩn mßy Macintosh),
  2330. hoúc 255.   Danh sßch nhµng mπ t± c≤ th¼ kh⌠ng hi¼n th╕ ≡▀■c c≤ th¼  rñt  dαi:
  2331. gÑn 30 mπ t± trong MS Windows 3.0 vα khoΣng 25 mπ t±  trong  MS  Windows  3.1.
  2332. TuΓn theo ph▀╜ng chΓm cªn thºn ≡π nΩu trΩn,  ch·ng t⌠i phΣi ≡út nhµng  mτu  t±
  2333. chµ hoa vαo nhµng v╕ trφ nαy.   Trong nhµng ╤ng d°ng cho  phΘp  chuy¼n  ph⌠ng,
  2334. vi«c hi¼n th╕ cßc chµ hoa c≤ th¼ ≡▀■c giΣi quy¬t bóng cßch cung  cñp  m╡t  cúp
  2335. ph⌠ng cho m▓i ki¼u chµ: ph⌠ng b∞nh th▀╢ng vα ph⌠ng chµ hoa.   Trong ph⌠ng  chµ
  2336. hoa,  tñt cΣ nhµng mτu t± ≡ßng l¿ lα chµ con ≡½u ≡▀■c bi¬n ≡▒i thαnh  chµ  hoa
  2337. t▀╜ng ╤ng.   Trong th±c t¬ khi gúp m╡t chµ hoa (thφ d° chµ á) kh⌠ng  th¼  hi¼n
  2338. th╕ ≡▀■c,  ng▀╢i d∙ng ch∩ cÑn chuy¼n qua ph⌠ng chµ hoa t▀╜ng ╤ng vα  ≡ßnh  vαo
  2339. chµ th▀╢ng (chµ ⌡).
  2340.                                                                         41
  2341.     Sau khi ≡π ≡╕nh ra nhµng nguyΩn tíc ch∩ ≡╒o nΩu trΩn, c⌠ng vi«c ch∩ c≥n lα
  2342. x¬p ≡út cßc mτu t± Vi«t c≥n l╒i theo m╡t l»i nαo ≡≤,  hay c≤ th¼ t∙y ti«n c√ng
  2343. ≡▀■c.   Vi«c nαy ≡π ≡▀■c th±c hi«n sao cho bΣng mτu t± c≤ m╡t d╒ng  t▀╜ng  ≡»i
  2344. cΓn ≡»i, thªm m█.  K¬t quΣ lα tñt cΣ nguyΩn tíc ch∩ ≡╒o nΩu trΩn ≡½u ≡▀■c th÷a
  2345. mπn,  ngo╒i tr╫ m╡t ≡i½u lα v╕ trφ chµ á trong 8859/Latin-1 kh⌠ng th¼ duy  tr∞
  2346. ≡▀■c.   CÑn ghi nhºn lα kh⌠ng c≤ cßch nαo c≤ th¼ bΣo toαn ≡▀■c th╤ t± cßc  mτu
  2347. t± Vi«t,  nh▀ng ≡Γy kh⌠ng phΣi lα m╡t vñn ≡½ l╛n v∞ th╤ t± cßc  mτu  t±  kh⌠ng
  2348. phΣi ASCII c≤ th¼ ≡▀■c giΣi quy¬t bóng cßch "tra bΣng."
  2349.  
  2350.     BΣn d± thΣo tºp mπ t± ti¬ng Vi«t VISCII 8-bit (BΣng 3) ≡π ≡▀■c h∞nh  thαnh
  2351. d±a trΩn cßc nguyΩn tíc nΩu trΩn.   Ch·ng t⌠i c≤ ² ≡╕nh xem ≡Γy lα m╡t bΣng mπ
  2352. t± duy nhñt ßp d°ng vαo m≈i vi«c s╪ d°ng dµ ki«n ti¬ng Vi«t nh▀  l▀u  trµ,  x╪
  2353. l², truy½n, vα mπ h≤a ph⌠ng chµ.  ╨i½u nαy s¿ ≡╜n giΣn h≤a rñt nhi½u quß tr∞nh
  2354. tφch h■p,  th±c hi«n,  vα s╪ d°ng,  vα thºt s± lα m╡t trong nhµng ≡i¼m son cⁿa
  2355. bΣn d± thΣo nαy.
  2356.  
  2357.  
  2358. 4. VIQR: QUY ╨ÿNH VIÄT NG  ╨ÜC-╨┐öC-TRONG-NGOâC
  2359. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  2360.  
  2361. 4.1 ╨ôNG L╣C
  2362. ~~~~~~~~~~~~
  2363.  
  2364. Trong khi quy ≡╕nh 8-bit ≡ang c» gíng tiΩu chuªn h≤a chµ Vi«t trong m⌠i tr▀╢ng
  2365. 8-bit th∞ vτn c≥n rñt nhi½u vñn ≡½ phΣi  ≡▀■c  giΣi  quy¬t  trong  m⌠i  tr▀╢ng
  2366. 7-bit,  ch╞ng h╒n nh▀ vi«c chuy¼n ≡i«n th▀ vα cßc ≡▀╢ng dΓy chuy¼n  tin  7-bit
  2367. khßc,  c√ng nh▀ cßc giao di«n ≡¼ t╒o chµ Vi«t c√ng cÑn phΣi  ≡▀■c  tiΩu  chuªn
  2368. h≤a.
  2369.  
  2370.     S± kh≤ khσn khi phΣi truy½n nhi½u  h╜n  128  mπ  s»  khßc  nhau  qua  kΩnh
  2371. (channel) 7-bit kh⌠ng phΣi lα m╡t vñn ≡½ riΩng cⁿa ti¬ng Vi«t.   Ngay  t╫  sau
  2372. khi Quy Luºt Chuy¼n ╨i«n Th▀ LiΩn L▀╛i ╨╜n GiΣn ("SMTP",  [8] ≡▀■c ≡½ ngh╕ nσm
  2373. 1982,  ≡π c≤ nhi½u n▓ l±c khai tri¼n quy luºt nαy nhóm ≡ßp ╤ng nhu cÑu  chuy¼n
  2374. dµ ki«n 8-bit hoúc nhi½u h╜n cho nhµng chµ Latin ╖ ┬u ChΓu vα nhµng chµ  t▀■ng
  2375. h∞nh ╖ ╨⌠ng ph▀╜ng (xem [9] ch╞ng h╒n).   Múc d∙ nhu cÑu chuy¼n vºn 8-bit thºt
  2376. cÑn thi¬t,  cßc c▒ng chuy¼n ≡i«n th▀ kh⌠ng d¡ g∞ thay ≡▒i trong  m╡t  s╛m  m╡t
  2377. chi½u.   Trong t▀╜ng lai tr▀╛c mít,  ch·ng ta vτn c≤ nhu cÑu chuy¼n  ≡i«n  th▀
  2378. ti¬ng Vi«t minh b╒ch qua m╒ch 7-bit.
  2379.  
  2380.     QuΣ thºt ≡π c≤ m╡t tiΩu chuªn ≡úc bi«t d∙ng trΩn Viet-Net  vα  trong  nh≤m
  2381. th⌠ng tin Soc.Culture.Vietnamese trΩn m╒ng l▀╛i Usenet. ╨≤ lα cßch  d∙ng nhµng
  2382. k² t± thφch h■p d¡ nh╛ ≡i theo sau m╡t nguyΩn Γm ≡¼ t▀■ng tr▀ng  cho  dñu  ph°
  2383. (thφ d° nh▀ dñu ^ t▀■ng tr▀ng dñu m√);  ch╞ng h╒n,  "Vi«t Nam" ≡▀■c vi¬t thαnh
  2384. "Vie^.t Nam."  Tuy nhiΩn, quy tíc nαy kh⌠ng ≡▀■c r⌡ rαng b╖i v∞ m╡t s»  k²  t± 
  2385. t▀■ng tr▀ng dñu ph° c≤ th¼ d∙ng lαm chñm cΓu;  thφ d° "tha?" c≤  th¼  hi¼u  lα 
  2386. tha? hoúc thΣ.
  2387.  
  2388.     Quy ▀╛c cⁿa Viet-Net c√ng t▀╜ng t± nh▀ khßi ni«m "≡≈c ≡▀■c trong ngoúc" do
  2389. K. Simonsen [10,11] ≡½ ngh╕,  ≡π lαm sßng t÷ nhµng tr▀╢ng h■p m╜ h░  nh▀  trΩn
  2390. bóng cßch quy ≡╕nh thΩm tr╒ng thßi cho bΣn vσn ╖ cΣ cñp bºc mτu t± lτn cñp bºc
  2391. h« mτu t±.   Kh⌠ng may, trong n▓ l±c cung cñp m╡t giΣi phßp cho toαn th¬ gi╛i,
  2392. ≡½ ngh╕ nαy kh⌠ng giΣi quy¬t thoΣ ≡ßng ti¬ng Vi«t.  ╨Ñu tiΩn, quy tíc nαy gi╛i
  2393. h╒n nhµng k² t± d¡ nh╛ trong tºp h■p 83 k² t± h∞nh c» ≡╕nh cⁿa  ISO-646  [12].
  2394.                                                                         42
  2395. ╨i½u nαy t÷ ra t»t ≡⌐p trΩn nguyΩn tíc,  nh▀ng l╒i lαm cho chµ Vi«t  kh≤  ≡≈c.
  2396. Thφ d° dñu "h÷i" vα "ngπ" ≡▀■c quy ≡╕nh lÑn l▀■t lα 2 vα ?,  ≡¼ trßnh d∙ng dñu
  2397. ~,  v∞ dñu nαy kh⌠ng phΣi lα m╡t k² t± c» ≡╕nh.   S± ph▒ bi¬n r╡ng rπi cⁿa cßc
  2398. bαn ≡ßnh chµ ASCII trong ≡a s» cßc ng▀╢i d∙ng chµ Vi«t cho thñy vi«c gi╛i  h╒n
  2399. nαy kh⌠ng h■p l².   C√ng xin nhñn m╒nh lα ch·ng t⌠i ≡ang bi«n h╡ quan ≡i¼m "d¡
  2400. ≡≈c cho ≡a s» ng▀╢i d∙ng" h╜n lα "kh≤ ≡≈c cho tñt cΣ ng▀╢i  d∙ng."   H╜n  nµa,
  2401. v╛i ≡α ti¬n cⁿa vi«c qu»c t¬ h≤a cßc bαn ≡ßnh chµ vα mαn Σnh, thφ d° trong m⌠i
  2402. tr▀╢ng bi¼u h≈a khung (graphical window environment),  vi«c tßi ≡╕nh nghεa cßc
  2403. phφm chµ vα thay ≡▒i ph⌠ng c≤ th¼ ≡▀■c th±c hi«n d¡ dαng khi¬n  cho  gi╛i  h╒n
  2404. trΩn cαng ngαy cαng l▓i th╢i.
  2405.  
  2406.     ╨i¼m kh≤ khσn l╛n h╜n cⁿa quy tíc trΩn lα ph▀╜ng phßp mπ h≤a bóng  hai  k²
  2407. t± (chi½u dαi c» ≡╕nh) {7} lαm cho chµ Vi«t kh≤ ≡≈c, nhñt lα nhµng mτu t± Vi«t
  2408. c≤ hai dñu ph° (thφ d° ñ).   Ph▀╜ng phßp mπ h≤a d∙ng nhi½u k²  t±  (chi½u  dαi
  2409. thay ≡▒i) {8} c√ng kh≤ ≡≈c vα kh⌠ng c≤ hi«u nσng v∞ ch╤a ≡Ñy ngh⌐t nhµng k² t±
  2410. d∙ng ≡¼ m╖ vα ≡≤ng trong khi Vi«t ngµ l╒i d∙ng nhi½u dñu.   Múc d∙ mßy vi tφnh
  2411. c≤ th¼ ≡≈c d¡ dαng bñt c╤ ph▀╜ng phßp "d¡ nh╛" nαo,  ph▀╜ng phßp ßp  d°ng  cho
  2412. ng▀╢i d∙ng phΣi lα ph▀╜ng phßp khi¬n h≈ c≤ th¼ ≡≈c vα vi¬t m╡t  cßch  d¡  dαng
  2413. khi d∙ng nhµng nhu li«u vi¬t bαi (editor) 7-bit.   Ng▀╢i d∙ng Vi«t  ngµ  kh⌠ng
  2414. mu»n phΣi h≈c hoúc nh╛ nhµng chu▓i k² t± nh▀ "a5" t▀■ng tr▀ng cho í, hoúc phΣi
  2415. ≡ßnh nhµng chu▓i dαi nh▀ "&_a('_" ≡¼ t▀■ng tr▀ng cho m╡t mτu t±  Vi«t  nαo  ≡≤
  2416. trong cΣ m╡t bαi dαi.
  2417.  
  2418.     ╨¼ th÷a mπn nhu cÑu d¡ ≡≈c vα uy¼n chuy¼n,  ch·ng ta cÑn ñn ≡╕nh  m╡t  quy
  2419. tíc khßc.   Cßch t»t h╜n  lα  d∙ng  ph▀╜ng  phßp  chuy¼n  mπ-t±-h«  (code-page
  2420. switching) nh▀ quy ≡╕nh ISO-2022 [13] ≡¼ chuy¼n vσn bΣn vαo  tr╒ng  thßi  Vi«t
  2421. ngµ vα t»i ▀u h≤a vi«c mπ h≤a tu╧ theo tr╒ng thßi ng⌠n ngµ.   GÑn ≡Γy, van der
  2422. Poel ≡½ x▀╛ng m╡t ph▀╜ng-phßp d¡ nh╛ [14],  nhñn m╒nh v½ nhµng quy  ▀╛c  riΩng
  2423. cⁿa t╫ng ng⌠n ngµ.   ╨½ ngh╕ nαy cung cñp m╡t ph▀╜ng ti«n ≡¼  quy  ≡╕nh  tr╒ng
  2424. thßi ng⌠n ngµ,  v╛i m▓i ng⌠n ngµ t± quy ≡╕nh lñy cßch mπ h≤a sao cho hµu  hi«u
  2425. nhñt.   L■i ≡i¼m chφnh cⁿa n≤ lα nhµng ╤ng d°ng d±a theo ph▀╜ng phßp nαy kh⌠ng
  2426. cÑn phΣi t╒o h∞nh cho tñt cΣ cßc tºp mπ t± ≡▀■c ch∩ ≡╕nh trong  d≥ng  tin,  mα
  2427. ch∩ cÑn t∙y nghi bßo tin v½ nhµng ng⌠n ngµ kh⌠ng ≡▀■c h▓ tr■ nh▀ "╖ ≡Γy c≤ chµ
  2428. Hy L╒p kh⌠ng th¼ t╒o h∞nh ≡▀■c" (xin xem [14] ≡¼ bi¬t thΩm chi ti¬t chφnh  xßc
  2429. cⁿa quy ≡╕nh).   Ph▀╜ng phßp nαy cho phΘp m▓i c╡ng ≡░ng d∙ng cßch  th╤c  riΩng
  2430. t»t nhñt ≡¼ mπ h≤a ng⌠n ngµ cⁿa m∞nh.  Quy ▀╛c VIQR ph∙ h■p v╛i ≡▀╢ng l»i nαy,
  2431. vα c≤ th¼ ≡▀■c sßt nhºp d¡ dαng vαo khu⌠n kh▒ nαy.
  2432.  
  2433.     Nhµng quy ≡╕nh ≡út ra ╖ ≡Γy s¿ ßp d°ng vαo m≈i d≥ng dµ ki«n, g░m c≤ chuy¼n
  2434. chµ (text transfer), h░ s╜ xuñt nhºp (file I/O), vα cßch ≡ßnh chµ.  NguyΩn tíc
  2435. nαy lα nguyΩn nhΓn chφnh ≡▀a ≡¬n s± thαnh c⌠ng cⁿa khi¼n  h«  Unix,  trong  ≡≤
  2436. ng▀╢i vi¬t nhu li«u kh⌠ng phΣi quan tΓm ≡¬n cßc chi ti¬t ≡úc th∙  cⁿa  cßc  b╡
  2437. phºn ph°,  mα ch∩ quan tΓm ≡¬n m╡t giao di«n ≡░ng nhñt (uniform interface)  ≡¼
  2438. t╫ ≡≤ c≤ th¼ chia xδ cßc nhu li«u th▀ vi«n cⁿa khi¼n h«.  Do ≡≤ ≡i½u cÑn thi¬t
  2439. lα cung cñp m╡t cσn bΣn chung  ≡¼  t╫  ≡≤  xΓy  d±ng  nhµng  phÑn  d╕ch  (data
  2440. interpreter) cho m≈i d≥ng dµ ki«n bñt k¼ xuñt x╤.   TrΩn th±c t¬,  ≡i½u nαy ≡π
  2441. gi·p cho vi«c phßt tri¼n nhµng nhu li«u d∙ng chµ Vi«t ≡▀■c d¡ dαng rñt nhi½u.
  2442.  
  2443.  
  2444. ------------------------------------------------------------------------------
  2445.     {7} Cßch d∙ng lα "&xy", mα x lα chµ chφnh vα y lα chµ ph° ≡¼ ghΘp v╛i x.
  2446.  
  2447.     {8} Cßch d∙ng lα "&_xxxx_", mα xxxx c≤ th¼ lα bñt c╤ chu▓i k² t± nαo.
  2448.                                                                         43
  2449.     Ngoαi ra,  ng▀╢i d∙ng ≡▀■c h▀╖ng l■i φch l╛n t╫ vi«c tiΩu chuªn  h≤a  cßch
  2450. ≡ßnh chµ.   H≈ kh⌠ng cÑn phΣi h≈c nhi½u cßch ≡ßnh chµ khßc nhau  khi  x╪  d°ng
  2451. nhµng nhu li«u khßc nhau.   N¬u tñt cΣ cßc nhu li«u c∙ng h▓ tr■ m╡t tiΩu chuªn
  2452. chung,  ng▀╢i d∙ng ≡π quen v╛i tiΩu chuªn nαy c≤ th¼ ≡ßnh ti¬ng Vi«t  ngay  mα
  2453. kh⌠ng cÑn phΣi h≈c l╒i.   TiΩu chuªn trong bαi nαy quy ≡╕nh nhµng ≡úc tφnh t»i
  2454. thi¼u mα cßc nhu li«u h▓ tr■ n≤ cÑn phΣi c≤;  dε nhiΩn cßc k█ thuºt  ≡ßnh  chµ
  2455. khßc c≤ th¼ ≡▀■c sßt nhºp c∙ng v╛i tiΩu chuªn nαy thαnh m╡t quy ≡╕nh t▒ng qußt
  2456. h╜n.   ╨i½u nαy s¿ ≡▀■c bαn luºn thΩm nµa trong PhÑn 5.2 n≤i v½ cßch ≡ßnh  chµ
  2457. Vi«t.
  2458.  
  2459. 4.2 QUY ╨ÿNH "╨ÜC-╨┐öC-TRONG-NGOâC" (VIQR)
  2460. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  2461.  
  2462. Quy ≡╕nh nαy hoαn toαn s╪ d°ng ki¼u mτu "d¡ ≡≈c" cⁿa Viet-Net. Quy  ≡╕nh  Vi«t
  2463. ngµ "≡≈c ≡▀■c trong ngoúc," VIQR,  g░m c≤ ba tr╒ng thßi: nguyΩn d╒ng,  Anh Ngµ
  2464. vα Vi«t Ngµ.   Tr╒ng thßi nguyΩn d╒ng chⁿ ² ≡¼ chuy¼n tin y nguyΩn, kh⌠ng thay
  2465. ≡▒i (ngo╒i tr╫ nhµng chu▓i thoßt (escape sequence) ≡¼ m╖ ≡Ñu vα k¬t th·c tr╒ng
  2466. thßi nguyΩn d╒ng). Tr╒ng thßi Anh Ngµ vα Vi«t Ngµ ≡▀■c d∙ng chⁿ y¬u cho  nhµng
  2467. d≥ng dµ ki«n c≤ pha tr╡n Anh ngµ vα Vi«t ngµ,  v╛i m▓i tr╒ng thßi ≡▀■c t»i  ▀u
  2468. h≤a v½ h∞nh th╤c c√ng nh▀ kh»i l▀■ng t∙y theo vσn bΣn ch╤a ≡a s»  lα  Anh  ngµ
  2469. hoúc Vi«t ngµ.   M▓i tr╒ng thßi ≡½u c≤ c╜ ch¬ riΩng ≡¼ vi¬t mτu t± Vi«t,  bóng
  2470. cßch d∙ng m╡t hoúc hai dñu ph° theo sau nguyΩn Γm cσn bΣn.
  2471.  
  2472.     Tr▀╛c h¬t xin gi╛i thi«u khßi ni«m t╒o chµ ngÑm (implicit composition)  vα
  2473. t╒o chµ ch∩ ≡╕nh (explicit composition).
  2474.  
  2475. 4.2.1 PhΘp T╒o Chµ NgÑm
  2476. ~~~~~~~~~~~~~~~~~~~~~~~
  2477.  
  2478. PhΘp t╒o chµ ngÑm th▀╢ng ≡▀■c d∙ng m╡t cßch hµu hi«u cho nhµng  dµ  ki«n  phÑn
  2479. l╛n lα chµ Vi«t.  Trong phΘp t╒o chµ ngÑm, m▓i khi m╡t hay hai dñu ph° ≡i theo
  2480. sau m╡t nguyΩn Γm c╜ bΣn th∞ ch·ng s¿ k¬t h■p v╛i nguyΩn Γm ≡≤ thαnh  m╡t  mτu
  2481. t± Vi«t duy nhñt sao cho ph∙ h■p v╛i quy tíc vσn ph╒m.  Thφ d°:
  2482.  
  2483.                         a^      --->      Γ
  2484.                         o+?     --->      ╖
  2485.                         ╜?      --->      ╖
  2486.                         Vie^.t  --->      Vi«t
  2487.                         ViΩ.t   --->      Vi«t
  2488.                         la'^n   --->      lß^n (kh⌠ng phΣi lñn)
  2489.                         lß^n    --->      lß^n (kh⌠ng phΣi lñn)
  2490.  
  2491.     Trong hai thφ d° ch≤t,  chu▓i a^' kh⌠ng t▀╜ng ≡▀╜ng v╛i a'^ hay ß^ v½  mút
  2492. vσn ph╒m.   Th⌠ng th▀╢ng, ba k² t± ph° (, ^, vα + phΣi theo sßt sau cßc nguyΩn
  2493. Γm thφch h■p th∞ m╛i k¬t h■p ≡▀■c.
  2494.  
  2495.     Chu▓i ≡úc bi«t dd k¬t h■p thαnh ≡; DD, dD, vα Dd ≡½u t▀■ng tr▀ng cho ╨.
  2496.  
  2497.     Nhµng nguyΩn Γm c╜ bΣn g░m c≤ a, σ, Γ, e, Ω, i, o, ⌠, ╜, u, ▀, y, vα nhµng
  2498. mτu t± hoa t▀╜ng ╤ng. Mπ s» cⁿa nhµng mτu t± nαy ≡▀■c li«t kΩ trong BΣng 3, D±
  2499. ThΣo TiΩu Chuªn 8-bit VISCII.
  2500.  
  2501.     Nhµng dñu ti¬ng Vi«t ≡▀■c t▀■ng tr▀ng bóng nhµng k² t± ASCII c≤ h∞nh  d╒ng
  2502.                                                                         44
  2503.       BΣng 4.  K² t± ASCII d¡ nh╛ d∙ng thay th¬ dñu ti¬ng Vi«t
  2504.  
  2505.     ==============================================================
  2506.     Dñu        K² t±    Mπ s» ASCII                Thφ d°
  2507.     --------------------------------------------------------------
  2508.     trσng (ß)    (      0x28, dñu m╖ ngoúc         ba(n khoa(n
  2509.     m√           ^      0x5E, dñu m√               ho^m nay
  2510.     m≤c          +      0x2B, dñu c╡ng             Qui Nho+n
  2511.  
  2512.     síc          '      0x27, ngoúc ≡╜n            La'i Thie^u
  2513.     huy½n        `      0x60, ngoúc ≡╜n ng▀■c      Bi`nh Du+o+ng
  2514.     h÷i          ?      0x3F, dñu h÷i              Thu? DDu+'c
  2515.     ngπ          ~      0x7E, dñu ngπ              di~ va~ng
  2516.     núng         .      0x2E, dñu chñm             ho.c ta^.p
  2517.     ==============================================================
  2518.  
  2519.  
  2520. t▀╜ng t±.  BΣng 4 li«t kΩ 7 k² t± ASCII d¡ nh╛ ≡▀■c d∙ng ≡¼ thay th¬ nhµng dñu
  2521. ti¬ng Vi«t.   Ph° l°c A vα B li«t kΩ, theo th╤ t± síp chµ vα th╤ t± mπ s», tñt
  2522. cΣ mτu t± Vi«t vα chu▓i VIQR t▀╜ng ╤ng.
  2523.  
  2524. 4.2.2 PhΘp T╒o Chµ Ch∩ ╨╕nh
  2525. ~~~~~~~~~~~~~~~~~~~~~~~~~~~
  2526.  
  2527. PhΘp t╒o chµ ch∩ ≡╕nh d±a trΩn khßi ni«m d∙ng m╡t k² t± ≡i tr▀╛c  ≡¼  bßo  tin
  2528. vi«c t╒o chµ m╡t cßch r⌡ rαng.   K² t± bßo tin lα g╒ch-chΘo-ng▀■c ("\",  mπ s»
  2529. ASCII 0x5C), t╫ nay s¿ g≈i lα k² t± <COM> {*}.   Nhµng k² t± ≡i theo sau n≤ s¿
  2530. ≡▀■c k¬t h■p theo c∙ng quy tíc vσn ph╒m nh▀ phΘp t╒o chµ gißn  ti¬p.   Do  ≡≤,
  2531. nhµng thφ d° ╖ phÑn trΩn s¿ hi«n ra nh▀ sau khi d∙ng phΘp t╒o chµ ch∩ ≡╕nh:
  2532.  
  2533.              a^         --->    Γ 
  2534.              o+?        --->    ╖ 
  2535.              Vie^.t     --->    Vi«t 
  2536.  
  2537.     PhΘp t╒o chµ ch∩ ≡╕nh t÷ ra ti«n l■i trong d≥ng dµ ki«n mα phÑn l╛n lα Anh
  2538. ngµ,  ≡░ng th╢i c√ng thφch h■p v╛i cßch ≡ßnh chµ th±c th╢i ≡▀■c ≡½ cºp ╖  PhÑn
  2539. 5.2.
  2540.  
  2541.     Sau ≡Γy, ch·ng ta s¿ phΓn tφch cßch x╪ d°ng hai phΘp t╒o chµ trΩn trong ba
  2542. tr╒ng thßi. Tr╒ng thßi cⁿa d≥ng dµ ki«n ≡▀■c ch∩ ≡╕nh bóng chu▓i g░m hai k² t±
  2543. <COM>x, v╛i x ≡▀■c quy ≡╕nh nh▀ sau ≡Γy.
  2544.  
  2545. 4.2.3 Tr╒ng Thßi NguyΩn D╒ng
  2546. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  2547.  
  2548. S± xuñt hi«n cⁿa <COM>L or <COM>l trong d≥ng dµ ki«n m╖ ≡Ñu tr╒ng thßi  nguyΩn
  2549. d╒ng (hay nguyΩn tr╒ng).   M°c ≡φch lα ≡¼ chuy¼n vºn dµ ki«n trong tr╒ng  thßi
  2550. hÑu nh▀ nguyΩn v⌐n kh⌠ng bi¬n ≡▒i.   CΣ hai phΘp t╒o chµ ngÑm vα ch∩ ≡╕nh  ≡½u
  2551.  
  2552. ------------------------------------------------------------------------------
  2553.     {*} K² hi«u <...> ≡▀■c d∙ng ≡¼ nhñn m╒nh róng cΣ chu▓i <...> ch∩ th¼  hi«n
  2554. m╡t byte trong b╡ nh╛ hoúc kho ch╤a; nghεa lα ch∩ t▀╜ng ╤ng v╛i m╡t vα ch∩ m╡t
  2555. k² t± mα th⌠i.  Thφ d°, chµ H┴T c≥n c≤ th¼ ≡▀■c vi¬t lα <H><┴><T>.
  2556.                                                                         45
  2557. kh⌠ng ≡▀■c ßp d°ng ╖ ≡Γy, k¼ cΣ k² t± <COM> c√ng kh⌠ng c≤ ² nghεa ≡úc bi«t tr╫
  2558. khi k² t± nαy ≡▀■c theo sau b╖i m╡t trong sßu chµ l, L, v, V,  m,  hoúc M,  v∞
  2559. l·c ≡≤ n≤ s¿ m╖ ≡Ñu m╡t trong ba tr╒ng thßi {9}.
  2560.  
  2561. 4.2.4 Tr╒ng Thßi Anh Ngµ
  2562. ~~~~~~~~~~~~~~~~~~~~~~~~
  2563.  
  2564. Tr╒ng thßi Anh ngµ ≡▀■c bít ≡Ñu bóng chu▓i <COM>M  hay  <COM>m.   Trong  tr╒ng
  2565. thßi Anh ngµ, ch∩ c≤ phΘp t╒o chµ ch∩ ≡╕nh ≡▀■c h▓ tr■.   ╨i½u nαy c≤ nghεa lα
  2566. ≡¼ t╒o ra m╡t chµ Vi«t, ta cÑn phΣi d∙ng k² t± bßo tin <COM>.  N¬u chu▓i k² t±
  2567. kh⌠ng ≡▀■c m╖ ≡Ñu bóng <COM>, chu▓i nαy s¿ kh⌠ng ≡▀■c phΘp k¬t h■p.  Thφ d°:
  2568.  
  2569.         \mD\u~ng, how are you?  --->    D√ng, how are you?
  2570.         \mKho\e? kh\o^ng?       --->    Khoδ kh⌠ng?
  2571.  
  2572.     Nh▀ ≡π n≤i, chu▓i "you?" kh⌠ng ≡▀■c phΘp ≡▒i thαnh "yoⁿ" v∞ kh⌠ng c≤ k² t±
  2573. bßo tin <COM> ≡i tr▀╛c mτu t± u.
  2574.  
  2575. 4.2.4 Tr╒ng Thßi Vi«t Ngµ
  2576. ~~~~~~~~~~~~~~~~~~~~~~~~~
  2577.  
  2578. Chu▓i <COM>V hay <COM>v chuy¼n tr╒ng thßi cⁿa d≥ng dµ  ki«n  sang  tr╒ng  thßi
  2579. Vi«t ngµ.   ù tr╒ng thßi nαy,  ta c≤ th¼ d∙ng cΣ hai phΘp t╒o chµ ngÑm vα  ch∩
  2580. ≡╕nh. Nhµng thφ d° sau ≡Γy d±a trΩn giΣ thi¬t tr╒ng thßi ban ≡Ñu cⁿa  d≥ng  dµ
  2581. ki«n lα tr╒ng thßi Anh ngµ:
  2582.  
  2583.         \vChu+~ Vie^.t          --->    Chµ Vi«t
  2584.         \vCh\u+~ Vi\e^.t        --->    Chµ Vi«t
  2585.         Chu+~ \vVie^.t          --->    Chu+~ Vi«t
  2586.  
  2587.     Tr╒ng thßi Vi«t ngµ d∙ng phΘp t╒o chµ ngÑm hÑu gi·p cho vσn  bΣn  gπy  g≈n
  2588. h╜n v∞ kh⌠ng phΣi ch╤a nhi½u k² t± bßo tin <COM> m╡t cßch r▀╢m rα v⌠  φch  nh▀
  2589. trong tr▀╢ng h■p t╒o chµ ch∩ ≡╕nh.   Ngoαi ra,  tr╒ng thßi Vi«t ngµ  c√ng  cho
  2590. phΘp t╒o chµ ch∩ ≡╕nh ≡¼ duy tr∞ s± t▀╜ng h■p (compatibility) v╛i  tr╒ng  thßi
  2591. Anh ngµ nhóm trßnh vi«c quy ≡╕nh thΩm ² nghεa cⁿa nhµng chu▓i bít ≡Ñu bóng  k²
  2592. t± <COM>. Ngoαi ra, ph▀╜ng phßp t╒o chµ ch∩ ≡╕nh c√ng duy tr∞ s± t▀╜ng h■p v╛i
  2593. cßch ≡ßnh chµ th±c th╢i (real-time keyboarding).
  2594.  
  2595. 4.2.6 NguyΩn T± trong Tr╒ng Thßi Anh Ngµ vα Vi«t Ngµ
  2596. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  2597.  
  2598. Hπy xΘt thφ d° sau:
  2599.  
  2600.       \vDu~ng, how are you?    --->    D√ng, how are yoⁿ
  2601.  
  2602.     Trong thφ d° nαy,  chu▓i "you?" tr╖ thαnh "yoⁿ" v∞ d≥ng  dµ  ki«n  ≡ang  ╖
  2603. tr╒ng thßi Vi«t ngµ.  V∞ th¬ ta thñy ≡⌠i khi cÑn t╒m ng▀ng vi«c k¬t h■p chµ mα
  2604. kh⌠ng phΣi chuy¼n tr╒ng thßi.   Tφnh chñt "nguyΩn d╒ng" cⁿa mτu t±  <COM>  tr╖
  2605.  
  2606. ------------------------------------------------------------------------------
  2607.     {9} ╨¼ c≤ ≡▀■c chφnh chµ <COM>L,  <COM>M,  hoúc <COM>V ta cÑn phΣi  chuy¼n
  2608. sang tr╒ng thßi Vi«t hoúc Anh vα d∙ng ≡úc ≡i¼m "nguyΩn d╒ng"  quy  ≡╕nh  trong
  2609. nhµng tr╒ng thßi ≡≤. Xem 4.2.6
  2610.                                                                         46
  2611. thαnh ti«n d°ng ╖ ≡Γy.   Trong cΣ hai tr╒ng thßi Vi«t ngµ vα Anh ngµ,  m▓i khi
  2612. k² t± <COM> ≡▀■c theo sau b╖i m╡t k² t± kh⌠ng th¼ k¬t h■p c,  k¬t  quΣ  s¿  lα
  2613. chφnh k² t± c c≥n k² t± gi╛i thi«u <COM> s¿ b╕ lo╒i b÷ kh÷i d≥ng dµ ki«n.   ╨¼
  2614. c≤ k² t± <COM>, d∙ng <COM><COM>. Hπy xem nhµng thφ d° sau:
  2615.  
  2616.                 \vddi dda^u?       --->        ≡i ≡Γⁿ
  2617.                 \vddi dda^u\?      --->        ≡i ≡Γu?
  2618.                 \m\ddi v\o^?       --->        ≡i v▒
  2619.                 \m\ddi v\o^\?      --->        ≡i v⌠?
  2620.                 \\                 --->        \
  2621.                 \\V                --->        \V
  2622.                 \\M                --->        \M
  2623.                 \\L                --->        \L
  2624.  
  2625. 4.2.7 K² T± Hoαn Cñu
  2626. ~~~~~~~~~~~~~~~~~~~~
  2627.  
  2628. D≥ng dµ ki«n c≤ th¼ ch╤a m╡t k² t± ≡úc bi«t g≈i lα k² t± hoαn cñu (k² t±  hoαn
  2629. tñt vi«c cñu t╒o chµ,  closure character) d∙ng ≡¼ k¬t th·c vi«c  k¬t  h■p  chµ
  2630. ≡ang di¡n ti¬n.   K² t± nαy lα CTRL-A (ASCII 0x1),  t╫ nay g≈i lα <CLS>.   Khi
  2631. gúp <CLS> trong d≥ng dµ ki«n, tñt cΣ nhµng vi«c k¬t h■p chµ ≡ang ti¬n hαnh ≡½u
  2632. ≡▀■c k¬t th·c.   <CLS> lu⌠n lu⌠n b╕ lo╒i b÷,  tr╫ khi n≤ xuñt hi«n trong chu▓i
  2633. nguyΩn d╒ng <COM><CLS>.
  2634.  
  2635.     K² t± hoαn cñu c≤ φch trong nhµng ╤ng d°ng th±c th╢i nh▀ ≡ßnh chµ, khi cÑn
  2636. phΣi cho bi¬t lα chu▓i k¬t h■p ≡π k¬t th·c, vα c╜ phºn nhºn tin kh⌠ng cÑn phΣi
  2637. ch╢ thΩm dµ ki«n nµa.
  2638.  
  2639.  
  2640. 5. C┴C ║NG D₧NG ╨âC BIÄT
  2641. ~~~~~~~~~~~~~~~~~~~~~~~~
  2642.  
  2643. PhÑn nαy phßc h≈a nhµng nguyΩn tíc ch∩ ≡╒o vα quy ▀╛c ≡úc th∙  cho  nhµng  ╤ng
  2644. d°ng ≡π ≡▀■c d∙ng trong gi╛i phßt tri¼n nhu li«u.  M°c ≡φch cⁿa n≤ lα cung cñp
  2645. m╡t tαi li«u s»ng bao g░m nhµng kinh nghi«m tφch l√y trong th╢i gian qua  c√ng
  2646. nh▀ nhµng kinh nghi«m síp t╛i.   Ch·ng t⌠i hoan nghΩnh ≡╡c giΣ  tham  gia  vαo
  2647. nhµng cu╡c thΣo luºn nαy vα c»ng hi¬n vαo vi«c phßt tri¼n nhµng nguyΩn tíc ch∩
  2648. ≡╒o n≤i riΩng, vα vi«c tiΩu chuªn h≤a n≤i chung.
  2649.  
  2650. 5.1 ╨IÄN TH┐ CHUYîN QUA MÇCH 7-BIT
  2651. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  2652.  
  2653. ╨a s» nhµng m╒ch hi«n hµu d∙ng ≡¼ chuy¼n ≡i«n th▀ vτn c≥n  ╖  trong  gi╛i  h╒n
  2654. 7-bit.   Tºp mπ t± 8-bit quy ≡╕nh ╖ PhÑn 3 kh⌠ng th¼ ≡▀■c truy½n  nguyΩn  d╒ng
  2655. qua nhµng m╒ch nαy.   Do ≡≤ VIQR ≡≤ng m╡t vai quan tr≈ng v∞ n≤ c≤ th¼ d∙ng  ≡¼
  2656. chuy¼n vσn bΣn ti¬ng Vi«t 7-bit m╡t cßch minh b╒ch,  kh⌠ng b╕ m╜  h░  v∞  tφnh
  2657. cßch l▀▐ng d°ng cⁿa nhµng k² t± v╫a t▀■ng tr▀ng dñu ph° v╫a  t▀■ng  tr▀ng  dñu
  2658. chñm cΓu nh▀ dñu "?".   Do tφnh chñt 7-bit cⁿa cßc m╒ch nαy,  b╡ chuy¼n th▀ s¿
  2659. kh⌠ng gúp phΣi nhµng mτu t± Vi«t nóm trong G1 nh▀ σ, ┼, Γ, ┬, Ω, ╩, ⌠,  ╘,  ╜,
  2660. ┤, ▀ vα ┐.  Tuy nhiΩn, b╡ chuy¼n th▀ ch¬ t╒o cho m╒ch 8-bit s¿ phΣi giΣi quy¬t
  2661. nhµng mτu t± nαy ≡·ng theo quy tíc k¬t h■p VIQR,  nghεa lα phΣi k¬t h■p nguyΩn
  2662. Γm c╜ bΣn vα dñu ph° n¬u ≡▀■c.  Vφ d°:
  2663.  
  2664.                                                                         47
  2665.                     σ'     --->      í
  2666.  
  2667.     ╨¼ ≡▀■c hi¼u ≡·ng,  ≡i«n th▀ phΣi ch∩ ≡╕nh r⌡ rαng tr╒ng  thßi  ng⌠n  ngµ,
  2668. hoúc ╖ trong phÑn dτn ≡Ñu (header), hoúc ╖ trong phÑn n╡i dung (text body) cⁿa
  2669. th▀.   Ch·ng ta kh⌠ng th¼ ph÷ng ≡oßn tr╒ng thßi cⁿa b╡ phºn nhºn tin ╖ ≡Ñu m▓i
  2670. lß th▀,  v∞ th▀ c≤ th¼ ≡▀■c ≡≈c t╫ m╡t h░ s╜ (file) g░m nhi½u lß (message) ch╤
  2671. kh⌠ng phΣi ch∩ c≤ m╡t lß, do ≡≤ kh≤ bi¬t ≡Γu lα ch▓ bít ≡Ñu cⁿa lß th▀ khßc.
  2672.  
  2673.     H╜n nµa,  n¬u trong th▀ c≤ ch╤a m╡t chu▓i ch∩ ≡╕nh  tr╒ng  thßi  ng⌠n  ngµ
  2674. (<COM>L,  <COM>V hoúc <COM>M),  th∞ lß th▀ nΩn ≡▀■c k¬t th·c trong tr╒ng  thßi
  2675. nguyΩn d╒ng,  nghεa lα k¬t th·c bóng <COM>L.   Vi«c nαy gi·p cho ╤ng d°ng  ≡≈c
  2676. th▀ ≡≈c ≡▀■c nhµng lß th▀ sau nóm c∙ng trong m╡t h░ s╜, ch╞ng h╒n ╤ng d°ng ≡≈c
  2677. th▀ trΩn mαn Σnh.   ╨i½u nαy t÷ ra φch l■i v∞ phÑn dτn ≡Ñu cⁿa  ≡i«n  th▀  n≤i
  2678. chung kh⌠ng tuΓn theo quy tíc VIQR,  vα do ≡≤ c≤ th¼ b╕ hi¼u sai khi  kh⌠ng  ╖
  2679. trong tr╒ng thßi nguyΩn d╒ng.
  2680.  
  2681. 5.2 ╨┴NH CH  VIÄT
  2682. ~~~~~~~~~~~~~~~~~
  2683.  
  2684. Bαn ≡ßnh chµ cαng ngαy cαng ≡▀■c qu»c t¬ h≤a thΩm.  Nh▀ ≡π n≤i ╖ phÑn quy ≡╕nh
  2685. 8-bit,  ≡Γy lα m╡t l² do chφnh ≡¼ d∙ng c∙ng m╡t mπ s» cho nhµng mτu t± Vi«t ≡π
  2686. c≤ s╟n trong bΣng ISO 8859/Latin-1.  B╡ ≡i½u khi¼n bαn chµ Vi«t, ≡▀■c thi¬t k¬
  2687. ≡¼ d∙ng trong m⌠i tr▀╢ng 7-bit mα th⌠i,  c≤ th¼ giΣ s╪ lα s¿ kh⌠ng bao gi╢ gúp
  2688. nhµng nguyΩn Γm c╜ bΣn cⁿa ti¬ng Vi«t nóm trong v∙ng G1.   Nh▀ng b╡ ≡i½u khi¼n
  2689. bαn chµ d∙ng trong m⌠i tr▀╢ng 8-bit,  c√ng nh▀ b╡ nhºn tin 8-bit  (PhÑn  5.1),
  2690. phΣi s╟n sαng ti¬p nhºn bñt c╤ nguyΩn Γm c╜ bΣn nαo, k¼ cΣ nhµng nguyΩn Γm nóm
  2691. trong G1.
  2692.  
  2693.     Vi«c t╒o h∞nh mτu t± trΩn mαn Σnh (echoing behavior) khi ≡ang k¬t h■p  chµ
  2694. t╫ bαn ≡ßnh chµ cÑn ≡▀■c quy ≡╕nh thΩm.   Ch·ng ta c≤ th¼ t╒o h∞nh cho mτu  t±
  2695. ch∩ sau khi vi«c k¬t h■p ≡π hoαn tñt.   Ch·ng ta c√ng c≤ th¼ t╒o h∞nh cho  tñt
  2696. cΣ nhµng d╒ng trung gian,  h∞nh cⁿa d╒ng sau ≡▀■c t╒o ra  bóng  cßch  tr╖  lui
  2697. (backspace) ≡¼ x≤a r░i in ch░ng lΩn d╒ng tr▀╛c.   M▓i cßch  ≡½u  c≤  hµu  d°ng
  2698. riΩng nh▀ s¿ m⌠ tΣ sau ≡Γy.
  2699.  
  2700. 5.2.1 Cßch T╒o H∞nh Lºp T╤c Trong PhΘp T╒o Chµ NgÑm
  2701. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  2702.  
  2703. PhΘp t╒o chµ ngÑm ≡▀■c ≡út ra ≡¼ ti«n cho vi«c x╪ l² nhµng dµ ki«n mα phÑn l╛n
  2704. lα Vi«t ngµ.   V╛i m°c tiΩu ≡≤,  ng▀╢i ≡ßnh chµ cÑn thñy ngay  nhµng  chµ  v╫a
  2705. ≡ßnh.   Trong phΘp t╒o chµ ngÑm,  bαn ≡ßnh chµ ho╒t ≡╡ng trong tr╒ng thßi  t╒o
  2706. h∞nh lºp t╤c.  M▓i phφm chµ ≡▀■c nhñn (keypress) s¿ lºp t╤c t╒o ra m╡t bi¬n c»
  2707. phφm chµ (key event).   N¬u m╡t mτu t± (thφ d° a) k¬t h■p v╛i m╡t dñu ph° (thφ
  2708. d° ^) theo sau n≤, m╡t thoßi t± (backspace) (th▀╢ng lα BS,  ASCII 0x8) s¿ ≡▀■c
  2709. g╪i ≡i kΦm theo sau lα mτu t± m╛i v╫a thαnh lºp (Γ).   Chu k╧ nαy tßi di¡n cho
  2710. ≡¬n khi vi«c k¬t h■p chµ hoαn tñt.  Trong cßch t╒o h∞nh lºp t╤c, nhµng bi¬n c»
  2711. t╒o ra do vi«c nhñn 4 phφm chµ a^'n lα:
  2712.  
  2713.        1. Ng▀╢i d∙ng nhñn phφm a, a ≡▀■c g╪i cho ╤ng d°ng
  2714.        2. Ng▀╢i d∙ng nhñn phφm ^, BS vα Γ ≡▀■c g╪i ≡i
  2715.        3. Ng▀╢i d∙ng nhñn phφm ', BS vα ñ ≡▀■c g╪i ≡i
  2716.        4. Ng▀╢i d∙ng nhñn phφm n, n ≡▀■c g╪i ≡i
  2717.  
  2718.                                                                         48
  2719.     Thoßi t± c≤ th¼ ≡▀■c thay ≡▒i t∙y theo ╤ng d°ng,  khi¼n h«,  vα m⌠i tr▀╢ng
  2720. cⁿa ng▀╢i d∙ng.  B╡ ≡i½u khi¼n cⁿa bαn ≡ßnh chµ nΩn d∙ng ≡·ng thoßi t±, vα/hay
  2721. cho phΘp ng▀╢i d∙ng ch∩ ≡╕nh thoßi t± theo ² thφch.
  2722.  
  2723. 5.2.2 Cßch T╒o H∞nh Chºm Trong PhΘp T╒o Chµ Ch∩ ╨╕nh
  2724. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  2725.  
  2726. Khi vi«c k¬t h■p chµ m╛i bít ≡Ñu, b╡ ≡i½u khi¼n cⁿa bαn ≡ßnh chµ kh⌠ng g╪i cho
  2727. ╤ng d°ng t╫ng bi¬n c» phφm chµ mα phΣi ch╢ cho ≡¬n khi vi«c k¬t h■p chñm  d╤t.
  2728. Vi«c k¬t h■p c≤ th¼ chñm d╤t m╡t cßch t± nhiΩn khi chu▓i k² t± k¬t h■p ≡π  ≡Ñy
  2729. ≡ⁿ hoúc khi b╡ ≡i½u khi¼n nhºn ≡▀■c k² t± kh⌠ng th¼ k¬t h■p  ≡▀■c,  hoúc  chñm
  2730. d╤t khi nhºn ≡▀■c mπ t± hoαn cñu <CLS>.   Sau ≡≤,  ch∩ c≤ m╡t mτu t± duy  nhñt
  2731. ≡▀■c t╒o thαnh vα ≡▀■c g╪i cho ╤ng d°ng ≡ang ch╢.   Vi«c x╪ l² sau ≡≤ s¿  ti¬n
  2732. hαnh t± nhiΩn tr╖ l╒i.   Hπy xem di¡n ti¬n khi  ng▀╢i  d∙ng  nhñn  chu▓i  phφm
  2733. "\a^'n":
  2734.  
  2735.        1. Ng▀╢i d∙ng ≡ßnh \, kh⌠ng c≤ chµ nαo ≡▀■c g╪i ≡i
  2736.        2. Ng▀╢i d∙ng ≡ßnh a, kh⌠ng c≤ chµ nαo ≡▀■c g╪i ≡i
  2737.        3. Ng▀╢i d∙ng ≡ßnh ^, kh⌠ng c≤ chµ nαo ≡▀■c g╪i ≡i
  2738.        4. Ng▀╢i d∙ng ≡ßnh ', chµ ñ ≡▀■c g╪i ≡i
  2739.        5. Ng▀╢i d∙ng ≡ßnh n, chµ n ≡▀■c g╪i ≡i
  2740.  
  2741.     Vφ d° sau ≡Γy d∙ng mπ t± hoαn cñu <CLS>, chu▓i "t\o+<CLS>":
  2742.  
  2743.        1. Ng▀╢i d∙ng ≡ßnh t, chµ t ≡▀■c g╪i ≡i
  2744.        2. Ng▀╢i d∙ng ≡ßnh \, kh⌠ng c≤ chµ nαo ≡▀■c g╪i ≡i
  2745.        3. Ng▀╢i d∙ng ≡ßnh o, kh⌠ng c≤ chµ nαo ≡▀■c g╪i ≡i
  2746.        4. Ng▀╢i d∙ng ≡ßnh +, kh⌠ng c≤ chµ nαo ≡▀■c g╪i ≡i
  2747.        5. Ng▀╢i d∙ng ≡ßnh CTRL-A, m╡t chµ ╜ ≡▀■c g╪i ≡i
  2748.  
  2749.     ╨¼ ² lα n¬u kh⌠ng c≤ phφm hoαn cñu <CLS>,  b╡ ≡i½u khi¼n bαn ≡ßnh  chµ  s¿
  2750. vτn ti¬p t°c ch╢ sau khi phφm + ≡▀■c bñm,  v∞ ng▀╢i d∙ng vτn c≥n c≤  th¼  ≡ßnh
  2751. m╡t dñu gi≈ng nh▀ lα m╡t phÑn t╪ cⁿa chu▓i k¬t h■p.
  2752.  
  2753.     Ph▀╜ng phßp t╒o h∞nh chºm cⁿa phΘp t╒o chµ ch∩ ≡╕nh ≡▀■c ≡½ ra ≡¼ bΣo  ≡Σm
  2754. vi«c tφch h■p v╛i nhµng ╤ng d°ng ≡≥i h÷i m▓i mπ t± phΣi liΩn k¬t v╛i m╡t  bi¬n
  2755. c» phφm chµ,  nhñt lα trong tr╒ng thßi Anh ngµ v∞ tr╒ng thßi nαy ch∩ cho  phΘp
  2756. t╒o chµ ch∩ ≡╕nh mα th⌠i.
  2757.  
  2758.     Múc d∙ c≤ th¼ t╒o h∞nh lºp t╤c trong phΘp t╒o chµ ch∩ ≡╕nh  hay  t╒o  h∞nh
  2759. chºm trong phΘp t╒o chµ ngÑm,  nh▀ng nhµng cßch th╤c nαy kh⌠ng hµu φch vα  ch∩
  2760. lαm cho ng▀╢i d∙ng lÑm lτn.   Do ≡≤,  vi«c ≡╜n giΣn nhñt lα ch∩ liΩn k¬t  cßch
  2761. t╒o h∞nh lºp t╤c v╛i phΘp t╒o chµ ngÑm, vα cßch t╒o h∞nh chºm v╛i phΘp t╒o chµ
  2762. ch∩ ≡╕nh.  Nhµng cßch th╤c nαy c≤ vδ t± nhiΩn h╜n.
  2763.  
  2764.     TiΩu chuªn trong vσn ki«n nαy quy ≡╕nh nhµng ≡úc tφnh  t»i  thi¼u  v½  mút
  2765. "h∞nh th╤c vα cΣm gißc" mα ng▀╢i d∙ng c≤ th¼ k╧ v≈ng ╖ m╡t nhu li«u  Vi«t  Ngµ
  2766. h■p th╤c.   M╡t giao di«n ≡▀■c tiΩu chuªn h≤a s¿ giΣm thi¼u th╢i gian phΣi h≈c
  2767. cho m▓i ╤ng d°ng m╛i.   TiΩu chuªn trong bαi nαy kh⌠ng lo╒i b÷ nhµng h«  th»ng
  2768. ≡ßnh chµ khßc mα m°c ≡φch cⁿa ch·ng lα gi·p ng▀╢i d∙ng d¡ s╪ d°ng  h╜n,  ch╞ng
  2769. h╒n,  ≡ßnh dñu bóng bΣng-≡i½u-khi¼n kh⌠n ngoan,  hay gi·p ≡ßnh chµ nhanh  bóng
  2770. cßch d∙ng cßc phφm CONTROL hay  FUNCTION  ch╞ng  h╒n.   Bñt  c╤  s±  gia  c⌠ng
  2771. (enhancement) nαo trong nhµng ╤ng d°ng h■p th╤c (compliant application) ≡½u lα
  2772.                                                                         49
  2773. m╡t ≡i½u t»t cho ng▀╢i d∙ng,  mi¡n lα nhµng s± gia c⌠ng nαy kh⌠ng xung ≡╡t v╛i
  2774. nhµng ≡úc tφnh t»i thi¼u m⌠ tΣ trong bαi nαy.
  2775.  
  2776. 5.3 HöP TH║C H╙A ║NG D₧NG VIÄT NG  HIÄN H└NH
  2777. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  2778.  
  2779. Bñt c╤ ph▀╜ng phßp th±c t¬ nαo ≡¼ ≡╕nh chuªn c√ng cÑn phΣi  d±  tr∙  nhµng  s±
  2780. ch»ng ≡▒i thay cⁿa cßc ╤ng d°ng hi«n hαnh. Trong khi mong mu»n róng tiΩu chuªn
  2781. 8-bit trong bαi nαy ≡▀■c ⁿng h╡ hoαn toαn,  ch·ng t⌠i c√ng ≡½  ngh╕  m╡t  giΣi
  2782. phßp khßc d¡ dαng ≡▀■c chñp nhºn nhanh ch≤ng h╜n.   Tñt cΣ nhµng ╤ng d°ng  cÑn
  2783. phΣi cung cñp ph▀╜ng ti«n ≡¼ nhºn vαo vα xuñt ra nhµng dµ  ki«n  mπ  h≤a  theo
  2784. tiΩu chuªn VISCII 8-bit.  ╨░ng th╢i, nhµng ╤ng d°ng ≡≤ phΣi th±c hi«n m╡t giao
  2785. di«n ≡ßnh chµ tuΓn theo VIQR,  n¬u kh⌠ng phΣi lα ph▀╜ng phßp ≡ßnh chµ chⁿ  y¬u
  2786. th∞ φt nhñt c√ng lα m╡t ph▀╜ng phßp ph° thΩm cho ng▀╢i d∙ng.   Nhµng vi«c  nαy
  2787. rñt cÑn thi¬t cho cΣ ng▀╢i d∙ng lτn ng▀╢i bßn.   Ng▀╢i d∙ng c≤  th¼  d∙ng  nhu
  2788. li«u ngay v∞ giao di«n ≡ßnh chµ ≡░ng nhñt,  c√ng nh▀ c≤ th¼ x╪ l² dµ  ki«n  t╫
  2789. nhµng ╤ng d°ng khßc nhau vα trΩn nhµng h« th»ng mßy khßc nhau.  ╨i½u ≡≤ s¿ lαm
  2790. gia tσng nσng suñt vα s± trao ≡▒i giµa cßc ng▀╢i d∙ng.   Vi«c d¡  s╪  d°ng  s¿
  2791. khi¬n cho ╤ng d°ng ≡▀■c chñp nhºn r╡ng rπi h╜n, vα do ≡≤ ng▀╢i bßn s¿ c≤ nhi½u
  2792. khßch hαng h╜n.
  2793.  
  2794.  
  2795. 6. T╙M TüT & KèT LUçN
  2796. ~~~~~~~~~~~~~~~~~~~~~
  2797.  
  2798. Vσn ki«n nαy v╫a tr∞nh bαy m╡t d± thΣo tiΩu chuªn h≤a vi«c x╪ l² dµ ki«n  Vi«t
  2799. Ngµ.  Nhu cÑu tiΩu chuªn h≤a c√ng ≡π ≡▀■c lαm sßng t÷.  Ch·ng t⌠i mong róng ≡π
  2800. khuy¬n khφch gi╛i ch¬ t╒o nhu li«u vα ng▀╢i d∙ng nhu li«u Vi«t  ngµ  c╡ng  tßc
  2801. v╛i nhau ≡¼ ≡╒t m°c ≡φch nαy hÑu ≡em l■i φch ≡¬n cho tñt cΣ m≈i ng▀╢i liΩn h«.
  2802. Vi«c bαn luºn nhµng ph▀╜ng phßp mπ h≤a khßc nhau ≡π ≡▀a ≡¬n  s±  ch≈n  l±a  d±
  2803. thΣo VISCII 8-bit.  Ch·ng t⌠i ≡π ≡½ ngh╕ m╡t bΣng mπ t± duy nhñt, vα quß tr∞nh
  2804. th╪ nghi«m th±c ti¡n cho thñy bΣng nαy vºn hαnh t»t ≡⌐p cho Vi«t Ngµ  qua  cßc
  2805. c⌠ng vi«c nh▀ vi¬t bαi, x╪ l², l▀u trµ,  chuy¼n tin,  mπ h≤a ph⌠ng chµ,  vα ñn
  2806. loßt.   Trong nhµng lπnh v±c mα vi«c d∙ng 8-bit ch▀a cho phΘp hoúc kh⌠ng  ≡ßng
  2807. tin cºy, ch╞ng h╒n nh▀ vi«c chuy¼n ≡i«n th▀,  ch·ng t⌠i ≡π ≡½ ra quy ≡╕nh Vi«t
  2808. ngµ ≡≈c-≡▀■c-trong-ngoúc (VIQR) ≡¼ cung cñp m╡t c▒ng l≈c su⌠ng  sδ.   VIQR  ≡π
  2809. ≡▀■c quy ≡╕nh ≡╡c lºp v╛i ngu░n xuñt phßt dµ ki«n,  do ≡≤ ≡π ≡▀■c thi¬t k¬  ≡¼
  2810. c≤ th¼ ßp d°ng ≡▀■c cho cΣ bαn ≡ßnh chµ ti¬ng Vi«t lτn cßc mßy  l≈c  dµ  ki«n.
  2811. Tñt cΣ nhµng ≡i½u nαy ≡π ≡▀■c ch╤ng t÷ lα c≤ th¼ tφch h■p vαo nhµng m⌠i tr▀╢ng
  2812. hi«n hµu,  gi·p cho vi«c s╪ d°ng nhµng h▀ c° vα ╤ng d°ng  hi«n  hµu  ≡▀■c  tr╖
  2813. thαnh d¡ dαng h╜n --- m╡t ▀u ≡i¼m l╛n cⁿa ph▀╜ng phßp mπ h≤a nαy.   Cu»i c∙ng,
  2814. nhµng quy ≡╕nh nαy ≡π ≡▀■c liΩn k¬t v╛i nhau m╡t cßch su⌠ng sδ trong m≈i  giai
  2815. ≡o╒n cⁿa chu k╧ x╪ l² dµ ki«n (g░m c≤ nhºn dµ ki«n,  x╪ l²/truy½n dµ ki«n,  vα
  2816. xuñt ra dµ ki«n,  g≈i tít lα chu k╧ nhºp-bi¬n-xuñt).   Nhµng quy ≡╕nh  nαy  ≡π
  2817. cung cñp m╡t khu⌠n kh▒ th»ng nhñt th±c s± cho vi«c x╪ l² dµ ki«n Vi«t Ngµ.
  2818.  
  2819.  
  2820. T└I LIÄU THAM KH─O
  2821. ~~~~~~~~~~~~~~~~~~
  2822.  
  2823. [1]  B╒ch H▀ng Khang.  "Institute of Informatics."  Hα N╡i,
  2824.      Vi«t Nam, thßng hai 1991.
  2825.  
  2826.                                                                         50
  2827. [2]  B. Jerman-Blazic, "Will the Multy-octet Standard Character Set
  2828.      Code Solve the World Coding Problems for Information Interchange?"
  2829.      Computer Standards & Interfaces, vol. 8, trang 127-136, 1988.
  2830.  
  2831. [3]  The Unicode Consortium.  The Unicode Standard: Worldwide
  2832.      Character Encoding Version 1.0.  Addison-Wesley, Reading, MA, ñn
  2833.      bΣn th╤ nhñt, thßng m▀╢i 1991.
  2834.  
  2835. [4]  ISO Technical Committee, "Universal Multiple-Octet Coded
  2836.      Character Set (UCS), ISO/IEC DIS 10646-1.2," Draft standard,
  2837.      International Organization for Standardization, 1992.
  2838.  
  2839. [5]  International Organization for Standardization, ISO 8859/x:
  2840.      8-bit Internatonal Code Sets.  ISO, 1977.
  2841.  
  2842. [6]  Famjxuaen Thais.  Vi«t Ngµ CΣi Cßch.  T╤ HΣi, Hα N╡i,
  2843.      Vi«t Nam, thßng ba 1948.
  2844.  
  2845. [7]  Ph╒m XuΓn Thßi.  Chµ Vi«t H■p Lφ, Tφn-╨╤c Th▀ Xπ,
  2846.      Sαi G≥n, Vi«t Nam, thßng t▀ 1958.
  2847.  
  2848. [8]  J. Postel, "Simple Mail Transfer Protocol," RFC 822, USC
  2849.      Information Sciences Institute, thßng tßm 1982.
  2850.  
  2851. [9]  J. C. Klensin et al., "SMTP Extensions for Transport of
  2852.      Text-Based Messages Containing 8-bit Characters," Internet draft,
  2853.      Massachusetts Institute of Technology, thßng bΣy 1991.
  2854.  
  2855. [10] K. Simonsen, "Character Mnemonics & Character Sets," Internet
  2856.      Draft, Danish Unix Users Group, thßng giΩng 1992.
  2857.  
  2858. [11] K. Simonsen, "Mnemonic Text Format," Internet draft, Danish
  2859.      Unix Users Group, thßng tßm 1991.
  2860.  
  2861. [12] International Organization for Standardization.  ISO 646:
  2862.      7-bit Coded Character Set for Information Interchange.  ISO,
  2863.      ñn bΣn th╤ ba, 1991.
  2864.  
  2865. [13] International Organization for Standardization.  ISO 2022:
  2866.      7-bit and 8-bit Coded Character Sets--Code Extension Techniques.
  2867.      ISO, ñn bΣn th╤ ba, 1986.
  2868.  
  2869. [14] E. M. van der Poel, "Multilingual Character Encoding for
  2870.      Internet Messages," Internet draft, Software Research Associates,
  2871.      Japan, thßng giΩng 1992.
  2872.  
  2873. [15] D.E. Knuth.  The TeXbook.  Addison-Wesley, Reading, MA, 1984.
  2874.  
  2875.  
  2876.                                                                         51
  2877. THUçT-NG  ANH VIÄT
  2878. ~~~~~~~~~~~~~~~~~~
  2879.  
  2880. Announcer: mπ t± (hay chu▓i mπ t±) bßo tin.   Khi mπ t± nαy  xuñt  hi«n  trong
  2881.     d≥ng dµ ki«n th∞ n≤ bßo cho bi¬t nhµng mπ t± ≡i sau c≤  m╡t  ²  nghεa  ≡úc
  2882.     bi«t.   Trong vσn ki«n nαy,  n≤ cho bi¬t s± m╖ ≡Ñu cⁿa vi«c  k¬t  h■p  chµ
  2883.     Vi«t.
  2884.  
  2885. ASCII: American Standard Code for Information Interchange, b╡ mπ t± tiΩu-chuªn
  2886.     Hoa-k╧ dαnh cho vi«c trao ≡▒i tin-t╤c.   B╡ mπ nαy c≤ 128 mπ s»  ≡▀■c  hÑu
  2887.     h¬t cßc mßy vi-tφnh d∙ng ≡¼ ≡úc tr▀ng vα truy½n ≡i cßc dµ ki«n  chµ.   M▓i
  2888.     chµ trong b╡ mπ nαy c≤ mπ s» trong khoΣng t╫ 0 ≡¬n 127.  Nhµng b╡ mπ 8-bit
  2889.     hoúc 9-bit trong ≡≤ 128 mπ t± ≡Ñu tiΩn t▀╜ng ╤ng v╛i ASCII ≡▀■c g≈i lα  b╡
  2890.     mπ ASCII-r╡ng (extended ASCII).  Nhµng mπ t± thΩm vαo lα mτu t± La-tinh c≤
  2891.     dñu r╢i, mτu t± phi-La-tinh, ki¼m t± ≡i½u khi¼n mαn Σnh, vΓn vΓn.
  2892.  
  2893. Backslash: g╒ch-chΘo-ng▀■c (\).
  2894.  
  2895. Base Vowel: nguyΩn Γm c╜ bΣn.  ╨╤ng trΩn ph▀╜ng di«n mπ h≤a chµ Vi«t, vσn ki«n
  2896.     nαy coi nhµng nguyΩn Γm sau ≡Γy lα c╜ bΣn: a, σ, Γ, e, Ω, i, o, ⌠,  ╜,  u,
  2897.     ▀, y vα nhµng chµ hoa t▀╜ng ╤ng.
  2898.  
  2899. Binary Data: dµ ki«n nh╕ phΓn; t∙y theo ngµ cΣnh c≥n mang nghεa dµ ki«n 8-bit,
  2900.     nhñt lα trong lπnh v±c chuy¼n tin.
  2901.  
  2902. C0 Space: V∙ng (mi½n) C0.   ╨Γy lα tºp h■p g░m nhµng mπ t± c≤ s» thºp-l°c phΓn
  2903.     t╫ 00 ≡¬n 1F (v∙ng "ki¼m t±" cⁿa b╡ mπ ASCII).
  2904.  
  2905. C1 Space: V∙ng (mi½n) C1.   ╨Γy lα tºp h■p g░m nhµng mπ t± c≤ s» thºp-l°c phΓn
  2906.     t╫ 80 ≡¬n 8F (v∙ng "ki¼m t±" cⁿa b╡ mπ ASCII-r╡ng).
  2907.  
  2908. Character: mτu t±, k² t±, mπ t±. Trong tin-h≈c,  character th▀╢ng ≡▀■c d∙ng ≡¼
  2909.     ch∩ bñt c╤ cßi g∞ ≡▀■c liΩn k¬t v╛i m╡t mπ s» (code) nΩn nghεa  ≡·ng  nhñt
  2910.     lα mπ t±.   Mπ t± c≤ th¼ lα mτu t± (nh▀ a, b, c, ...),  hoúc dñu hi«u,  k²
  2911.     hi«u (nh▀ +, -, =, ...), hoúc m╡t tφn hi«u ≡i½u khi¼n.   K² t± ch∩ k² hi«u
  2912.     theo nghεa r╡ng, bao g░m cßc dñu hi«u, mτu t±, hoúc chµ t▀■ng h∞nh nh▀ chµ
  2913.     Hßn.
  2914.  
  2915. Character Set: tºp mπ t±, b╡ mπ t±.   C≤ th¼ d╕ch thoßt lα h« mπ t± v∞ m▓i tºp
  2916.     mπ t± lα m╡t h« th»ng k² t± cho m╡t hoúc nhi½u ng⌠n ngµ.  C√ng c≤ th¼ d╕ch
  2917.     thoßt lα bΣng mπ t± v∞ th▀╢ng th▀╢ng tºp mπ t± ≡▀■c tr∞nh  bαy  d▀╛i  d╒ng
  2918.     bΣng.   S» l▀■ng mπ t± trong m▓i tºp lα 2^n (2 l√y th╫a n) v╛i n lα s» bit
  2919.     d∙ng ≡¼ mπ h≤a m╡t mπ t±.   Cßc h« mπ t± quen thu╡c lα b╡ ASCII 7-bit  cⁿa
  2920.     Hoa-k╧, h« 8-bit nh▀ cßc tºp mπ t± ISO-8859/X,  h« 16-bit nh▀ Unicode,  h«
  2921.     32-bit nh▀ d± thΣo ISO DIS 10646.
  2922.  
  2923. Code: mπ s» (trong th⌠ng tin dµ ki«n),  con s» t▀■ng tr▀ng cho m╡t mτu t±,  k²
  2924.     t±, hoúc tφn hi«u ≡i½u khi¼n.  Thφ d° s» thºp phΓn 65 trong b╡ mπ t± ASCII
  2925.     Hoa k╧ t▀■ng tr▀ng cho chµ A.
  2926.  
  2927. Code Page: thuºt ngµ th▀╢ng d∙ng ≡¼ ch∩ nhµng tºp mπ t± d∙ng trΩn mßy IBM  PC,
  2928.     vi¬t tít lα CP.  CP850 lα tºp mπ t± ≡a ngµ, CP860 lα tºp mπ t± B░-≡αo-nha,
  2929.     CP863 cho ti¬ng Phßp ╖ Gia-nπ-≡╒i, CP865 cho Na-uy.
  2930.                                                                         52
  2931. Code Page Switching: ≡▒i bΣng (tºp, b╡, h«) mπ t±.
  2932.  
  2933. Compatible: t▀╜ng h■p, t▀╜ng dung
  2934.  
  2935. Compliant: h■p th╤c, tuΓn theo ≡·ng cßch.
  2936.  
  2937. Composed Character: chµ ghΘp,  chµ  r╢i  (theo  quan  ≡i¼m  mπ  h≤a). Xem  chµ
  2938.     floating diacritic.
  2939.  
  2940. Context-Dependent: t∙y thu╡c vαo ngµ cΣnh (² nghεa chung quanh).
  2941.  
  2942. Control Character: mπ t± ≡i½u khi¼n,  ki¼m t±.   ╨≤ lα mπ t± ASCII  nóm  trong
  2943.     khoΣng t╫ 0 ≡¬n 31, vα mπ t± 127,  t▀╜ng phΣn v╛i nhµng mπ t± c≤ th¼ in ra
  2944.     ≡▀■c (g≈i lα k² t± h∞nh) nóm trong khoΣng t╫ 32 ≡¬n 126.  TrΩn cßc bαn chµ
  2945.     ASCII,  ki¼m t± (thφ d° CTRL-A,  mπ s» 1) ≡▀■c t╒o ra bóng cßch chºn  phφm
  2946.     CTRL xu»ng r░i ≡ßnh chµ liΩn h« (A).
  2947.  
  2948. Cross-Platform: xuyΩn-giαn, xuyΩn qua nhi½u h« th»ng mßy khßc nhau.
  2949.  
  2950. Data: dµ ki«n, dµ li«u.
  2951.  
  2952. Data Channel: m╒ch dµ ki«n
  2953.  
  2954. Data Communication: th⌠ng tin dµ ki«n, lπnh v±c chuy¼n tin.
  2955.  
  2956. Data Frame: khung dµ ki«n.
  2957.  
  2958. Data Integrity: s± toαn v⌐n dµ ki«n, s± bΣo toαn dµ ki«n.
  2959.  
  2960. Data Stream: lu░ng (d≥ng) dµ ki«n, d≥ng tin.
  2961.  
  2962. Diacritic: dñu ph°.   Dñu ph° lα nhµng nΘt thΩm vαo m╡t mτu t± "g»c" ≡¼ t╒o ra
  2963.     mτu t± khßc.  Ch╞ng h╒n mτu t± ┬ ≡▀■c cñu t╒o t╫ mτu t± g»c A vα dñu ph° ^
  2964.     (dñu m√).
  2965.  
  2966. Display: Hi¼n th╕, t╒o h∞nh, in h∞nh (trΩn mαn Σnh).  Xem chµ rendering.
  2967.  
  2968. EBCDIC: Extended Binary Coded Decimal Interchange Code, b╡ mπ 8-bit g░m 256 mπ
  2969.     t± d∙ng trΩn cßc mßy IBM mainframes.
  2970.  
  2971. Editor: ╤ng d°ng vi¬t bαi, vi¬t-c° (d°ng c° vi¬t bαi).
  2972.  
  2973. Electronic Mail: ≡i«n th▀.
  2974.  
  2975. to Encode: mπ h≤a.
  2976.  
  2977. Escape Mechanism: c╜ ch¬ thoßt.
  2978.  
  2979. Fax: ≡i«n h∞nh th▀.   Khßc v╛i ≡i«n th▀ v∞ ch∩  chuy¼n  ≡i  nhµng  chñm  h∞nh.
  2980.     Ng▀╢i nhºn kh⌠ng th¼ d∙ng nhµng ╤ng d°ng vi¬t bαi ≡¼ s╪a ≡▒i ≡▀■c.
  2981.  
  2982. File: h░ s╜.  C≤ tr▀╢ng phßi d╕ch lα t«p.
  2983.  
  2984.                                                                         53
  2985. Floating Diacritic: dñu r╢i (theo quan ≡i¼m mπ h≤a).  M╡t mτu t± c≤ dñu ph° c≤
  2986.     th¼ ≡▀■c mπ h≤a bóng m╡t mπ s» duy nhñt hoúc nhi½u mπ s».  Thφ d° ╘ c≤ th¼
  2987.     ≡▀■c mπ h≤a bóng m╡t mπ s» duy nhñt vα ≡▀■c g≈i lα chµ nguyΩn v⌐n hoúc chµ
  2988.     d±ng s╟n (precomposed character),  hoúc mπ h≤a bóng hai  mπ  s»,  m╡t  cho
  2989.     nguyΩn Γm g»c O vα m╡t cho dñu m√ (^).   Trong tr▀╢ng h■p sau,  ╘ ≡▀■c g≈i
  2990.     lα chµ ghΘp (composed character) vα dñu m√ ≡▀■c g≈i lα dñu r╢i.
  2991.  
  2992. Font: "ph⌠ng," b╡ ki¼u chµ,  m╡t tºp h■p cßc h∞nh chµ c≤ chung m╡t s» ≡úc tφnh
  2993.     nαo ≡≤ vα c≤ th¼ in ra ≡▀■c trΩn mαn Σnh hoúc trΩn giñy.   Italic font: b╡
  2994.     chµ nghiΩng.   Bold face font: b╡ chµ in ≡ºm.   M▓i h∞nh chµ (glyph) trong
  2995.     ph⌠ng ≡▀■c ñn ≡╕nh m╡t mπ s».   Ph⌠ng 8-bit c≤ th¼ c≤ tñt cΣ 256 h∞nh chµ.
  2996.     Mπ s» cⁿa h∞nh chµ (glyph code) kh⌠ng nhñt thi¬t phΣi gi»ng v╛i mπ s»  cⁿa
  2997.     chµ (character code) t▀╜ng ╤ng trong tºp mπ t±.   Thφ d°, dµ ki«n chµ A c≤
  2998.     mπ s» 65 trong bΣng ASCII nh▀ng h∞nh chµ A c≤ th¼ ≡▀■c quy ≡╕nh ╖  v╕  trφ
  2999.     th╤ 35 trong m╡t bΣng ph⌠ng nαo ≡≤,  n¬u mu»n.   Nh▀ng m╡t h∞nh chµ  trong
  3000.     ph⌠ng l╒i c≤ th¼ t▀╜ng ╤ng v╛i nhi½u chµ trong tºp mπ t±.  ╨i½u nαy th▀╢ng
  3001.     xΣy ra trong ph▀╜ng phßp mπ h≤a d∙ng dñu  r╢i  (xem  floating  diacritic).
  3002.     Trong ph▀╜ng phßp nαy,  chµ └ th±c ra lα s± k¬t h■p cⁿa dµ ki«n chµ A  (mπ
  3003.     s» 65) vα dµ ki«n dñu huy½n ` (thφ d° mπ s» 196),  nh▀ng khi t╒o h∞nh  th∞
  3004.     d∙ng h∞nh d╒ng cⁿa chµ └,  thφ d° nóm ╖ v╕ trφ 135  cⁿa  bΣng  ph⌠ng  chµ.
  3005.     ╨i½u nαy lαm cho vi«c x╪ l² ph╤c t╒p vα kΘm hi«u nσng nΩn hÑu h¬t cßc  nhu
  3006.     li«u vα c▀╜ng li«u ┬u M█ trßnh kh⌠ng d∙ng.   Do ≡≤, ≡¼ c≤ th¼ tφch h■p vαo
  3007.     cßc m⌠i tr▀╢ng nhu li«u hi«n hµu,  mπ s» h∞nh chµ vα mπ s» chµ phΣi  gi»ng
  3008.     nhau.
  3009.  
  3010. Font Shifting: chuy¼n ph⌠ng, chuy¼n mτu chµ.
  3011.  
  3012. Format: khu⌠n th╤c (khu⌠n kh▒ vα h∞nh th╤c).
  3013.  
  3014. Format Data Control Character: mπ t± ≡i½u khi¼n khu⌠n th╤c.
  3015.  
  3016. Frame: khung, s▀╢n.
  3017.  
  3018. Framework: khu⌠n kh▒.
  3019.  
  3020. G0 Space: v∙ng k² t± h∞nh (graphic character) c≤ mπ s» thºp-l°c phΓn t╫ 20 ≡¬n
  3021.     7F.
  3022.  
  3023. G1 Space: v∙ng k² t± h∞nh c≤ mπ s» thºp-l°c phΓn t╫ A0 ≡¬n FF.
  3024.  
  3025. Gateway: c▒ng, ≡Ñu cÑu.
  3026.  
  3027. Glyph: h∞nh chµ, m╡t phÑn t╪ cⁿa ph⌠ng chµ (font).
  3028.  
  3029. Graphic Character: k² t± h∞nh (k² t± c≤ th¼ in ra ≡▀■c).
  3030.  
  3031. Interface: giao-di«n, m╒ch n»i.
  3032.  
  3033. Interface Between 2 Computers: giao di«n (m╒ch n»i) giµa 2 mßy.
  3034.  
  3035. ISO: International Organization for Standardization.   M╡t ⁿy ban qu»c  t¬  t±
  3036.     nguy«n g░m cßc ⁿy ban ≡╕nh chuªn cßc n▀╛c h■p tßc v╛i nhau ≡¼ ≡╕nh ra  cßc
  3037.     tiΩu chuªn trong tñt cΣ m≈i lπnh v±c, trong ≡≤ bao g░m mßy vi tφnh,  x╪ l²
  3038.                                                                         54
  3039.     tin t╤c, tºp mπ t±.
  3040.  
  3041. ISO 646: TiΩu chuªn mπ t± 7-bit, t▀╜ng t± v╛i ASCII.
  3042.  
  3043. ISO Standard 8859: TiΩu chuªn ISO 8859.   TiΩu chuªn nαy quy ≡╕nh m╡t lo╒t cßc
  3044.     tºp mπ t± 8-bit bao g░m chµ cⁿa nhi½u ng⌠n ngµ.   Lo╒t nαy bao  g░m  nhµng
  3045.     tºp mτu t± La-tinh 1--9, ßp d°ng cho tñt cΣ nhµng ng⌠n ngµ c≤ chµ vi¬t d±a
  3046.     trΩn mτu t± La-mπ,  c╡ng thΩm m╡t  s»  nhµng  tºp  mτu  t±  ≡úc  bi«t  nh▀
  3047.     Cyrillic, Hy-l╒p, vα Do-thßi.
  3048.  
  3049. ISO 8859/1: TiΩu chuªn ISO 8859 Mτu t± La-tinh s» 1.  T»i thi¼u nhµng ng⌠n ngµ
  3050.     sau ≡Γy s╪ d°ng ≡▀■c: La-tinh, ╨an-m╒ch, ╨╤c,  Dutch,  Anh-ngµ,  Faeroese,
  3051.     PhÑn-lan, Phßp, Bσng-≡Σo, ┴i-nhε-lan, ▌, Na-uy,  B░-≡αo-nha,  TΓy-ban-nha,
  3052.     vα Th°y-≡i¼n.
  3053.  
  3054. ISO 2022 and ISO 4873: TiΩu chuªn ISO d∙ng ≡¼ chuy¼n h« mπ t±.
  3055.  
  3056. ISO DIS 10646: ISO Draft International Standard,  d± thΣo tiΩu chuªn  qu»c  t¬
  3057.     ISO 16-bit vα 32-bit cho tñt cΣ cßc ng⌠n ngµ trΩn th¬ gi╛i.
  3058.  
  3059. Latin: ch∩ b╡ mτu t± La-tinh hoúc La-mπ, g░m c≤ cßc chµ t╫ A ≡¬n Z, hay tñt cΣ
  3060.     cßc b╡ mτu t± d±a vαo La-tinh.
  3061.  
  3062. Keyboard Interface: giao di«n bαn ≡ßnh chµ.
  3063.  
  3064. Integrated Environment: m⌠i tr▀╢ng tφch h■p.
  3065.  
  3066. Integration: s± tφch h■p, sßt nhºp.
  3067.  
  3068. Keyboard: bαn ≡ßnh chµ.
  3069.  
  3070. Line-Drawing: v¿ ≡▀╢ng th╞ng.
  3071.  
  3072. Literal: nguyΩn d╒ng, theo sßt nghεa ≡en.
  3073.  
  3074. Literal character: nguyΩn t±, chµ vi¬t sao hi¼u vºy.
  3075.  
  3076. Lower-Case Character: chµ in th▀╢ng.
  3077.  
  3078. Look-and-Feel: h∞nh th╤c vα cΣm gißc.
  3079.  
  3080. Mail Agent: b╡ chuy¼n th▀, ≡╒i l² th▀ t╫.
  3081.  
  3082. Mnemonic: d¡ nh╛.
  3083.  
  3084. Modifier: Dñu ph° ≡¼ thay ≡▒i Γm.   Trong ti¬ng Vi«t, ≡≤ lα cßc dñu trσng (dñu
  3085.     ß), dñu m√ (dñu ^), vα dñu m≤c (trong chµ ┤ hoúc ┐).
  3086.  
  3087. On the Fly: theo l·c ≡≤, ngay l·c ≡≤.
  3088.  
  3089. PC: Personal Computer,  mßy vi tφnh cß nhΓn.   Trong vσn ki«n nαy,  chµ PC ch∩
  3090.     toαn b╡ cßc mßy IBM PC vα PS/2 c∙ng nhµng mßy t▀╜ng h■p,  k¼  cΣ  mßy  AT,
  3091.     286, 386 vα 486.
  3092.                                                                         55
  3093. PostScript: M╡t ng⌠n ngµ m⌠-tΣ t╫ng trang (giñy, sßch, bßo, v.v.) m╡t,  c≤ khΣ
  3094.     nσng x╪ l² ≡░-h∞nh (graphic capabilities),  d∙ng trong vi«c ñn  loßt  bóng
  3095.     mßy vi-tφnh.   ╨Γy lα m╡t ng⌠n ngµ thΣo ch▀╜ng cñp cao vα ≡╡c lºp v╛i  m≈i
  3096.     thi¬t b╕.   PostScript lα nhπn hi«u cÑu ch╤ng cⁿa c⌠ng  ty  Adobe  Systems
  3097.     Incorporated.
  3098.  
  3099. Precomposed Character: chµ nguyΩn v⌐n,  chµ d±ng s╟n (theo quan ≡i¼m mπ  h≤a).
  3100.     Xem chµ floating diacritic.
  3101.  
  3102. Processing: x╪ l².
  3103.  
  3104. Protocol: biΩn bΣn, nghi th╤c
  3105.  
  3106. Public-Domain: thu╡c lπnh v±c c⌠ng c╡ng.
  3107.  
  3108. Quoted-Readable: ≡≈c ≡▀■c trong ngoúc.   T╫ x▀a,  ² nghεa cⁿa nhµng mπ t±  ≡úc
  3109.     bi«t c≤ th¼ thay ≡▒i bóng cßch b÷ ch·ng trong ngoúc ≡╜n  hoúc  ngoúc  kΘp,
  3110.     hoúc d∙ng m╡t k² t± bßo tin ≡i tr▀╛c nh▀ dñu  g╒ch  chΘo  ng▀■c  (\)  d∙ng
  3111.     trong khi¼n h« Unix hay ng⌠n ngµ thΣo  ch▀╜ng  C.   Do  ≡≤  xuñt  hi«n  t╫
  3112.     "trong-ngoúc" (quoted).  C╜ ch¬ ngoúc ≡▀■c g≈i lα quoting mechanism.   Thφ
  3113.     d° trong khi¼n h« Unix,  k² t± * ≡▀■c khai tri¼n thαnh nhµng k²  t±  khßc,
  3114.     nΩn m«nh l«nh
  3115.                           rm *
  3116.     s¿ x≤a h¬t m≈i h░ s╜, trong khi ≡≤ m«nh l«nh
  3117.                           rm "*"
  3118.     ch∩ x≤a m╡t h░ s╜ c≤ tΩn lα k² t± *.   T▀╜ng t±, n¬u c╜ ch¬ ngoúc ≡▀■c quy
  3119.     ▀╛c lα [cd] ≡¼ t▀■ng tr▀ng cho m╡t nguyΩn Γm c≤ dñu,  trong ≡≤ c lα nguyΩn
  3120.     Γm, d lα dñu ph°, th∞ ta c≤ th¼ di¡n tΣ chµ cΣ bóng c[a?],  v∞ chu▓i a? c≤
  3121.     nghεa lα Σ khi nóm trong ngoúc.   Quy ≡╕nh VIQR trong vσn  ki«n  nαy  d∙ng
  3122.     nhµng k² t± g■i h∞nh nh▀ ' ` ? ~ . ≡¼ t▀■ng tr▀ng cho dñu gi≈ng nΩn d¡ ≡≈c
  3123.     vα d¡ nh╛.
  3124.  
  3125. Real Time: th±c th╢i.  Trong lπnh v±c ≡i«n toßn, ch∩ vi«c x╪ l² xΣy ra ≡░ng b╡
  3126.     v╛i bi¬n c» th±c s±.
  3127.  
  3128. Rendering: s± hi¼n th╕, s± t╒o h∞nh, in h∞nh (lΩn mαn Σnh hoúc giñy).  Xem chµ
  3129.     display.
  3130.  
  3131. Sequence: chu▓i, lo╒t.
  3132.  
  3133. Software: nhu li«u.  C≤ tr▀╢ng phßi d╕ch thoßt lα h▀ li«u (h▀ lα h▀ th¼, kh⌠ng
  3134.     c≤ th±c).
  3135.  
  3136. Software Application: nhu li«u ╤ng d°ng, hoúc d╕ch tít lα ╤ng d°ng.
  3137.  
  3138. Software Library: th▀ vi«n nhu li«u.  C≤ th¼ d╕ch thoßt lα h▀-vi«n.
  3139.  
  3140. Software Tool: nhu li«u d°ng c°, h▀ c°.
  3141.  
  3142. Source Code: ch▀╜ng tr∞nh g»c (bΣn  g»c  cⁿa  ch▀╜ng  tr∞nh  ≡¼  cho  b╡  d╕ch
  3143.     (compiler) ≡≈c vα d╕ch ra ng⌠n ngµ mßy).
  3144.  
  3145. Specification: quy ≡╕nh.
  3146.                                                                         56
  3147. Table-Lookup: tra bΣng.
  3148.  
  3149. TeX: M╡t h« th»ng ñn loßt ≡▀■c ≡i«n toßn h≤a do Donald Knuth [15] phßt  tri¼n,
  3150.     c≤ khΣ nσng ≡ßp ╤ng m≈i nhu cÑu ñn loßt cßc k² hi«u toßn h≈c  vα  cßc  vσn
  3151.     bΣn v╛i phªm chñt cao.   TeX lα nhπn hi«u cÑu ch╤ng cⁿa H╡i Toßn-h≈c  Hoa-
  3152.     k╧.
  3153.  
  3154. Text: vσn bΣn.
  3155.  
  3156. Text Viewer: ╤ng d°ng nh∞n chµ.   Th▀╢ng d∙ng ≡¼ duy«t qua trΩn mαn Σnh mßy vi
  3157.     tφnh xem vσn bΣn hi«n ra nh▀ th¬ nαo tr▀╛c khi in ra giñy.
  3158.  
  3159. Trade-off: vi«c ch≈n l■i h╒i.
  3160.  
  3161. Transmission: chuy¼n, truy½n.
  3162.  
  3163. Transparent: th⌠ng su»t, v⌠ h∞nh, kh⌠ng dñu v¬t.  ù ≡Γy d∙ng ≡¼ ch∩ vi«c x╪ l²
  3164.     ╖ nhµng cñp bºc d▀╛i c≤ th¼ khßc nhau nh▀ng vτn lαm cho giao  di«n  ╖  cñp
  3165.     bºc cao h╜n kh⌠ng thñy c≤ g∞ thay ≡▒i hoúc phΓn bi«t ≡▀■c.
  3166.  
  3167. Unicode: M╡t b╡ mπ t± 16-bit do liΩn-≡oαn c⌠ng  ty  Unicode  Consortium  thi¬t
  3168.     lºp.  än bΣn (version) 1.0 [3] ≡▀■c phßt hαnh nσm 1991 bao g░m hÑu h¬t cßc
  3169.     ng⌠n ngµ trΩn th¬ gi╛i,  trong ≡≤ c≤ cßc chµ  La-tinh,  TΓy-┬u,  ╨⌠ng  ┬u,
  3170.     Vi«t-nam, Hy-l╒p, Nga,  Do-Thßi,  ─-rºp,  chµ t▀■ng-h∞nh Hßn Nhºt ╨╒i-hαn,
  3171.     v.v.  Trong ñn-bΣn 1.0, chµ Vi«t-nam ≡▀■c mπ h≤a theo ph▀╜ng phßp d∙ng dñu
  3172.     r╢i (floating diacritic).   Tin bßn chφnh th╤c cho  bi¬t  khi  tiΩu  chuªn
  3173.     Unicode sßt nhºp v╛i ISO DIS 10646,  chµ Vi«t-nam  s¿  ≡▀■c  mπ  h≤a  theo
  3174.     ph▀╜ng phßp chµ nguyΩn.
  3175.  
  3176. Unix: M╡t h« th»ng ≡i½u khi¼n (operating system) mßy vi tφnh  rñt  ph▒  th⌠ng,
  3177.     ≡▀■c phßt tri¼n ╖ trung tΓm nghiΩn c╤u AT&T Bell  Laboratories.   Rñt  n▒i
  3178.     ti¬ng v∞ c≤ th¼ vºn hαnh trΩn nhi½u h« th»ng mßy khßc nhau.
  3179.  
  3180. Upper-Case Character: chµ hoa.
  3181.  
  3182. Usenet: m╡t m╒ng l▀╛i th⌠ng tin ≡i«n toßn qu»c t¬ cho phΘp ng▀╢i d∙ng mßy  vi-
  3183.     tφnh g╪i tin t╛i nhµng ng▀╢i khßc vα nhµng ng▀╢i  nαy  c≤  th¼  ph·c  ≡ßp.
  3184.     Vi«c tham gia vαo m╒ng l▀╛i Usenet c√ng gi»ng nh▀ vi«c ≡σng k²  xem  nhµng
  3185.     t╒p chφ ≡i«n toßn (electronic magazine,  t╒p chφ hi«n di«n trong m╒ng l▀╛i
  3186.     ≡i«n toßn, kh⌠ng phΣi lα t╒p chφ in trΩn giñy).  Nhµng t╒p chφ nαy, g≈i lα
  3187.     nh≤m-tin (newsgroup),  chuyΩn v½ rñt nhi½u chⁿ  ≡½  khßc  nhau.   Nh≤m-tin
  3188.     "Soc.Culture.Vietnamese" rñt ph▒ th⌠ng trong gi╛i ng▀╢i Vi«t vα ngo╒i qu»c
  3189.     ╖ khíp n╜i trΩn th¬ gi╛i.
  3190.  
  3191. User: ng▀╢i d∙ng, ng▀╢i s╪ d°ng.
  3192.  
  3193. User-Interface: giao-di«n cho ng▀╢i d∙ng.
  3194.  
  3195. Utility Software: nhu li«u d°ng c°,  d°ng li«u (nhu li«u hµu d°ng). Nhµng  ╤ng
  3196.     d°ng ≡¼ tr■ gi·p vi«c phßt tri¼n nhu li«u nh▀ nhu li«u vi¬t bαi  (editor),
  3197.     nhu li«u t∞m chµ (grep,  awk trong khi¼n h« Unix),  nhu li«u ≡¼ ≡i½u khi¼n
  3198.     in nhi½u bαi.
  3199.  
  3200.                                                                         57
  3201. Vietnamese Character Code: b╡ mπ chµ Vi«t, b╡ Vi«t-t±-mπ.
  3202.  
  3203. Vietnamese Character Encoding Standard: b╡ Vi«t-t±-mπ tiΩu chuªn.
  3204.  
  3205. Viet-Std: M╡t nh≤m v⌠ v° l■i g░m cßc chuyΩn viΩn Vi«t-nam ╖ hΣi ngo╒i h■p  tßc
  3206.     ≡¼ ≡╕nh ra cßc tiΩu chuªn v½ c▀╜ng-li«u vα nhu li«u  cho  chµ  Vi«t.   Cßc
  3207.     thαnh viΩn trao ≡▒i ² ki¬n qua ≡i«n th▀ vα cßc cu╡c h≈p.
  3208.  
  3209. Variant: d╕-bΣn
  3210.  
  3211. Word Processing: x╪ l² chµ.
  3212.  
  3213. Word Processor: mßy x╪ l² chµ.
  3214.  
  3215. Word Processing Software: nhu li«u x╪ l² chµ.
  3216.  
  3217.                                                                         58
  3218.            Ph° L°c A: Mτu T± Vi«t Li«t KΩ Theo Th╤ T± Síp Chµ
  3219. +============================================================================+
  3220. |Chµ: VIQR:VISCII || Chµ: VIQR:VISCII || Chµ: VIQR:VISCII || Chµ: VIQR:VISCII|
  3221. +---:-----:-------++----:-----:-------++----:-----:-------++----:-----:------+
  3222. | A : A   :  065  ||  N : N   :  078  ||  a : a   :  097  ||  n : n   :  110 |
  3223. | ┴ : A'  :  193  ||  O : O   :  079  ||  ß : a'  :  225  ||  o : o   :  111 |
  3224. | └ : A`  :  192  ||  ╙ : O'  :  211  ||  α : a`  :  224  ||  ≤ : o'  :  243 |
  3225. | ─ : A?  :  196  ||  ╥ : O`  :  210  ||  Σ : a?  :  228  ||  ≥ : o`  :  242 |
  3226. | ├ : A~  :  195  ||  Ö : O?  :  153  ||  π : a~  :  227  ||  ÷ : o?  :  246 |
  3227. | Ç : A.  :  128  ||  ╒ : O~  :  213  ||  á : a.  :  160  ||  ⌡ : o~  :  245 |
  3228. | ┼ : A(  :  197  ||  Ü : O.  :  154  ||  σ : a(  :  229  ||  ≈ : o.  :  247 |
  3229. | ü : A(' :  129  ||  ╘ : O^  :  212  ||  í : a(' :  161  ||  ⌠ : o^  :  244 |
  3230. | é : A(` :  130  ||  Å : O^' :  143  ||  ó : a(` :  162  ||  » : o^' :  175 |
  3231. |  : A(? :  002  ||  É : O^` :  144  ||  ╞ : a(? :  198  ||  ░ : o^` :  176 |
  3232. |  : A(~ :  005  ||  æ : O^? :  145  ||  ╟ : a(~ :  199  ||  ▒ : o^? :  177 |
  3233. | â : A(. :  131  ||  Æ : O^~ :  146  ||  ú : a(. :  163  ||  ▓ : o^~ :  178 |
  3234. | ┬ : A^  :  194  ||  ô : O^. :  147  ||  Γ : a^  :  226  ||  ╡ : o^. :  181 |
  3235. | ä : A^' :  132  ||  ┤ : O+  :  180  ||  ñ : a^' :  164  ||  ╜ : o+  :  189 |
  3236. | à : A^` :  133  ||  ò : O+' :  149  ||  Ñ : a^` :  165  ||  ╛ : o+' :  190 |
  3237. | å : A^? :  134  ||  û : O+` :  150  ||  ª : a^? :  166  ||  ╢ : o+` :  182 |
  3238. |  : A^~ :  006  ||  ù : O+? :  151  ||  τ : a^~ :  231  ||  ╖ : o+? :  183 |
  3239. | ç : A^. :  135  ||  │ : O+~ :  179  ||  º : a^. :  167  ||  ▐ : o+~ :  222 |
  3240. | B : B   :  066  ||  ö : O+. :  148  ||  b : b   :  098  ||  ■ : o+. :  254 |
  3241. | C : C   :  067  ||  P : P   :  080  ||  c : c   :  099  ||  p : p   :  112 |
  3242. | D : D   :  068  ||  Q : Q   :  081  ||  d : d   :  100  ||  q : q   :  113 |
  3243. | ╨ : DD  :  208* ||  R : R   :  082  ||  ≡ : dd  :  240  ||  r : r   :  114 |
  3244. | E : E   :  069  ||  S : S   :  083  ||  e : e   :  101  ||  s : s   :  115 |
  3245. | ╔ : E'  :  201  ||  T : T   :  084  ||  Θ : e'  :  233  ||  t : t   :  116 |
  3246. | ╚ : E`  :  200  ||  U : U   :  085  ||  Φ : e`  :  232  ||  u : u   :  117 |
  3247. | ╦ : E?  :  203  ||  ┌ : U'  :  218  ||  δ : e?  :  235  ||  · : u'  :  250 |
  3248. | ê : E~  :  136  ||  ┘ : U`  :  217  ||  ¿ : e~  :  168  ||  ∙ : u`  :  249 |
  3249. | ë : E.  :  137  ||  £ : U?  :  156  ||  ⌐ : e.  :  169  ||  ⁿ : u?  :  252 |
  3250. | ╩ : E^  :  202  ||  ¥ : U~  :  157  ||  Ω : e^  :  234  ||  √ : u~  :  251 |
  3251. | è : E^' :  138  ||  ₧ : U.  :  158  ||  ¬ : e^' :  170  ||  ° : u.  :  248 |
  3252. | ï : E^` :  139  ||  ┐ : U+  :  191  ||  ½ : e^` :  171  ||  ▀ : u+  :  223 |
  3253. | î : E^? :  140  ||  ║ : U+' :  186  ||  ¼ : e^? :  172  ||  ╤ : u+' :  209 |
  3254. | ì : E^~ :  141  ||  ╗ : U+` :  187  ||  ¡ : e^~ :  173  ||  ╫ : u+` :  215 |
  3255. | Ä : E^. :  142  ||  ╝ : U+? :  188  ||  « : e^. :  174  ||  ╪ : u+? :  216 |
  3256. | F : F   :  070  ||    : U+~ :  255  ||  f : f   :  102  ||  µ : u+~ :  230 |
  3257. | G : G   :  071  ||  ╣ : U+. :  185  ||  g : g   :  103  ||  ± : u+. :  241 |
  3258. | H : H   :  072  ||  V : V   :  086  ||  h : h   :  104  ||  v : v   :  118 |
  3259. | I : I   :  073  ||  W : W   :  087  ||  i : i   :  105  ||  w : w   :  119 |
  3260. | ═ : I'  :  205  ||  X : X   :  088  ||  φ : i'  :  237  ||  x : x   :  120 |
  3261. | ╠ : I`  :  204  ||  Y : Y   :  089  ||  ∞ : i`  :  236  ||  y : y   :  121 |
  3262. | ¢ : I?  :  155  ||  ▌ : Y'  :  221  ||  ∩ : i?  :  239  ||  ² : y'  :  253 |
  3263. | ╬ : I~  :  206  ||  ƒ : Y`  :  159  ||  ε : i~  :  238  ||  ╧ : y`  :  207 |
  3264. | ÿ : I.  :  152  ||   : Y?  :  020  ||  ╕ : i.  :  184  ||  ╓ : y?  :  214 |
  3265. | J : J   :  074  ||   : Y~  :  025  ||  j : j   :  106  ||  █ : y~  :  219 |
  3266. | K : K   :  075  ||   : Y.  :  030  ||  k : k   :  107  ||  ▄ : y.  :  220 |
  3267. | L : L   :  076  ||  Z : Z   :  090  ||  l : l   :  108  ||  z : z   :  122 |
  3268. | M : M   :  077  ||    :     :       ||  m : m   :  109  ||    :     :      |
  3269. +============================================================================+
  3270.  
  3271.         * Quy ≡╕nh VIQR c≥n cho phΘp t▀■ng tr▀ng "╨" bóng "Dd" hoúc "dD".
  3272.                                                                         59
  3273.      Ph° L°c B: Mτu T± Vi«t Li«t KΩ Theo Th╤ T± Mπ S» VISCII Thºp PhΓn
  3274. +===================================+========================================+
  3275. |VISCII:Chµ:VIQR : TΩn Anh Ngµ      |VISCII:Chµ:VIQR : TΩn Anh Ngµ           |
  3276. +------:---:-----:------------------+------:---:-----:-----------------------+
  3277. |  002 :  : A(? :A breve hook-above|  112 : p : p   : p                     |
  3278. |  005 :  : A(~ :A breve tilde     |  113 : q : q   : q                     |
  3279. |  006 :  : A^~ :A circumflex tilde|  114 : r : r   : r                     |
  3280. |  020 :  : Y?  :Y hook-above      |  115 : s : s   : s                     |
  3281. |  025 :  : Y~  :Y tilde           |  116 : t : t   : t                     |
  3282. |  030 :  : Y.  :Y dot-below       |  117 : u : u   : u                     |
  3283. |  065 : A : A   : A                |  118 : v : v   : v                     |
  3284. |  066 : B : B   : B                |  119 : w : w   : w                     |
  3285. |  067 : C : C   : C                |  120 : x : x   : x                     |
  3286. |  068 : D : D   : D                |  121 : y : y   : y                     |
  3287. |  069 : E : E   : E                |  122 : z : z   : z                     |
  3288. |  070 : F : F   : F                |  128 : Ç : A.  : A dot-below           |
  3289. |  071 : G : G   : G                |  129 : ü : A(' : A breve acute         |
  3290. |  072 : H : H   : H                |  130 : é : A(` : A breve grave         |
  3291. |  073 : I : I   : I                |  131 : â : A(. : A breve dot-below     |
  3292. |  074 : J : J   : J                |  132 : ä : A^' : A circumflex acute    |
  3293. |  075 : K : K   : K                |  133 : à : A^` : A circumflex grave    |
  3294. |  076 : L : L   : L                |  134 : å : A^? :A circumflex hook-above|
  3295. |  077 : M : M   : M                |  135 : ç : A^. :A circumflex dot-below |
  3296. |  078 : N : N   : N                |  136 : ê : E~  :E tilde                |
  3297. |  079 : O : O   : O                |  137 : ë : E.  :E dot-below            |
  3298. |  080 : P : P   : P                |  138 : è : E^' :E circumflex acute     |
  3299. |  081 : Q : Q   : Q                |  139 : ï : E^` :E circumflex grave     |
  3300. |  082 : R : R   : R                |  140 : î : E^? :E circumflex hook-above|
  3301. |  083 : S : S   : S                |  141 : ì : E^~ :E circumflex tilde     |
  3302. |  084 : T : T   : T                |  142 : Ä : E^. :E circumflex dot-below |
  3303. |  085 : U : U   : U                |  143 : Å : O^' :O circumflex acute     |
  3304. |  086 : V : V   : V                |  144 : É : O^` :O circumflex grave     |
  3305. |  087 : W : W   : W                |  145 : æ : O^? :O circumflex hook-above|
  3306. |  088 : X : X   : X                |  146 : Æ : O^~ :O circumflex tilde     |
  3307. |  089 : Y : Y   : Y                |  147 : ô : O^. :O circumflex dot-below |
  3308. |  090 : Z : Z   : Z                |  148 : ö : O+. : O horn dot-below      |
  3309. |  097 : a : a   : a                |  149 : ò : O+' : O horn acute          |
  3310. |  098 : b : b   : b                |  150 : û : O+` : O horn grave          |
  3311. |  099 : c : c   : c                |  151 : ù : O+? : O horn hook-above     |
  3312. |  100 : d : d   : d                |  152 : ÿ : I.  : I dot-below           |
  3313. |  101 : e : e   : e                |  153 : Ö : O?  : O hook-above          |
  3314. |  102 : f : f   : f                |  154 : Ü : O.  : O dot-below           |
  3315. |  103 : g : g   : g                |  155 : ¢ : I?  : I hook-above          |
  3316. |  104 : h : h   : h                |  156 : £ : U?  : U hook-above          |
  3317. |  105 : i : i   : i                |  157 : ¥ : U~  : U tilde               |
  3318. |  106 : j : j   : j                |  158 : ₧ : U.  : U dot-below           |
  3319. |  107 : k : k   : k                |  159 : ƒ : Y`  : Y grave               |
  3320. |  108 : l : l   : l                |  160 : á : a.  : a dot-below           |
  3321. |  109 : m : m   : m                |  161 : í : a(' : a breve acute         |
  3322. |  110 : n : n   : n                |  162 : ó : a(` : a breve grave         |
  3323. |  111 : o : o   : o                |  163 : ú : a(. : a breve dot-below     |
  3324. +===================================+========================================+
  3325.                                                                         60
  3326.  Ph° L°c B: Mτu T± Vi«t Li«t KΩ Theo Th╤ T± Mπ S» VISCII Thºp PhΓn (ti¬p theo)
  3327. +========================================+===================================+
  3328. |VISCII:Chµ:VIQR : TΩn Anh Ngµ           |VISCII:Chµ:VIQR : TΩn Anh Ngµ      |
  3329. +------:---:-----:-----------------------+------:---:-----:------------------+
  3330. |  164 : ñ : a^' : a circumflex acute    |  210 : ╥ : O`  : O grave          |
  3331. |  165 : Ñ : a^` : a circumflex grave    |  211 : ╙ : O'  : O acute          |
  3332. |  166 : ª : a^? :a circumflex hook-above|  212 : ╘ : O^  : O circumflex     |
  3333. |  167 : º : a^. :a circumflex dot-below |  213 : ╒ : O~  : O tilde          |
  3334. |  168 : ¿ : e~  :e tilde                |  214 : ╓ : y?  : y hook-above     |
  3335. |  169 : ⌐ : e.  :e dot-below            |  215 : ╫ : u+` : u horn grave     |
  3336. |  170 : ¬ : e^' :e circumflex acute     |  216 : ╪ : u+? : u horn hook-above|
  3337. |  171 : ½ : e^` :e circumflex grave     |  217 : ┘ : U`  : U grave          |
  3338. |  172 : ¼ : e^? :e circumflex hook-above|  218 : ┌ : U'  : U acute          |
  3339. |  173 : ¡ : e^~ :e circumflex tilde     |  219 : █ : y~  : y tilde          |
  3340. |  174 : « : e^. :e circumflex dot-below |  220 : ▄ : y.  : y dot-below      |
  3341. |  175 : » : o^' :o circumflex acute     |  221 : ▌ : Y'  : Y acute          |
  3342. |  176 : ░ : o^` :o circumflex grave     |  222 : ▐ : o+~ : o horn tilde     |
  3343. |  177 : ▒ : o^? :o circumflex hook-above|  223 : ▀ : u+  : u horn           |
  3344. |  178 : ▓ : o^~ :o circumflex tilde     |  224 : α : a`  : a grave          |
  3345. |  179 : │ : O+~ :O horn tilde           |  225 : ß : a'  : a acute          |
  3346. |  180 : ┤ : O+  :O horn                 |  226 : Γ : a^  : a circumflex     |
  3347. |  181 : ╡ : o^. :o circumflex dot-below |  227 : π : a~  : a tilde          |
  3348. |  182 : ╢ : o+` : o horn grave          |  228 : Σ : a?  : a hook-above     |
  3349. |  183 : ╖ : o+? : o horn hook-above     |  229 : σ : a(  : a breve          |
  3350. |  184 : ╕ : i.  : i dot-below           |  230 : µ : u+~ : u horn tilde     |
  3351. |  185 : ╣ : U+. : U horn dot-below      |  231 : τ : a^~ :a circumflex tilde|
  3352. |  186 : ║ : U+' : U horn acute          |  232 : Φ : e`  : e grave          |
  3353. |  187 : ╗ : U+` : U horn grave          |  233 : Θ : e'  : e acute          |
  3354. |  188 : ╝ : U+? : U horn hook-above     |  234 : Ω : e^  : e circumflex     |
  3355. |  189 : ╜ : o+  : o horn                |  235 : δ : e?  : e hook-above     |
  3356. |  190 : ╛ : o+' : o horn acute          |  236 : ∞ : i`  : i grave          |
  3357. |  191 : ┐ : U+  : U horn                |  237 : φ : i'  : i acute          |
  3358. |  192 : └ : A`  : A grave               |  238 : ε : i~  : i tilde          |
  3359. |  193 : ┴ : A'  : A acute               |  239 : ∩ : i?  : i hook-above     |
  3360. |  194 : ┬ : A^  : A circumflex          |  240 : ≡ : dd  : d bar            |
  3361. |  195 : ├ : A~  : A tilde               |  241 : ± : u+. : u horn dot-below |
  3362. |  196 : ─ : A?  : A hook-above          |  242 : ≥ : o`  : o grave          |
  3363. |  197 : ┼ : A(  : A breve               |  243 : ≤ : o'  : o acute          |
  3364. |  198 : ╞ : a(? : a breve hook-above    |  244 : ⌠ : o^  : o circumflex     |
  3365. |  199 : ╟ : a(~ : a breve tilde         |  245 : ⌡ : o~  : o tilde          |
  3366. |  200 : ╚ : E`  : E grave               |  246 : ÷ : o?  : o hook-above     |
  3367. |  201 : ╔ : E'  : E acute               |  247 : ≈ : o.  : o dot-below      |
  3368. |  202 : ╩ : E^  : E circumflex          |  248 : ° : u.  : u dot-below      |
  3369. |  203 : ╦ : E?  : E hook-above          |  249 : ∙ : u`  : u grave          |
  3370. |  204 : ╠ : I`  : I grave               |  250 : · : u'  : u acute          |
  3371. |  205 : ═ : I'  : I acute               |  251 : √ : u~  : u tilde          |
  3372. |  206 : ╬ : I~  : I tilde               |  252 : ⁿ : u?  : u hook-above     |
  3373. |  207 : ╧ : y`  : y grave               |  253 : ² : y'  : y acute          |
  3374. | *208 : ╨ : DD  : D bar                 |  254 : ■ : o+. : o horn dot-below |
  3375. |  209 : ╤ : u+' : u horn acute          |  255 :   : U+~ : U horn tilde     |
  3376. +========================================+===================================+
  3377.  
  3378.        * Quy ≡╕nh VIQR c≥n cho phΘp t▀■ng tr▀ng "╨" bóng "Dd" hoúc "dD".
  3379.  
  3380.       ANNOUNCEMENT OF VISCII-COMPLIANT SOFTWARE APPLICATIONS - RELEASE 3
  3381.  
  3382.                      San Jose, California, September 1992
  3383.  
  3384.                                       by
  3385.  
  3386.                               The TriChlor Group
  3387.                              3388 Burgundy Drive
  3388.                           San Jose, CA 95132, U.S.A.
  3389.                       Email: TriChlor@Haydn.Stanford.EDU
  3390.  
  3391.  
  3392.  
  3393. This release includes major support for Microsoft Windows 3.1,  and an upgrade
  3394. to VISCII 1.1.   It has been an unusually productive period for  TriChlor  and
  3395. TriChlor-Talk members.  Thanks everyone for a great effort. New software added
  3396. in this release:
  3397.  
  3398.          winvnkey, vnfont1, vn-nhac, butviet, more bdf fonts for X,
  3399.          vietxrn, vprint, thitap1.
  3400.  
  3401. With  the  newly  added  Windows  and  TrueType  supports,  one  can  generate
  3402. "beautiful" and "professional" publications easily, such as ≡úc san, bßo xuΓn,
  3403. bφch bßo, sßch, ...  All data files are identical across Unix, DOS and Windows
  3404. platforms, with the same keyboard entry style. If you use TriChlor software to
  3405. generate these publications, we would be glad to receive a compliment/souvenir
  3406. copy.
  3407.  
  3408. Most of TriChlor software provides a foundation upon which  other  Vietnamese-
  3409. dedicated applications can be built.   Following is a short description of all
  3410. programs.   All are Viet-Std VISCII 1.1 & VIQR  compliant.   Unless  otherwise
  3411. specified,   most   software   is   written/ported   by   C▀╢ng   Tñn   Nguy¡n
  3412. (cuong@Haydn.Stanford.EDU) and C▀╜ng Minh B∙i (bui@berlioz.nsc.com).
  3413.  
  3414.  
  3415. 1. FOR UNIX & X-WINDOWS:
  3416. ~~~~~~~~~~~~~~~~~~~~~~~
  3417.  
  3418. include:  Include files for software developers.
  3419.  
  3420. lib:      Library routines for software developers.
  3421.  
  3422. fonts:    Contains X-Window bitmap fonts,  METAFONT sources for TeX,  pre-made
  3423.           TeX bitmap .pk fonts, and scalable outline Type-1 fonts.
  3424.  
  3425.           METAFONT can be used to generate different font sizes and  typefaces
  3426.           for TeX bitmap .pk fonts.
  3427.  
  3428.           X-Window .bdf fonts include:
  3429.              vn10x20.bdf, vnlucida18      [NEW]
  3430.                     designed by Thu V. Vu (tvu@sg102a.ess.harris.com)
  3431.              vn9x15.bdf, vn-r14.bdf.
  3432.  
  3433.                                          61
  3434.                                                                         62
  3435.           Type 1 fonts: include all the TrueType  fonts  in  vnfont1  archived
  3436.           under VN/WINDOWS
  3437.  
  3438. vietterm:
  3439.           A modified version of X-Window xterm.   It allows entry and  display
  3440.           of Vietnamese characters, at the same time stays compatible with US-
  3441.           ASCII  environment,  and  uses  existing  8-bit  clean  Unix  tools.
  3442.           Changes include 8-bit Viet-Std,  support for both Athena  and  MOTIF
  3443.           widgets, radio buttons to switch/display keyboard and screen modes.
  3444.  
  3445. vnterm:
  3446.           A modified version of X-Window xterm.   It allows entry and  display
  3447.           of Vietnamese characters, at the same time stays compatible with US-
  3448.           ASCII  environment,  and  uses  existing  8-bit  clean  Unix  tools.
  3449.           Changes include 8-bit Viet-Std.
  3450.  
  3451. vn7to8:
  3452.           Filters for conversion between 8-bit Viet-Std VISCII codes and 7-bit
  3453.           Viet-Std (VIQR), for printing, posting or mailing.  SCV articles and
  3454.           Viet-Net mails (7-bit) can be printed by converting  them  to  8-bit
  3455.           Viet-Std.  Algorithm by H≈c ╨. Ng⌠ (ngo@nas.nasa.gov)
  3456.  
  3457. vnpstext:
  3458.           Prints 8-bit Viet-Std file to PostScript printers.   Uses PostScript
  3459.           Type 3 Courier font.  Both regular and bold typefaces are supported.
  3460.           Default to font size 10.  Prolog files can be modified for different
  3461.           font size.  Also available for DOS.
  3462.  
  3463. vietxmail:
  3464.           A  modified  version  of  X  Window  xmail.    Used  together   with
  3465.           "vnmailtool" to allow one to read/write 8-bit  Vietnamese  chars  in
  3466.           7-bit channel mail transparently.   Updates include  8-bit  Viet-Std
  3467.           VISCII codes.   Allows choice of different mail-agents (sendmail) or
  3468.           filters.  Needs utilities from "vnmailtool" to work.
  3469.  
  3470. vnmailtool:
  3471.           A set of conversion filters,  when set  up  properly,  will  process
  3472.           8-bit Viet-Std to 7-bit Viet-Std mails and vice-versa transparently.
  3473.           Allows choice of different mail-agents (sendmail) or  filters.   Can
  3474.           be used  with  vietxmail  or  vietterm/vnterm.   Also  included  are
  3475.           viet7to8 and viet8to7 for  conversion  between  8-bit  Viet-Std  and
  3476.           7-bit Viet-Std for posting or mailing.
  3477.  
  3478. vnelvis:
  3479.           A modified "elvis1.4" ("vi" editor clone),  tuned for 8-bit Viet-Std
  3480.           & C0 space characters.   Need vietterm or vnterm.   Works with  most
  3481.           Unix system. Also available on DOS.  Needs vietdos on DOS.
  3482.  
  3483. vpp8:
  3484.           A modified version of vpp, a troff preprocessor, used to print 8-bit
  3485.           Viet-Std characters.   Original program written by Hµu,  ported to C
  3486.           by NhΓn TrÑn (tran@peora.sdc.ccur.com),  ported to 8-bit Viet-Std by
  3487.                                                                         63
  3488.           TriChlor.  Support for Italic added.  troff is standard on most Unix
  3489.           system.  Scalable fonts.
  3490.  
  3491. vnfortune:
  3492.           Same as Unix "fortune" program.  Displays Vietnamese poems, t°c ngµ,
  3493.           ca dao,  ... randomly.   Users  can  add  or  modify  the  database.
  3494.           Database consists of around 100  phrases,  contributed  by  SCV  and
  3495.           Vietnetters,    most    notably,     Nguy¡n    Th╕    Ca-Dao    (ca-
  3496.           dao@sjsuvm1.bitnet).
  3497.              Author:  QuΓn TrÑn (qdt00@duts.ccc.amdahl.com)
  3498.  
  3499. locale.sun:
  3500.           VISCII locale for SUN running OS 4.1.   When  installed  will  allow
  3501.           direct use of Sun's "vi",  "ls" and other tools that support  locale
  3502.           to work also on VISCII 8-bit Vietnamese chars.
  3503.  
  3504. vnless:
  3505.           A modified "less" to work with 8 bit Viet-Std Very powerful pager.
  3506.  
  3507. vietsc:
  3508.           A modified "sc",  a popular public domain Unix spreadsheet. Includes
  3509.           mortgage calculation examples.  May need vncurses.
  3510.  
  3511. vncurses:
  3512.           Vietnamese capable curses library.   Unix's curses from BSD  4.3  or
  3513.           SVR3 is not 8 bit clean.
  3514.  
  3515. lambai:
  3516.           A sample application for teaching Vietnamese.  Teachers can generate
  3517.           coded quiz in Vietnamese.   Students answer  in  either  English  or
  3518.           Vietnamese.  Also available on IBM PC.
  3519.  
  3520. vietxrn:
  3521.           Vietnamese capable version of xrn 6.17.   For posting,  reading  and
  3522.           replying using Vietnamese 8-bit  Viet-Std.   Automatic,  transparent
  3523.           conversion to Viet-Std 7-bit  VIQR  for  posting  and  mailing.   To
  3524.           compose and print in 8-bit,  needs vietterm or  vnterm,  vnelvis  or
  3525.           locale,  and vpp8 or  vnpstext.   Supports  both  MOTIF  and  Athena
  3526.           widgets.
  3527.  
  3528.  
  3529. 2. FOR MS-WINDOWS
  3530. ~~~~~~~~~~~~~~~~~
  3531.  
  3532. winvnkey:  [NEW]
  3533.           Allows entry of Vietnamese chars in Microsoft Windows  applications.
  3534.           Works with most Windows existing applications such as Word, Notepad,
  3535.           Paintbrush, ... Viet-Std compliant.
  3536.                                                                         64
  3537. vnfont1:  [NEW]
  3538.           Set of 4 Vietnamese TrueType fonts, VISCII encoding.
  3539.                HeoMay   (vn-helvetica)
  3540.                HoangYen (vn-present-script)
  3541.                MinhQuan (vn-courier)
  3542.                UHoai    (vn-utopia)
  3543.           From these  fonts,  Windows  can  generated  many  point  sizes  and
  3544.           variations such as Italic, Bold and Bold-Italic.
  3545.  
  3546. monmoi:    [NEW]
  3547.           Add Vietnamese description  to  icon.   Window's  File  Manager  has
  3548.           trouble doing this.
  3549.  
  3550. thitap1:   [NEW]
  3551.           Electronic poetry collection of 11 poems by Quang D√ng.  Display and
  3552.           print poems using Window Help facility.
  3553.  
  3554.  
  3555.  
  3556. 3. FOR MS-DOS
  3557. ~~~~~~~~~~~~~
  3558.  
  3559. vietdos:
  3560.           Allows entry and display  of  Vietnamese  chars.   Works  with  most
  3561.           existing software such as vi,  vnelvis,  pctools,  xtree,  MS  Edit,
  3562.           WordPerfect, brief, Paradox, Word, C, Pascal, ASM, ...  Requires EGA
  3563.           or VGA.  Use vprint or vlaser to print.
  3564.  
  3565. vnelvis:
  3566.           "elvis1.4",  a "vi" editor clone,  tuned for Vietnamese. This is the
  3567.           same version of vnelvis on Unix, ported to DOS.
  3568.  
  3569. viet78:
  3570.           filters for 7-bit (used by SCV,  vietnet) to 8-bit  Viet-Std.   Also
  3571.           from 8-bit Viet-Std to 7-bit.
  3572.  
  3573. less:
  3574.           public domain "less" pager,  better than  "more",  with  environment
  3575.           variable for charset tuned for 8-bit Viet-Std
  3576.  
  3577. lambai:
  3578.           same version  of  lambai  on  Unix,  ported  to  DOS. Dedicated  for
  3579.           teaching/testing using Vietnamese language. Required vietdos.
  3580.  
  3581. vlaser2:
  3582.           printing 8-bit Viet-Std Vietnamese  on  laser  printers. Supports  4
  3583.           typefaces.
  3584.              Author: H≥a Nguy¡n (nguyenh@cod.nosc.mil)
  3585.              He is also author of viet1p6, a Vietnamese word processor.
  3586.  
  3587.                                                                         65
  3588. testdata.std:
  3589.           A  file  of  VISCII-1.1  8-bit  Vietnamese  characters  for  testing
  3590.           software.
  3591.              Author: H≥a Nguy¡n (nguyenh@cod.nosc.mil)
  3592.  
  3593. vn-nhac:         [NEW]
  3594.           A colorful program that display collection of Vietnamese songs, menu
  3595.           driven.   Currently, there are four volumes of 200 songs contributed
  3596.           by SCVers and Viet-Netters.
  3597.              Author: H░ Ph▀╛c H∙ng (hho@aludra.usc.EDU)
  3598.  
  3599.  
  3600. butviet:         [NEW]
  3601.           A Vietnamese editor, Viet-Std VISCII and VIQR compliant, can be used
  3602.           with CGA, Hercules, EGA, VGA.  Has multi-windows and mouse support.
  3603.              Author: Nguy¡n Doπn V▀■ng (vnguyen@adobe.com)
  3604.  
  3605. vprint:          [NEW]
  3606.           VISCII 1.1 printer driver for Epson and IBM dot-matrix printer.  Can
  3607.           be invoked from a pipe.
  3608.              Author: Nguy¡n Doπn V▀■ng (vnguyen@adobe.com)
  3609.  
  3610. convert 1.3:     [NEW]
  3611.           Convert between many Vietnamese coding formats, including VISCII and
  3612.           VIQR.
  3613.              Author: Vietnamese Professional Society
  3614.                      (H╡i ChuyΩn Gia Vi«t Nam)
  3615.                      Email: hcgvn@netcom.com
  3616.  
  3617.  
  3618.  
  3619. 4. WORK IN PROGRESS
  3620. ~~~~~~~~~~~~~~~~~~~
  3621.  
  3622. vietvu:
  3623.           similar to winvnkey, can also use clipboard besides message hook.
  3624.              Author: V√ V. ChΓu (chauv@microsoft.com)
  3625.  
  3626. thitap:
  3627.           a bookshelf of poetry volumes,  currently has thitap1 (Quang  D√ng).
  3628.           Will have thitap2 (Nguy¡n Bφnh),  thitap3 (nhi½u tßc giΣ),  ... Many
  3629.           poems were  posted  by  Viet-Netters  and  SCV-ers. Needs  volunteer
  3630.           editors! Contact bui@berlioz.nsc.com if interested.
  3631.  
  3632.  
  3633.  
  3634. 5. PROPOSED PROJECTS (Need volunteers!)
  3635. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  3636.  
  3637. TrueType fonts:
  3638.           Additional fonts are  needed.   Should  be  public  domain  and  re-
  3639.           distributable.
  3640.                                                                         66
  3641. text2speech:
  3642.           to encode Vietnamese speech and implement text to speech  conversion
  3643.           for Vietnamese text files.
  3644.  
  3645. multimedia application:
  3646.  
  3647. vietspell:
  3648.           a dictionaryless speller based on lex/yacc.
  3649.  
  3650.  
  3651.  
  3652. 6. GETTING SOFTWARE
  3653. ~~~~~~~~~~~~~~~~~~~
  3654.  
  3655. There is an archive site at sonygate for anonymous ftp,  or if you don't  have
  3656. ftp,  there is a mailserver at saigon.com.   Pre-compiled binaries for  IBM-PC
  3657. and Sun 4/SPARC are also available via floppy disks.   Binaries  are  compiled
  3658. under Sun OS 4.1, X11R4, OpenWindow 3.0, Motif 1.1.
  3659.  
  3660.  
  3661. 6.1 Using Anonymous ftp
  3662. ~~~~~~~~~~~~~~~~~~~~~~~
  3663.  
  3664. Here are the instructions for accessing the anonymous FTP archive.
  3665.  
  3666.  
  3667.   Site name: sonygate.Sony.Com [192.65.138.2] (try 192.65.138.240 if the
  3668.                                                first one does not work)
  3669.   Login as anonymous, password is anything (please use your email name).
  3670.  
  3671.     % mkdir VN          # where you will be compiling everything
  3672.     % cd VN
  3673.     % ftp sonygate.sony.com
  3674.     Connected to sonygate.sony.com
  3675.     220 sonygate.sony.com FTP server ready.
  3676.     Name (sonygate.sony.com:<your_login>): anonymous
  3677.     Password (sonygate.sony.com:anonymous): <type_your_name>
  3678.     331 Guest login ok, send ident as password.
  3679.     230 Guest login ok, access restrictions apply.
  3680.     ftp> cd tin/VN
  3681.     250 CWD command successful.
  3682.     ftp> type image  # (or "binary")
  3683.     200 Type set to I
  3684.     ftp> get <file>.tar.Z
  3685.     ftp> quit
  3686.  
  3687.     If you have question/problem accessing the archive, please contact
  3688.     Tφn LΩ (tin@smsc.sony.com)
  3689.  
  3690.                                                                         67
  3691. 6.2 Using Modem or MailServer at Saigon.COM
  3692. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  3693.     From: tin@smsc.sony.com  (Tφn LΩ)
  3694.     Subject: [TECH] Instruction for accessing Viet files
  3695.     Date: Tue, 4 Aug 92 00:19:56 GMT
  3696.  
  3697.  
  3698. The mailserver at Saigon.COM has been updated to contain the latest files from
  3699. the anonymous FTP archive at sonygate.   This is for those of you without  FTP
  3700. access.  You can retrieve the files by sending email requests.
  3701.  
  3702. You may also dialup Saigon.COM directly and download the files. The front  end
  3703. to it is Station Zebra,  a BBS.   It is located in the San Francisco Bay Area.
  3704. The phone number is 408-739-1520.  Login with user id of BBS.
  3705.  
  3706.    [ MailServer Instructions ]
  3707.  
  3708. Vietnet and Vietnamese Software MailServer Archive
  3709. -------------------------------------------------
  3710.  
  3711. This is the MailServer archive for Vietnet and Vietnamese software.   It is  a
  3712. duplicate of the anonymous FTP archive.   The purpose of this mailserver is to
  3713. allow those without ftp access to retrieve these files.
  3714.  
  3715. The MailServer looks for instructions in the body of the  message. It  ignores
  3716. the subject line.  Following are some of the instructions that it understands:
  3717.  
  3718.         LIST directory_name
  3719.         DIR directory_name
  3720.         CD directory_name
  3721.         GET filename
  3722.         HELP
  3723.  
  3724. Please make sure that your email address in the header of the message is good.
  3725. The MailServer uses that to send the files to you.   I have gotten  a  lot  of
  3726. bounced messages from those of you with unreachable email address.
  3727.  
  3728. Here is an example session:
  3729.  
  3730.         $ mail mailserver@saigon.com
  3731.         Subject: <anything here>
  3732.         DIR viet.net
  3733.         GET viet.net/vnterm.tar.Z
  3734.         EOF (type a Control-D)
  3735.  
  3736. The email address of the server is mailserver@saigon.com Some of you  who  are
  3737. in the UUCP domain might have  problem  sending  mail  to  an  Internet  style
  3738. address.  You could try the following bang paths:
  3739.  
  3740.         uunet!sonyusa!szebra!mailserver
  3741.         claris!szebra!mailserver
  3742.         zorch!szebra!mailserver
  3743.                                                                         68
  3744. 6.3 Using Modem to Phsys.COM
  3745. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  3746.  
  3747.    VIETNET BBS - phsys.com (PH. Systems)
  3748.         Phone No: 1-213-734-8528  (Modem: Hayes V32-V42, 8N1, 300-38400bps)
  3749.            Login: NEW  (then fill out questionaire for account)
  3750.            Owner: H∙ng P. H░, hung@phsys.com  (Los Angeles, California, USA)
  3751.            Mail Server will be in operation starting 2nd week of Oct 92,
  3752.            please mail to mail-server@phsys.com for more info
  3753.  
  3754. The BBS is a 24-hour public system with Vietnamese newsgroups,  Job  listings,
  3755. limited Usenet News,  mail connections to many other nets including  Internet.
  3756. Archive site of all Vietnamese public-domain software and technical  documents
  3757. from  Viet-Std,  Vietnamese  Professional  Society,  TriChlor,  MAT/CAT,  etc.
  3758. Graphics section has been updated with *.gif from the Viet  Nam  War  era. You
  3759. are  welcome  to  login  and  download  software/gif.    Please  leave  him  a
  3760. message/mail so he will give you full access.
  3761.  
  3762.  
  3763. 6.4 Using Post Office
  3764. ~~~~~~~~~~~~~~~~~~~~~
  3765.  
  3766. For DOS/Windows send $5.00 to cover the set of 2  floppy  disks,  and  specify
  3767. your disk type (5-inch disk or 3.5-inch disk).   The disks come with very easy
  3768. to set up and install program, that will put executables in proper place,  and
  3769. installed to proper Windows group.
  3770.  
  3771. For Sun Sparc/Sun4/X-Windows binaries,  send $10.00 to cover a set of 2 floppy
  3772. disks containing the following programs: vietterm,  vnpstext,  vpp8,  vietxrn,
  3773. vnelvis, locale, ...  and bdf fonts.
  3774.  
  3775. Make check payable to C▀╢ng T. Nguy¡n (acting accountant) and send to:
  3776.  
  3777.                 TriChlor Software
  3778.                 3388 Burgundy Drive
  3779.                 San Jose, CA 95132, U.S.A.
  3780.  
  3781. We definitely are not going to profit from  this.   The  $5  covering  mailing
  3782. expenses does  not  come  anywhere  close  to  representing  the  huge  effort
  3783. everyone,  named and unnamed,  has put into  this,  both  in  terms  of  time,
  3784. keyboard stress,  head strain,  and out-of-pocket expenses to  buy  compilers,
  3785. font converters, hardware, etc. to bring VISCII/VIQR compliant software to the
  3786. Vietnamese community. If you like what we are doing and would like to to  help
  3787. us meet expenses---which are quite real and  considerable---your  contribution
  3788. in any amount is always welcome, but is never required.
  3789.  
  3790.  
  3791. [ For an experimental  period,  precompiled  binaries  for  a  select  set  of
  3792. TriChlor software will be available via anonymous  FTP  to  Haydn.Stanford.EDU
  3793. (36.22.0.47).   Although limits are not enforced,  please try to schedule your
  3794. access between 7PM - 6AM Pacific time.  Depending on the resulting load on the
  3795. system, this service may become permanent, off-hours, or altogether removed.
  3796.                                                                         69
  3797. Binaries are currently  available  for  DecStation  3100,  Sun-3,  and  Sun-4.
  3798. Knowledgeable users with binaries compiled for these and other  platforms  are
  3799. encouraged   to   make   them   available   to   other   netters.    Trichlor-
  3800. binaries@Haydn.Stanford.EDU is a mailing list for that  circle  of  volunteers
  3801. who participate in this distribution system.   If you have  binaries  and  are
  3802. interested in helping,  please send a "SIGN-ON" message to  
  3803.           TriChlor-binaries-request@Haydn.Stanford.EDU
  3804.  ]
  3805.  
  3806.  
  3807. 7. COPYRIGHT
  3808. ~~~~~~~~~~~~
  3809.  
  3810. All software products are copyrighted by respective authors  or  the  TriChlor
  3811. group.  All rights reserved.  You may copy, distribute, and use these software
  3812. for any purpose, as long as you do not charge a fee for doing so,  and include
  3813. this copyright notice.   All software is provided "as is",  without express or
  3814. implied warranty.
  3815.  
  3816. All software is provided free of charge as copyrighted  freeware  (that  means
  3817. you can have it for free and make as many copies for as many  friends  as  you
  3818. like,   but  we  reserve  the  copyright  in  order  to  prevent  unauthorized
  3819. modifications and to prevent people from selling it to unsuspecting users---we
  3820. want to keep the freeware free).
  3821.  
  3822.  
  3823. 8. ABOUT THE TRICHLOR GROUP
  3824. ~~~~~~~~~~~~~~~~~~~~~~~~~~~
  3825.  
  3826. TriChlor is a group of  volunteers  whose  common  interests  are  to  provide
  3827. quality and free utilities,  codes,  libraries for  use  with  the  Vietnamese
  3828. language,   and  to  integrate  Vietnamese  language  to   current   computing
  3829. environments.
  3830.  
  3831. If you would like to pitch in and help, we can be contacted at
  3832.          TriChlor@Haydn.Stanford.EDU
  3833. If you wish, you may get on the mailing list and participate in discussions by
  3834. sending a message to
  3835.          TriChlor-talk-request@Haydn.Stanford.EDU
  3836. with the subject
  3837.          "SIGN-ON".
  3838.  
  3839. But please be prepared to donate your time :-).
  3840. All works, unless specified, will be placed in public domain.
  3841.  
  3842.  
  3843.  
  3844.  
  3845. The TriChlor Group
  3846.