WinVNKey stands for Windows-based Vietnamese Keyboard driver, a piece of Windows system software that extends the operating system capability to support typing Vietnamese letters, and recently, typing Han Nom characters as well as other international characters. It was first developed in 1992 by the TriChlor Software group in an effort to demonstrate that it was possible to design an eitght bit character set for Vietnamese that worked across platforms.
Windows 3.1 was released just a year before, namely in 1991. Vietnamese software developed for Windows 3.1 was very scarce because Windows development was then very difficult. WinVNKey 1.x, released into the public domain in 1992, quickly captured a large number of users all over the world for its simplicity of graphical user interface design and the intuitive typing method called VIQR. WinVNKey has since evolved into a multilingual keyboard driver. The latest release is version 5.0, which attracts a large number of non-Vietnamese users for its ability to allow users to type many national characters on any Latin-based keyboard.
The highest credit should go to the lead developer Cường Tấn Nguyễn. He was then a graduate student in Electrical Engineering at Stanford University, California. Other active contributors were Châu Vũ, Cương Minh Bùi, Học Ðình Ngô, Tom T. Trương.. Châu, working at Microsoft, provided help with programming efforts. Cương and Tom contributed to technical details. Học contributed an elegant composition algorithm that was extremely fast and very compact in size. A number of people contributed to designing VISCII fonts. Of the seven basic Viscii fonts originally released for WinVNKey 1.x , five True Type fonts (Minh Quân, Hoàng Yến, Phương Thảo, Tha Hương, U Hoài) were designed by Cương Bùi, one True Type font (Heo May) by Cường Nguyễn, and one system font (System VISCII 1.1) by Học, Cường, and members of the Vietnamese Professional Society (VPS).
Shortly after release 1.1, Hùng Phước Hồ led a massive effort over the Internet to designing hundreds of VISCII fonts named mostly after flowers and prefixed with the first two initials of VISCII (e.g., VI Thien Ly, VI Anh Dao, etc). These fonts helped publicize WinVNKey and the VISCII character set to Vietnamese users all over the world.
After Cường graduated and accepted a position at HongKong university in 1993, the project was passed to Vượng Doãn Nguyễn, a passionate Windows software programmer in the Silicon valley. Vựợng made significant contributions in improving the user interface, adding new features such as hỏi/ngã (hook-above/tilde) lookup, Vietnamese codepage conversion, and Vietnamese screen viewer. Under his tenure WinVNKey went through a number of releases 2.x, which supported both 16-bit and 32-bit platforms like Windows 3.1, Windows 95, Windows NT 3.5x/4.
TriChlor was reinforced in 1997 with Thư Nguyễn, another energetic Windows software engineer. He soon became responsible for the redesign of the WinVNKey user interface and support for Unicode. The cooperation between Thư and Vượng culminated in WinVNKey 3 and WinVNKey 2000, which was able to support Unicode in a limited number of applications.
Meanwhile, Học Ðình Ngô has been working on Unicode support for Unix/Linux-based network attached storage devices at Quantum corporation since 2001. Having developed a public-domain Vietnamese keyboard driver for the Macintosh (MacVNKey) in 1995 that supported a variety of flexible typing methods, he decided to push WinVNKey to another level of performance and features by porting the MacVNKey engine to WinVNKey and extending its capabilities and adding features to support multilingual characters. His efforts transformed the WinVNKey engine into a multilingual product that can support all character sets currently available in the world, including Unicode.
The first multilingual release is WinVNKey 4.0 beta1 in August 2002 after a year of development. It supports over 30 Vietnamese and 45 international character sets initially, but its flexible design allows users to add additional character sets without modifying the executable. It also provides a user-friendly typing method to entering multilingual characters on a US keyboard. In addition, this WinVNKey version provides a unique method to typing Hán Nôm characters for users who know Latin-based Vietnamese letters.
The January 2005 release features smart Vietnamese typing methods and smart macros that know when to combine or uncombine an accent mark depending on what the user wants: correct letter spelling, correct syllable spelling, correct word spelling, or correct pronunciation. These smart features are made possible by a compact and extremely fast internal spell-check engine. This also enables WinVNKey to support character set guessing for plain text and fast retrieval of Han Nom characters based on Vietnamese Latin-based words.
This release also supports RTF file conversion based on font names, not character sets. Each font name is associated with a conversion file in plain text. Users can edit files or create new ones to support conversion of new fonts. They can do this manually or via a set of dialogs.
In addition, WinVNKey supports keyboards that have dead keys. Users can turn all dead keys into normal keys so that accent marks can be typed after base vowels.
Han Nom support has been enhanced. The database has been split into Han and Nom separately. The raw database files are provided in plain text so that they can be edited directly to correct or delete errors or add new entries. WinVNkey provides an option to rebuild the raw database into binary for final use. Users can set up their system registry to support surrogate characters via a dialog.
This release was initially planned as the final release of WinVNKey 4.0 because all the previous releases were labeled as beta. But the changes in the UI design and features are so extensive that it is better to package it as a major release.
- Version 4.x, 5.x: Học Ðình Ngô (email@example.com, firstname.lastname@example.org)
- Version 3.x: Thư Nguyễn (email@example.com)
- Version 2.x: Vượng Doãn Nguyễn (firstname.lastname@example.org)
- Version 1.x: Cường Tấn Nguyễn (email@example.com) & Châu Vũ (firstname.lastname@example.org)
1.x & 4.x, 5.x - Học Ðình Ngô (email@example.com, firstname.lastname@example.org)
1.x - Cương Minh Bùi (email@example.com)
1.x - Tom T. Trương (Tiến Vietnamese Software)
Coordinator: Hùng Phước Hồ (firstname.lastname@example.org)
Joint effort by many people -- too numerous to acknowledge properly. Thank you all