VISCII

Jump to navigation Jump to search
VISCII
MIME / IANAVISCII
Language(s)Vietnamese, English
Created byViet-Std Group
DefinitionsRFC 1456
Classification8-bit SBCS
Based onASCII

VISCII is an unofficially-defined modified ASCII character encoding for using the Vietnamese language with computers. It should not be confused with the similarly-named officially registered VSCII encoding. VISCII keeps the 95 printable characters of ASCII unmodified, but it replaces 6 of the 33 control characters with printable characters. It adds 128 precomposed characters. Unicode and the Windows-1258 code page are now used for virtually all Vietnamese computer data, but legacy VSCII and VISCII files may need conversion.

History and naming[edit]

VISCII was designed by the Vietnamese Standardization Working Group (Viet-Std Group)[1] based in Silicon Valley, California in 1992 while they were working with the Unicode consortium to include pre-composed Vietnamese characters in the Unicode standard. VISCII, along with VIQR, was first published in a bilingual report in September 1992, in which it was dubbed the "Vietnamese Standard Code for Information Interchange".[2] The report noted a proliferation in computer usage in Vietnam, that existing applications used vendor-specific encodings which were unable to interoperate with one another, and that standardisation between vendors was therefore necessary.[2]

The next year, in 1993, Vietnam adopted TCVN 5712, its first national standard in the information technology domain.[3] This defined a character encoding named VSCII, which had been developed by the TCVN Technical Committee on Information Technology (TCVN/TC1), and with its name standing for "Vietnamese Standard Code for Information Interchange".[3] VSCII is incompatible with, and otherwise unrelated to, the earlier-published VISCII. Unlike VISCII, VSCII is a "Vietnamese Standard" in the sense of a national standard.

VISCII and VIQR were approved as the informational-status RFC 1456, attributed to the Viet-Std group and dated May 1993. This RFC notes them to be "conventions" used by overseas Vietnamese speakers on Usenet, and that it "specifies no level of standard". In spite of this, it continues to call VISCII the "VIetnamese Standard Code for Information Interchange" (the same name taken by VSCII).[4] The labels VISCII and csVISCII are registered with the IANA for VISCII, with reference to RFC 1456.[5] (There is, on the other hand, no official IANA label for TCVN 5712 / VSCII, although x-viet-tcvn5712 was previously supported by Mozilla Firefox.[6])

Design[edit]

A traditional extended ASCII character set consists of the ASCII set plus up to 128 characters. Vietnamese requires 134 additional letter-diacritic combinations, which is six too many. There are (short of dropping tone mark support for capital letters, as in VSCII-3) essentially four different ways to handle this problem:

  1. Use variable-width encoding (as does UTF-8)
  2. Include combining diacritical marks for tone marks (as do VSCII-2 and Windows-1258) or for diacritics in general (as do ANSEL and VNI)
  3. Replace some ASCII punctuation, preferably punctuation which is not invariant in ISO 646 (as does VNI for DOS)
  4. Replace at least six of the basic ASCII control characters (as do VPS and VSCII-1)

VISCII went for the last option, replacing six of the least problematic (e.g., least likely to be recognised by an application and acted on specially) C0 control codes (STX, ENQ, ACK, DC4, EM, and RS) with six of the least-used uppercase letter-diacritic combinations.[2] While this option may cause programs that use those control codes to malfunction when handling VISCII text, it creates fewer complications than the other two options (the designers note that non-8-bit clean transmission had been found to pose more difficulty in practice than the control character re-use).[2] Nonetheless, locations of both C0 or C1 control characters and the codes used for the non-breaking space in ISO-8859-1, Mac OS Roman and OEM-US were deliberately assigned to uppercase letters, with the intention of making use of lowercase codepoints with an all-capital font a serviceable workaround if graphical characters could not be displayed for those codes.[2]

However, using up all the extended code points for accented letters left no room to add useful symbols, superscripted numbers, curved quotes, proper dashes, etc., like most other extended ASCII character sets.

Location of characters deliberately mostly follows ISO-8859-1 where there are characters in common between the two code pages (the uppercase Õ being noted as an exception), motivated by user friendliness concerns.[2]

Support[edit]

VISCII is partially supported by the TriChlor Software Group in California, which has released various VISCII-compliant software packages, libraries, and fonts for MS-DOS and Windows, Unix, and Macintosh. VISCII-compliant software is available at many FTP sites.

VISCII was historically offered as an encoding for outgoing email by Mozilla Thunderbird.[7]

VISCII was mostly used by overseas Vietnamese speakers, with VSCII (TCVN) being more popular in northern Vietnam and VNI being more popular in southern Vietnam.[8]

Character set[edit]

VISCII
_0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _A _B _C _D _E _F
0_
0
NUL
0000
SOH
0001

1EB2
ETX
0003
EOT
0004

1EB4

1EAA
BEL
0007
BS
0008
HT
0009
LF
000A
VT
000B
FF
000C
CR
000D
SO
000E
SI
000F
1_
16
DLE
0010
DC1
0011
DC2
0012
DC3
0013

1EF6
NAK
0015
SYN
0016
ETB
0017
CAN
0018

1EF8
SUB
001A
ESC
001B
FS
001C
GS
001D

1EF4
US
001F
2_
32
SP
0020
!
0021
"
0022
#
0023
$
0024
%
0025
&
0026
'
0027
(
0028
)
0029
*
002A
+
002B
,
002C
-
002D
.
002E
/
002F
3_
48
0
0030
1
0031
2
0032
3
0033
4
0034
5
0035
6
0036
7
0037
8
0038
9
0039
:
003A
;
003B
<
003C
=
003D
>
003E
?
003F
4_
64
@
0040
A
0041
B
0042
C
0043
D
0044
E
0045
F
0046
G
0047
H
0048
I
0049
J
004A
K
004B
L
004C
M
004D
N
004E
O
004F
5_
80
P
0050
Q
0051
R
0052
S
0053
T
0054
U
0055
V
0056
W
0057
X
0058
Y
0059
Z
005A
[
005B
\
005C
]
005D
^
005E
_
005F
6_
96
`
0060
a
0061
b
0062
c
0063
d
0064
e
0065
f
0066
g
0067
h
0068
i
0069
j
006A
k
006B
l
006C
m
006D
n
006E
o
006F
7_
112
p
0070
q
0071
r
0072
s
0073
t
0074
u
0075
v
0076
w
0077
x
0078
y
0079
z
007A
{
007B
|
007C
}
007D
~
007E
DEL
007F
8_
128

1EA0

1EAE

1EB0

1EB6

1EA4

1EA6

1EA8

1EAC

1EBC

1EB8

1EBE

1EC0

1EC2

1EC4

1EC6

1ED0
9_
144

1ED2

1ED4

1ED6

1ED8

1EE2

1EDA

1EDC

1EDE

1ECA

1ECE

1ECC

1EC8

1EE6
Ũ
0168

1EE4

1EF2
A_
160
Õ
00D5

1EAF

1EB1

1EB7

1EA5

1EA7

1EA9

1EAD

1EBD

1EB9
ế
1EBF

1EC1

1EC3

1EC5

1EC7

1ED1
B_
176

1ED3

1ED5

1ED7

1EE0
Ơ
01A0

1ED9

1EDD

1EDF

1ECB

1EF0

1EE8

1EEA

1EEC
ơ
01A1

1EDB
Ư
01AF
C_
192
À
00C0
Á
00C1
Â
00C2
Ã
00C3

1EA2
Ă
0102

1EB3

1EB5
È
00C8
É
00C9
Ê
00CA

1EBA
Ì
00CC
Í
00CD
Ĩ
0128

1EF3
D_
208
Đ
0110

1EE9
Ò
00D2
Ó
00D3
Ô
00D4

1EA1

1EF7

1EEB

1EED
Ù
00D9
Ú
00DA

1EF9

1EF5
Ý
00DD

1EE1
ư
01B0
E_
224
à
00E0
á
00E1
â
00E2
ã
00E3

1EA3
ă
0103

1EEF

1EAB
è
00E8
é
00E9
ê
00EA

1EBB
ì
00EC
í
00ED
ĩ
0129

1EC9
F_
240
đ
0111

1EF1
ò
00F2
ó
00F3
ô
00F4
õ
00F5

1ECF

1ECD

1EE5
ù
00F9
ú
00FA
ũ
0169

1EE7
ý
00FD

1EE3

1EEE

  Letter   Number   Punctuation   Symbol   Other  Undefined

Differences from ISO-8859-1 are shown shaded.

See also[edit]

References[edit]

  1. ^ Phung, Quang; Ngo, Hoc D.; Bui, Cuong. "Vietnamese-Standard Working Group Home Page". Viet-Std Group. Retrieved 2019-08-23.
  2. ^ a b c d e f Vietnamese Character Encoding Standardization Report - VISCII And VIQR 1.1 Character Encoding Specifications (Technical report). Viet-Std Group. 1992.
  3. ^ a b "[news] TCVN 5712:1993 (VSCII) -- Vietnamese national standard". 1993-06-02. Archived from the original on 2017-01-11.
  4. ^ Vietnamese Standardization Working Group. "RFC 1456: Conventions for Encoding the Vietnamese Language". IETF.
  5. ^ "Character Sets". IANA.
  6. ^ Sivonen, Henri (2014-09-26). "Character encoding changes in m-c require c-c action". mozilla.dev.apps.thunderbird.
  7. ^ Sivonen, Henri (2014-09-26). "Character encoding changes in m-c require c-c action". mozilla.dev.apps.thunderbird. VISCII and armscii-8 are special in the sense that, for long time, Thunderbird itself (misguidedly) provided these encodings in the user interface for the choice of outgoing character encoding when composing a message. Therefore, it is possible that there exists a Thunderbird-created legacy of VISCII and armscii-8 email and Usenet posts.
  8. ^ Ngo, Hoc Dinh; Tran, TuBinh. "5. Why Having Vietnamese Charset (Character Set – Encoding) Conversion?". Some special functions of WinVNKey.

Further reading[edit]

External links[edit]