Для GNOME создано предугадывание текста по мере набора

Жоаким Роша (Joaquim Rocha), разочаровавшись в том, что на Linux-устройстве Nokia N900 используется проприетарное решение для предугадывания текста по мере набора (eZiText), решил реализовать подобное Open Source-решение для GNOME. Результаты работы автор анонсировал в почтовой рассылке gnome-announce.Поиски свободного движка для предугадывания и автоматического дополнения текста по мере его написания привели разработчика к проекту Presage (ранее он был известен как Soothsayer). Это библиотека, написанная на C++, которая при предугадывании текста учитывает контекст. Например, в случае написания «I m» ею будут предложены не нелогичные варианты вроде «I market» и «I more», а правильные с точки зрения английского языка — например, «I must» и «I mean».Жоаким написал обертку вокруг Presage на языке Си, которая предоставляет простой API для автоматического дополнения набираемого текста. Затем он создал контекст GTK+ Input Method для контролирования пользовательского ввода в обычных текстовых виджетах GTK+ и воспользовался своей оберткой для обработки поступающего текста. Проект (метод ввода) получил название Predictor Input Method. По мере набора пользователем текста он предлагает различные варианты слов, между которыми можно выбирать. В качестве клавиатурных сочетаний автором предусмотрены: Ctrl+Enter для выбора варианта; Ctrl+Up/Down для скроллинга списка предлагаемых вариантов; Backscape для удаления предшествующего курсору символа и повторного вызова механизма предугадывания; стрелки — для перемещения курсора и отмены вариантов предугадывания. Исходный код Predictor Input Method доступен на gitorious.org. Он распространяется под лицензией GNU LGPL. Видеодемонстрация Predictor Input Method в работе — на vimeo.com.

©  nixp