Введение
OpenVanilla (OV) — это бесплатная система ввода текста с открытым исходным кодом (метод ввода) и архитектура обработки текста. Она включает в себя коллекцию популярных методов ввода и фильтров обработки текста, выступая в качестве моста между методами ввода и операционной системой. Изначально она была разработана для обеспечения более удобного ввода текста и альтернативных методов ввода, отсутствующих в стандартном наборе Apple или лучше подходящих для пользователей, переходящих с Windows. Однако разработчики впоследствии работали над портированием на Microsoft Windows и созданием моста между OV и SCIM в X Window System. Версия для macOS совместима с Mac OS X 10.3 (Panther) и Mac OS X 10.4 (Tiger). Методы ввода OV также можно использовать через SCIM в Linux или FreeBSD. Доступна также экспериментальная версия Win32 Unicode.
История и развитие
Мотивацией для создания OpenVanilla было восполнение пробела в коммерчески доступном программном обеспечении. Apple медленно адаптировала свою операционную систему для китайского рынка. В 1987 году, спустя три года после выпуска Macintosh, Apple представила китайскую версию своего Finder (тогдашнее, впоследствии измененное название "Mac OS") – Chinese Talk. Существовало несколько конкурирующих альтернатив, но ни одна из них не получила широкого распространения. Однако Chinese Talk от Apple и последующие китайские версии Mac OS имели серьезный недостаток: хотя предлагалось несколько методов ввода китайского языка, одному из них – фонетическому методу "Zhuyin" – не хватало раскладки Eten, которая более точно соответствовала китайской фонетике. В середине 1980-х годов, до глобализации компьютерных технологий и распространения программного обеспечения, начинающие пользователи компьютеров изучали раскладку Eten как первый (и часто единственный) способ транскрибирования китайских иероглифов. Отсутствие поддержки Eten Layout в ОС Apple позволило Microsoft сохранить значительную клиентскую базу, особенно на Тайване, поскольку фонетический метод в Windows включал Eten Layout в качестве опциональной конфигурации. Mac OS X от Apple, выпущенная в 2002 году, вызвала негативную реакцию после существенного изменения другого популярного метода ввода, Cangjie, что привело к жалобам на то, что метод в OS X был слишком незнаком по сравнению с версией для OS 9. В 2003 году разработчик clkao (Chia liang Kao) портировал Chewing, популярный китайский метод ввода в мире Linux/FreeBSD, на OS X. Благодаря Xcode, инструменту разработки, входящему в состав OS X, появилась возможность создавать собственные методы ввода. Порт clkao получил название ChewingOSX и в 2004 году был передан gugod (Kang ming Liu) и zonble (Weizhong Yang) для дальнейшей поддержки. Успех этих разработчиков вдохновил lukhnos на создание VanillaInput, фонетического метода ввода, поддерживающего раскладку Eten, в июле 2004 года. Месяц спустя была добавлена поддержка Cangjie, что позволило преодолеть предполагаемые ограничения OS X. До этих достижений крупные производители ОС, такие как Apple, обычно не уделяли внимания поддержке методов ввода для языков меньшинств. Разработки, связанные с Chewing и VanillaInput, стимулировали дальнейшие исследования в области создания новых китайских методов ввода. Однако, при разработке ИМ многие компоненты (например, библиотеки) все еще не были открытым исходным кодом. В октябре 2004 года lukhnos, gugod, zonble и b6s приступили к разработке нового IM-фреймворка OpenVanilla, созданного для Mac OS X, но предназначенного для реализации и на других платформах. Целью было создание минималистичного и чистого дизайна, позволяющего пользователям создавать собственные ИМ с минимальными знаниями C++ и независимо от операционной системы.
Будущее
OpenVanilla все еще находится на ранней стадии разработки. В настоящее время выполнена предварительная реализация с использованием методов быстрого прототипирования и Objective C++. Для обеспечения платформенной независимости и большей гибкости требуется его переработка. За исключением части, написанной на Objective C, которая в основном касается структуры данных, модуль POJ IM в OpenVanilla представляет собой чистый алгоритмический код, предназначенный исключительно для сопоставления клавиатуры и преобразования слогов, без какого-либо кода пользовательского интерфейса, чтобы разработчику IM не требовались глубокие знания его внутренней структуры.