From Wikipedia, the free encyclopedia
  (Redirected from VNI Character Set)
Jump to navigation Jump to search

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.


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[edit]

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.[1]

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.[2]


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[edit]

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.[3]

VNI Input Method[edit]

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.

Bảng dấu VNI: a toolbar allowing one-click access to Vietnamese diacritical 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-2trường (most conventional way)
  • 72truongtrường
  • t72ruongtrường
  • tr72uongtrường
  • tru7o72ngtrường
  • truo72ngtrường
  • truo7ng2trườ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[edit]

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[edit]

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[edit]

VNI Encoding (Windows/Unix)[edit]

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.[4]

Points 0x00 through 0x7F follow ASCII.

VNI "ANSI" Encoding (Windows/Unix)[5][6]
0 1 2 3 4 5 6 7 8 9 A B C D E F
Cx ◌̂̀ ◌̂́ ◌̂ ◌̂̃ ◌̣̂ ◌̂̉ ◌̆̀ ◌̆́ ◌̆ ◌̣̆ Ì Í ◌̣
Dx Đ Ĩ Ơ ◌̃ Ư ◌̀ ◌́ ◌̆̉ ◌̉ ◌̆̃
Ex ◌̂̀ ◌̂́ ◌̂ ◌̂̃ ◌̣̂ ◌̂̉ ◌̆̀ ◌̆́ ◌̆ ◌̣̆ ì í ◌̣
Fx đ ĩ ơ ◌̃ ư ◌̀ ◌́ ◌̆̉ ◌̉ ◌̆̃
  Combining marks for upper-case letters, others are for lower-case

VNI Encoding for Macintosh[edit]

A version intended for use on Macintosh systems, with a different arrangement (corresponding to the different arrangement between Windows-1252 and Mac OS Roman).

VNI "Mac" Encoding (Macintosh)[6]
0 1 2 3 4 5 6 7 8 9 A B C D E F
8x ◌̣̂ ◌̂̉ ◌̆́ Đ Ư ◌̆̃ ◌̂́ ◌̂̀ ◌̂ ◌̣̂ ◌̂̃ ◌̂̉ ◌̆́ ◌̆̀
9x ◌̆ ◌̣̆ í ì ◌̣ đ ĩ ơ ư ◌̃ ◌̆̉ ◌́ ◌̉ ◌̆̃
Ax ◌̀
Bx ◌̀
Cx ◌̂̀ ◌̂̃ ◌̃
Ex ◌̂ ◌̆ ◌̂́ ◌̣̆ ◌̆̀ Í ◌̣ Ì Ĩ Ơ
Fx ◌̆̉ ◌̉ ◌́
  Diacritic characters used for uppercase vowels (others are for lowercase vowels)

VNI Encoding for DOS[edit]

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).

VNI "ASCII" Encoding (DOS)[6]
0 1 2 3 4 5 6 7 8 9 A B C D E F
2x  SP  ! " # $ % & ' ( ) * + , - . /
3x 0 1 2 3 4 5 6 7 8 9 : ; < = > ?
4x 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 [ \ ] Á _
6x À 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 à DEL
8x é â à ê ế è ì
9x õ ô ò ù ũ ư
Ax á í ó ú ĩ đ Đ
Bx É È Í Ì
Cx Ĩ Ó Ò Õ
Dx Ú Ù Ũ Ý
Ex ã ă ý
Fx ơ Ô Ơ Ư Ă Â Ê á
  Differences from ASCII

VIQR and VNI-Internet Mail[edit]

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[7] VSCII-MNEM notation[8] VNI Internet Mail notation[6] 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[edit]


  1. ^ "Typing Vietnamese, Part 2: The Vietnamese Diaspora, Unicode and the Ubiquity of Unikey | Saigoneer". Retrieved 2021-04-14.
  2. ^ "Hãy thử gõ tiếng Việt với bộ gõ Telex và Number-key based mới nào!". 2018-10-25.
  3. ^ "Typing Vietnamese, Part 2: The Vietnamese Diaspora, Unicode and the Ubiquity of Unikey | Saigoneer". Retrieved 2021-04-14.
  4. ^ Ngo, Hoc Dinh; Tran, TuBinh. "5. Why Having Vietnamese Charset (Character Set – Encoding) Conversion?". Some special functions of WinVNKey.
  5. ^ "Unicode & Vietnamese Legacy Character Encodings". Vietnamese Unicode FAQs.
  6. ^ a b c d "VNI Character Sets". Vietnamese Unicode FAQs.
  7. ^ Vietnamese Standardization Working Group. "RFC 1456: Conventions for Encoding the Vietnamese Language". IETF.
  8. ^ Lunde, Ken (2009). CJKV Information Processing (2nd ed.). O'Reilly Media. pp. 47–49. ISBN 978-0-596-51447-1.

External links[edit]

VNI products[edit]