OpenVanilla

Last updated

OpenVanilla (OV) is a free, open-source text-entry (input method) and processing architecture, and includes a collection of popular input methods and text processing filters. It serves as a bridge between input methods and the operating system. It was originally designed to offer a better text-entry experience and alternative input methods not found in Apple's built-in set or suit better the needs for Windows "switchers." However, the developers have since worked on a Microsoft Windows port and a bridge between OV and SCIM on the X Window System. The macOS version is compatible with Mac OS X 10.3 (Panther) and Mac OS X 10.4 (Tiger). OV's input methods can also be used through SCIM on Linux or FreeBSD. An experimental Win32 Unicode version is also available.

Contents

History and development

The motivation for OpenVanilla was for to fill an oversight in commercially available software.

Apple was slow to localize its operating system for the Chinese market. In 1987, three years after launching Macintosh, Apple produced a Chinese version of its Finder (then the improper name of its later renamed "Mac OS"), Chinese Talk. There were several competing alternatives, but these never gained traction. However, Apple's Chinese Talk and later its Chinese version of Mac OS had a serious shortcoming: although several Chinese input methods were offered, one of them — the Phonetic "Zhuyin" method — lacked the Eten Layout, which more closely emulates Chinese phonetics.

In the mid-1980s, prior to the globalization of computing and software distribution, new computer users learned the Eten Layout as their first (and often only) way of transcribing Chinese characters. Without support for the Eten Layout on the Apple OS, Microsoft maintained a substantial customer base, especially in Taiwan, because the phonetic method in Windows included the Eten Layout as an optional configuration.

Apple's Mac OS X, launched in 2002, received negative feedback after another popular input method, Cangjie, was substantially modified, prompting complaints that the method in OS X was too unfamiliar, compared to that of OS 9.

In 2003, developer clkao (Chia-liang Kao) ported Chewing, a popular Chinese input method in Linux/FreeBSD world, to OS X. Using Xcode, a development tool included with OS X, it became possible to build customized input methods on OS X. clkao's port is called ChewingOSX and was transferred to gugod (Kang-ming Liu) and zonble (Weizhong Yang) in 2004 for further maintenance.

The success of these developers inspired another, lukhnos, to create VanillaInput, a phonetic input method that supports the Eten Layout, in July 2004. A month later, Cangjie support was also added, overcoming the perceived challenges of OS X.

Prior to these advancements, the focus of large OS producers, such as Apple, did not generally include input method support for minority languages. As a repercussion of the developments surrounding Chewing and VanillaInput, the design of new Chinese input methods was opened for further exploration. Yet, regarding the writing of an IM, many parts (libraries, for example) were still not "open" source.

In October 2004, lukhnos, gugod, zonble and b6s began to develop a new IM framework, OpenVanilla, designed on Mac OS X, but intended for implementation beyond OS X. The intention was to create a minimalist and clean design with the goal of helping users write their own IM with minimal C++ knowledge, and independent of the operating platform.

Holo and POJ input method

Holo is an example of a language that can be aided by OpenVanilla. Holo is a language spoken by more than approximately 70% of the Taiwanese population. [1] It is the de facto majority language (even though 95% of the people speak and read Mandarin, the official language, to varying competence and extent), but it lacks the same social standing as Mandarin. One contributing factor to this inequality is that it is not used in information processing, because a proper, fully functioning input method for it was not offered by major OS publishers.

A foundation upon which to build an input method for Holo exists. POJ (Pe̍h-ōe-jī) is the de facto romanization standard for the Holo language spoken in Taiwan. In use for over 150 years, POJ was used to publish a Holo Bible and many other important texts. In addition, the transcription of Holo shares similarities with Japanese: the written language can be represented in various ways (in syllabic forms or in ideographic forms). Holo can be written in either Romanized form (Pe̍h-ōe-jī) or in Chinese/Han characters. A standard IME for Japanese exists, in which text is entered phonetically, and then converted by the IME to be presented in various final forms: hiragana, katakana, kanji, or romaji. Conceivably, an analogous system could be developed for Holo using the same principles.

Demo movie

This screenshot demonstrates the different "layers" of a functional POJ input method. A better Holo input method should evolve further into the "phrase" layer, in which phrases could be automatically interpreted, and users would not be required to explicitly assign tones for each syllable.

Future

OpenVanilla is still in its nascent stage. Currently[ when? ] a preliminary implementation is done using rapid prototyping techniques and Objective-C++. To make it platform-independent and more accommodating, it needs to re-implemented. Aside from the Objective-C part that pertains mostly to data structure, OpenVanilla's POJ IM module is a pure algorithm code that deals exclusively with keyboard mapping and syllable transformation without a user interface code, so as not to require an IM developer to possess in-depth knowledge of its inner workings.

See also

Related Research Articles

Several input methods allow the use of Chinese characters with computers. Most allow selection of characters based either on their pronunciation or their graphical shape. Phonetic input methods are easier to learn but are less efficient, while graphical methods allow faster input, but have a steep learning curve.

Cocoa is Apple's native object-oriented application programming interface (API) for its desktop operating system macOS.

Big-5 or Big5 is a Chinese character encoding method used in Taiwan, Hong Kong, and Macau for traditional Chinese characters.

<span class="mw-page-title-main">Cangjie input method</span> Chinese keyboard entry system

The Cangjie input method is a system for entering Chinese characters into a computer using a standard computer keyboard. In filenames and elsewhere, the name Cangjie is sometimes abbreviated as cj.

<span class="mw-page-title-main">Xcode</span> IDE including tools for developing software for Apple platforms

Xcode is Apple's integrated development environment (IDE) for macOS, used to develop software for macOS, iOS, iPadOS, watchOS, tvOS, and visionOS. It was initially released in late 2003; the latest stable release is version 15, released on September 18, 2023, and is available free of charge via the Mac App Store and the Apple Developer website. Registered developers can also download preview releases and prior versions of the suite through the Apple Developer website. Xcode includes command-line tools that enable UNIX-style development via the Terminal app in macOS. They can also be downloaded and installed without the GUI.

<span class="mw-page-title-main">Input method</span> Input of characters not natively available

An input method is an operating system component or program that enables users to generate characters not natively available on their input devices by using sequences of characters that are available to them. Using an input method is usually necessary for languages that have more graphemes than there are keys on the keyboard.

The International Alphabet of Sanskrit Transliteration (IAST) is a transliteration scheme that allows the lossless romanisation of Indic scripts as employed by Sanskrit and related Indic languages. It is based on a scheme that emerged during the 19th century from suggestions by Charles Trevelyan, William Jones, Monier Monier-Williams and other scholars, and formalised by the Transliteration Committee of the Geneva Oriental Congress, in September 1894. IAST makes it possible for the reader to read the Indic text unambiguously, exactly as if it were in the original Indic script. It is this faithfulness to the original scripts that accounts for its continuing popularity amongst scholars.

RubyCocoa is a macOS framework that provides a bridge between the Ruby and the Objective-C programming languages, allowing the user to manipulate Objective-C objects from Ruby, and vice versa. It makes it possible to write a Cocoa application completely in Ruby as well as to write an application that mixes Ruby and Objective-C code. An Apple project called MacRuby was under development to replace RubyCocoa in 2008. A proprietary spin-off called RubyMotion was subsequently released in 2012, available for iOS, macOS and Android.

Simplified Cangjie, known as Quick or Sucheng is a stroke based keyboard input method based on the Cangjie IME but simplified with select lists. Unlike full Cangjie, the user enters only the first and last keystrokes used in the Cangjie system, and then chooses the desired character from a list of candidate Chinese characters that pops up. This method is popular in Taiwan and Hong Kong, the latter in particular.

<span class="mw-page-title-main">Dayi method</span> Chinese character input method based on components

Dayi is a system for entering Chinese characters on a standard QWERTY keyboard using a set of 46 character components. A character is built by combining up to four of the 46 characters, using a system similar to that of Cangjie, but is decomposed in stroke order instead of in geometric shape in Cangjie.

<span class="mw-page-title-main">Smart Common Input Method</span> Input method software platform containing support for more than thirty languages

The Smart Common Input Method (SCIM) is a platform for inputting more than thirty languages on computers, including Chinese-Japanese-Korean style character languages (CJK), and many European languages. It is used for POSIX-style operating systems including Linux and BSD. Its purposes are to provide a simple and powerful common interface for users from any country, and to provide a clear architecture for programming, so as to reduce time required to develop individual input methods.

<i>Pe̍h-ōe-jī</i> Romanization system of Southern Min Chinese languages

Pe̍h-ōe-jī, sometimes known as Church Romanization, is an orthography used to write variants of Hokkien Southern Min, particularly Taiwanese and Amoy Hokkien, and it is widely employed as one of the writing systems for Southern Min. During its peak, it had hundreds of thousands of readers.

<span class="mw-page-title-main">Hackintosh</span> Non-Apple computer running macOS

A Hackintosh is a computer that runs Apple's Macintosh operating system macOS on computer hardware that is not authorized for the purpose by Apple. This can also include running Macintosh software on hardware it is not originally authorized for. Benefits of "Hackintoshing" can include cost, ease of repair and piecemeal upgrade, and freedom to use customized choices of components that are not available in the branded Apple products. macOS can also be run on several non-Apple virtualization platforms, although such systems are not usually described as Hackintoshes. Hackintosh laptops are sometimes referred to as "Hackbooks".

<span class="mw-page-title-main">Pinyin input method</span> Method of entering Chinese characters into a computer

The pinyin method refers to a family of input methods based on the pinyin method of romanization.

Kotoeri (ことえり) is a discontinued Japanese language input method that came standard with OS X and earlier versions of Classic Mac OS until OS X Yosemite. Kotoeri literally means "word selection".

Bopomofo, also called Zhuyin (zhùyīn), occasionally Mandarin Phonetic Symbols, is a Chinese transliteration and writing system for Mandarin Chinese and other related languages and dialects. More commonly used in Taiwanese Mandarin, it may also be used to transcribe other varieties of Chinese, particularly other varieties of Mandarin Chinese dialects, as well as Taiwanese Hokkien. Consisting of 37 characters and five tone marks, it transcribes all possible sounds in Mandarin.

<span class="mw-page-title-main">Intelligent Input Bus</span> Framework for multilingual input

The Intelligent Input Bus is an input method (IM) framework for multilingual input in Unix-like operating-systems. The name "Bus" comes from its bus-like architecture.

<span class="mw-page-title-main">Chewing (Input Method)</span>

The Chewing (酷音) input method is an intelligent Zhuyin input method. It is one of the most popular input methods among Traditional Chinese Unix users.

<span class="mw-page-title-main">Keyboard layout</span> Arrangement of keys on a typographic keyboard

A keyboard layout is any specific physical, visual, or functional arrangement of the keys, legends, or key-meaning associations (respectively) of a computer keyboard, mobile phone, or other computer-controlled typographic keyboard.

Bengali input methods refer to different systems developed to type the characters of the Bengali script for Bengali language and others, using a typewriter or a computer keyboard.

References

  1. "Taiwan". Ethnologue.