VNI
In-game article clicks load inline without leaving the challenge.
VNI Software Company is a developer of various education, entertainment, office, and utility software packages. They are known for developing an encoding (VNI encoding) and a popular input method (VNI Input) for Vietnamese on for computers.
VNI is often available on computer systems to type Vietnamese, alongside TELEX input method as well. The most common pairing is the use of VNI on keyboard and computers, whilst TELEX is more common on phones or touchscreens.
History
The VNI company is a family-owned company and based in Westminster, California. It was founded in 1987 by Hồ Thành Việt to develop software that eases Vietnamese language use on computers. Among their products were the VNI Encoding and VNI Input Method. The VNI Input Method has since grown to become the top two most popular input methods for Vietnamese, alongside TELEX which is more advantageous for phones and touchscreens whilst VNI has found more use on keyboard computer systems.
VNI vs. Microsoft
In the 1990s, Microsoft recognized the potential of VNI's products and incorporated VNI Input Method into Windows 95 Vietnamese Edition and MSDN, in use worldwide. Upon Microsoft's unauthorized use of these technologies, VNI took Microsoft to court over the matter. Microsoft settled the case out of court, withdrew the input method from their entire product line, and developed their own input method. It has, although virtually unknown, appeared in every Windows release since Windows 98.
Starting with Windows 10 version 1903, the VNI Input Method (as "Vietnamese Number Key-based"), along with the Telex input method, are now natively supported.
Unicode
Despite the growing popularity of Unicode in computing, the VNI Encoding (see below) is still in wide use by Vietnamese speakers both in Vietnam and abroad. All professional printing facilities in the Little Saigon neighborhood of Orange County, California continue to use the VNI Encoding when processing Vietnamese text. For this reason, print jobs submitted using the VNI Character Set are compatible with local printers.
Input methods
VNI invented, popularized, and commercialized an input method and an encoding, the VNI Character Set, to assist computer users entering Vietnamese on their computers. The user can type using only ASCII characters found on standard computer keyboard layouts. Because the Vietnamese alphabet uses a complex system of diacritics for tones and other letters of the Vietnamese alphabet, the keyboard would need 133 alphanumeric keys and a Shift key to cover all possible characters.
VNI Input Method
Originally, VNI's input method utilized function keys (F1, F2, ...) to enter the tone marks, which later turned out to be problematic, as the operating system used those keys for other purposes. VNI then turned to the numerical keys along the top of the keyboard (as opposed to the numpad) for entering tone marks. This arrangement survives today, but users also have the option of customizing the keys used for tone marks.

With VNI Tan Ky mode on, the user can type in diacritical marks anywhere within a word, and the marks will appear at their proper locations. For example, the word trường, which means 'school', can be typed in the following ways:
truong-7-2→trường(most conventional way)72truong→trườngt72ruong→trườngtr72uong→trườngtru7o72ng→trườngtruo72ng→trườngtruo7ng2→trường
The first way is the conventional method, following handwriting and spelling convention, where the base is written first (truong) and then the tonal marks added later one by one.
VNI Tan Ky
With the release of VNI Tan Ky 4 in the 1990s, VNI freed users from having to remember where to correctly insert tone marks within a word, because, as long as the user enters all the required characters and tone marks, the software will group them correctly. This feature is especially useful for newcomers to the language.
VNI Auto Accent
VNI Auto Accent is the company's most recent software release (2006), with the purpose of alleviating repetitive strain injury (RSI) caused by prolonged use of computer keyboards. Auto Accent helps reduce the number of keystrokes needed to type each word by automatically adding diacritical marks for the user. The user must still enter every base letter in the word.
Character encodings
VNI Encoding (Windows/Unix)
The VNI Encoding uses up to two bytes to represent one Vietnamese vowel character, with the second byte supplying additional diacritical marks, therefore removing the need to replace control characters with Vietnamese characters, a problematic system found in TCVN1 (VSCII-1) and in VISCII, or using two different fonts such as is sometimes employed for TCVN3 (VSCII-3), one containing lowercase characters and the other uppercase characters. A similar approach is taken by Windows-1258 and VSCII-2.
This solution is more portable between different versions of Windows and between different platforms. However, due to the presence of multiple characters in a file to represent one written character increases the file size. The increased file size can usually be accounted for by compressing the data into a file format such as ZIP.
The VNI encoding was used extensively in the south of Vietnam, and sometimes used overseas, while TCVN 5712 was dominant in the north.
Points 0x00 through 0x7F follow ASCII.
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 8x | ||||||||||||||||
| 9x | ||||||||||||||||
| Ax | ||||||||||||||||
| Bx | ||||||||||||||||
| Cx | ◌̂̀ | ◌̂́ | ◌̂0302 | ◌̂̃ | ◌̣̂ | ◌̂̉ | Ỉ1EC8 | ◌̆̀ | ◌̆́ | ◌̆0306 | ◌̣̆ | Ì | Í | Ỵ1EF4 | ◌̣0323 | |
| Dx | Đ0110 | Ị1ECA | Ĩ0128 | Ơ01A0 | ◌̃0303 | Ư01AF | ◌̀0300 | ◌́0301 | ◌̆̉ | ◌̉0309 | ◌̆̃ | |||||
| Ex | ◌̂̀ | ◌̂́ | ◌̂0302 | ◌̂̃ | ◌̣̂ | ◌̂̉ | ỉ1EC9 | ◌̆̀ | ◌̆́ | ◌̆0306 | ◌̣̆ | ì | í | ỵ1EF5 | ◌̣0323 | |
| Fx | đ0111 | ị1ECB | ĩ0129 | ơ01A1 | ◌̃0303 | ư01B0 | ◌̀0300 | ◌́0301 | ◌̆̉ | ◌̉0309 | ◌̆̃ |
VNI Encoding for Macintosh
A version intended for use on Macintosh systems, with a different arrangement (corresponding to the different arrangement between Windows-1252 and Mac OS Roman).
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 8x | ◌̣̂ | ◌̂̉ | ◌̆́ | Đ0110 | Ư01AF | ◌̆̃ | ◌̂́ | ◌̂̀ | ◌̂0302 | ◌̣̂ | ◌̂̃ | ◌̂̉ | ◌̆́ | ◌̆̀ | ||
| 9x | ◌̆0306 | ◌̣̆ | í00ED | ì00EC | ỵ1EF5 | ◌̣0323 | đ0111 | ĩ0129 | ị1ECB | ơ01A1 | ư01B0 | ◌̃0303 | ◌̆̉ | ◌́0301 | ◌̉0309 | ◌̆̃ |
| Ax | Ỉ1EC8 | ◌̀0300 | ||||||||||||||
| Bx | ỉ1EC9 | ◌̀0300 | ||||||||||||||
| Cx | ◌̂̀ | ◌̂̃ | ◌̃0303 | |||||||||||||
| Dx | ||||||||||||||||
| Ex | ◌̂0302 | ◌̆0306 | ◌̂́ | ◌̣̆ | ◌̆̀ | Í00CD | Ỵ1EF4 | ◌̣0323 | Ì00CC | Ĩ0128 | Ơ01A0 | |||||
| Fx | Ị1ECA | ◌̆̉ | ◌̉0309 | ◌́0301 |
VNI Encoding for DOS
The VNI encoding for use on DOS does not use separate characters for diacritics, instead replacing certain ASCII punctuation characters with tone-marked uppercase letters (compare ISO 646).
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0x | NUL | SOH | STX | ETX | EOT | ENQ | ACK | BEL | BS | HT | LF | VT | FF | CR | SO | SI |
| 1x | DLE | DC1 | DC2 | DC3 | DC4 | NAK | SYN | ETB | CAN | EM | SUB | ESC | FS | GS | RS | US |
| 2x | SP | ! | " | # | $ | % | & | ' | ( | ) | * | + | , | - | . | / |
| 3x | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | : | ; | < | = | > | ? |
| 4x | Ỵ1EF4 | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O |
| 5x | P | Q | R | S | T | U | V | W | X | Y | Z | [ | \ | ] | Á00C1 | _ |
| 6x | À00C0 | a | b | c | d | e | f | g | h | i | j | k | l | m | n | o |
| 7x | p | q | r | s | t | u | v | w | x | y | z | Ặ1EB6 | Ả1EA2 | Ã00C3 | Ạ1EA0 | DEL |
| 8x | Ấ1EA4 | ẻ1EBB | é00E9 | â00E2 | ẽ1EBD | à00E0 | ẹ1EB9 | Ầ1EA6 | ê00EA | ế1EBF | è00E8 | ề1EC1 | Ẩ1EA8 | ì00EC | ể1EC3 | ễ1EC5 |
| 9x | Ẫ1EAA | ỏ1ECF | õ00F5 | ô00F4 | ọ1ECD | ò00F2 | ố1ED1 | ù00F9 | ồ1ED3 | ổ1ED5 | ỗ1ED7 | ộ1ED9 | ủ1EE7 | ũ0169 | ụ1EE5 | ư01B0 |
| Ax | á00E1 | í00ED | ó00F3 | ú00FA | ứ1EE9 | ừ1EEB | ử1EED | ữ1EEF | ự1EF1 | ỉ1EC9 | ĩ0129 | ị1ECB | ệ1EC7 | đ0111 | Đ0110 | Ậ1EAC |
| Bx | Ắ1EAE | Ằ1EB0 | Ẳ1EB2 | Ẵ1EB4 | É00C9 | È00C8 | Ẻ1EBA | Ẽ1EBC | Ẹ1EB8 | Ế1EBE | Ề1EC0 | Ể1EC2 | Ễ1EC4 | Ệ1EC6 | Í00CD | Ì00CC |
| Cx | Ỉ1EC8 | Ĩ0128 | Ị1ECA | Ó00D3 | Ò00D2 | Ỏ1ECE | Õ00D5 | Ọ1ECC | Ố1ED0 | Ồ1ED2 | Ổ1ED4 | Ỗ1ED6 | Ộ1ED8 | Ớ1EDA | Ờ1EDC | Ở1EDE |
| Dx | Ỡ1EE0 | Ợ1EE2 | Ú00DA | Ù00D9 | Ủ1EE6 | Ũ0168 | Ụ1EE4 | Ứ1EE8 | Ừ1EEA | Ử1EEC | Ữ1EEE | Ự1EF0 | Ý00DD | Ỳ1EF2 | Ỷ1EF6 | Ỹ1EF8 |
| Ex | ả1EA3 | ã00E3 | ạ1EA1 | ấ1EA5 | ầ1EA7 | ẩ1EA9 | ẫ1EAB | ậ1EAD | ă0103 | ắ1EAF | ằ1EB1 | ẳ1EB3 | ẵ1EB5 | ặ1EB7 | ý00FD | ỳ1EF3 |
| Fx | ỷ1EF7 | ỹ1EF9 | ỵ1EF5 | ơ01A1 | ớ1EDB | ờ1EDD | ở1EDF | ỡ1EE1 | ợ1EE3 | Ô00D4 | Ơ01A0 | Ư01AF | Ă0102 | Â00C2 | Ê00CA | NBSP |
VIQR and VNI-Internet Mail
The use of Vietnamese Quoted-Readable (VIQR), a convention for writing in Vietnamese using ASCII characters, began during the Vietnam War, when typewriters were the main tool for word processing. Because the U.S. military required a way to represent Vietnamese scripts accurately on official documents, VIQR was invented for the military.[citation needed] Due to its longstanding use, VIQR was a natural choice for computer word processing, prior to the appearance of VNI, VPSKeys, VSCII, VISCII, and Unicode. It is still widely used[when?] for information exchange on computers, but is not desirable for design and layout, due to its cryptic appearance.
VIQR's main issue was the difficulty of reading VIQR text, especially for inexperienced computer users. VNI created and released a free font called VNI-Internet Mail, which utilized a variant of the VIQR notation and VNI's combining character technique to give VIQR text a more natural appearance by replacing certain ASCII punctuation with combining characters.
The following table compares VNI-Internet Mail to other codified VIQR or VIQR-like conventions.
| Diacritical mark | RFC 1456 VIQR notation | VSCII-MNEM notation | VNI Internet Mail notation | Example |
|---|---|---|---|---|
| Breve | ( | < | | | A| displayed as Ă |
| Circumflex | ^ | > | ^ | E^ displayed as Ê |
| Horn | + | * | * | U* displayed as Ư |
| Acute | ' | ' | ' | O' displayed as Ó |
| Grave | ` | ! | ` | O` displayed as Ò |
| Hook above | ? | ? | { | O{ displayed as Ỏ |
| Tilde | ~ | " | ~ | O~ displayed as Õ |
| Dot below | . | . | } | O} displayed as Ọ |
| Barred D | DD | DD | D_ | D_ displayed as Đ |
See also
- Telex (input method)
- Vietnamese Quoted-Readable (VIQR)
- VISCII
- VPSKeys
- VNLabs
- Guide to inputting Vietnamese text at the Vietnamese Wikipedia
- Vietnamese language and computers